Windows 7: CBS.log-Bug müllt Festplatte voll

win7[English]In Windows 7 (und anderen Versionen) gibt es einen CBS.log-Bug, der Microsoft seit Jahren bekannt sein sollte. Eine Windows-Komponente schreibt Daten in eine Log-Datei, die dadurch sehr groß werden kann. Eine Funktion zum Komprimieren der Log-Datei versagt aber, wenn diese Datei zu groß wird.


Anzeige

Woody Leonhard hat das Problem (nach einem Leserhinweis) auf ComputerWorld behandelt. Das Problem tritt unter Windows 7, Windows 8, Windows Server 2008 R2 und möglicherweis unter anderen Versionen auf. Ich bin über Twitter darauf hingewiesen worden.

Das Log-File-Größen-Problem

Das Problem: Bei manchen Nutzern geht Windows 7 irgendwann der freie Speicherplatz auf dem Systemlaufwerk aus, weil in C:\Windows\TEMP hunderte Dateien geschrieben werden. Ursache ist ein Bug, der Microsoft seit 2015 bekannt sein muss. Ein Nutzer beschreibt das Problem in Microsoft Answers in diesem Forenthread.

Component-Based Servicing (cbs.log) causes all drive space to be consumed

Because I’ve seen this question asked in many places and not answered, I thought I’d post my issue and resolution here.  I regard this as a Bug, but I’m not invested enough to deal with the support incident process.

I’ve had repeated instances where a Windows 7 x64 client runs out of hard drive space, and found that C:\Windows\TEMP is being consumed with hundreds of files with names following the pattern “cab_XXXX_X”, generally 100 MB each, and these files are constantly generated until the system runs out of space.  Upon removing the files & rebooting, the files start being generated again.

I’ve found that this is caused by large Component-Based Servicing logs.  These are stored at C:\Windows\Logs\CBS.  The current log file is named “cbs.log”.  When “cbs.log” reaches a certain size, a cleanup process renames the log to “CbsPersist_YYYYMMDDHHMMSS.log” and then attempts to compress it into a .cab file.

However, when the cbs.log reaches a size of 2 GB before that cleanup process compresses it, the file is to large to be handled by the makecab.exe utility.  The log file is renamed to CbsPersist_date_time.log, but when the makecab process attempts to compress it the process fails (but only after consuming some 100 MB under \Windows\Temp).  After this, the cleanup process runs repeatedly (approx every 20 minutes in my experience).  The process fails every time, and also consumes a new ~ 100 MB in \Windows\Temp before dying.  This is repeated until the system runs out of drive space.

In Kurzform: Das Windows-Laufwerk wird mit Einträgen im Temp-Ordner voll gemüllt, weil Protokolldateien zu groß werden. Die Component-Based Servicing-Funktion protokolliert Ereignisse unter C:\Windows\Logs\CBS in cbs.log. Erreicht diese Datei eine bestimmte Größe, wird die Datei in CbsPersist_YYYYMMDDHHMMSS.log umbenannt. Erreicht die Datei CBS.log in C:\Windows\Logs\CBS 2 GByte, versucht Windows diese Datei mit makecab.exe als CAB-Datei zu komprimieren. Das Problem: makecab.exe kann aber keine Datei größer 2 GByte komprimieren. Beim Versuch legt das Tool eine 100 MByte große Datei unter \Windows\Temp an und scheitert anschließend nach ca. 20 Minuten mit der Kompression. Das wird dann solange wiederholt, bis das Systemlaufwerk voll ist.

Die CBS.log löschen

Wer in dieses Problem läuft, kann nur versuchen, die CBS.log manuell zu löschen. Dazu sind folgende Schritte erforderlich:

  1. Den Windows Modules Installer (TrustedInstaller) Dienst stoppen.
  2. Die zu große Cbspersist_XX.log-Datei in \Windows\Logs\CBS löschen oder aus dem Verzeichnis verschieben.
  3. Den Windows Modules Installer (TrustedInstaller) Dienst neu starten.

Ist die Festplatte bereits voll gemüllt, kann man mit Windows PE booten und die Dateien in \Windows\Temp löschen. Woody Leonhard beschreibt die Schritte hier etwas detaillierter. Nach einem Neustart sollte das Schreiben der 100 MByte großen Dateien in \Windows\Temp durch makecab.exe unterbleiben.


Anzeige
Dieser Beitrag wurde unter Windows 7, Windows 8, Windows Server abgelegt und mit , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

25 Antworten zu Windows 7: CBS.log-Bug müllt Festplatte voll


  1. Anzeige
  2. chriscrosser sagt:

    …hatte vor längerer zeit mal probleme mit der cbs.log – die war über 2GB groß…
    konnte die glücklicherweise damals entfernen (win7) – seitdem schaue ich vor jedem backup in den ordner “C:\Windows\Logs\CBS” – sollte der viel zu groß sein, wird gelöscht.
    momentan befinden sich dort 6 dateien mit einer größe von insgesamt 33,8 MB
    bei mir ist seitdem glücklicherweise alles ok!

  3. Harald.L sagt:

    Exakt das Problem hatte ich Anfang dieser Woche auf einem Mini-PC mit fast nacktem Win7x64 ohne Maus/Tastatur/Bildschirm wo nur ein Dienst für ein Videokonferenz-System seit Jahren läuft. Windows-Updates installiert er automatisch, ist aktuell. Da schaut eigentlich niemand drauf aber diese Woche fiel mir im TeamViewer, wo der Rechner bei uns in der Firma in der Liste der gemeinsamen Computer angezeigt wird auf, daß TeamViewer bei dem ein rotes Warndreieck mit Ausrufezeichen anzeigte. Mit dem Hinweis “Festplatte fast voll”.

    Und tatsächlich war es der Temp-Ordner mit ca. 9000 solchen Dateien wie oben beschrieben. Hatte zuerst einen Remote-Hack befürchtet da der Rechner Internetzugang hat, sich aber niemand lokal an dem anmeldet. Das Ausmisten der CBS-Logs (ich hab gleich ALLE gelöscht) hat geholfen und bis jetzt ist der Fehler nicht zurückgekehrt. Die Festplatte ist jetzt wieder fast leer.

    Nebenbei fand ich das nett vom TeamViewer-Host (wir sind noch auf Version 11) daß er so ein Problem meldet, habe ich erstmalig gesehen.

  4. Anzeige

  5. Christian H sagt:

    Ich kenne das Problem bei einigen unserer Firmen Windows 7 Ent x64 Rechner. Hier wollte sich eines der Windows Updates nicht installieren (waren verschiedene KB Updates,hab darum keine Nummern).
    Wir haben dann die dicken Log Dateien und die bereits heruntergeladenen Windows Updates gelöscht und dann als lokaler Administrator die Updates gesucht und installiert. Falls dies auch nicht klappte, haben wir uns die Updates als CAB entpackt und per DISM installiert.

  6. Sebastian sagt:

    Guten Morgen,

    so ein Zufall – hatte genau das Problem diese Woche.

    Die Batch-Datei macht das alles recht einfach zum Beheben:

    dir c:\
    net stop TrustedInstaller
    del C:\Windows\Temp\cab*
    del C:\Windows\logs\CBS\*.cab
    del C:\Windows\logs\CBS\*.log
    net start TrustedInstaller
    dir c:\
    pause

    Jetzt läuft der PC wieder einwandfrei.

    Schönes Wochenende

  7. Hans Thölen sagt:

    Heute habe ich in Windows Log den Ordner CBS gelöscht.
    Danach ist in Windows Update der Ordner ” ausgeblendete
    Updates ” restlos leer. Jetzt warte ich ab was passiert, wenn
    ich später das neue Definitionsupdate für den MSE suche.
    Vielleicht werden dann wieder alle diese 32 Updates zum
    Herunterladen und zur Installation angeboten.

  8. Hans Thölen sagt:

    Soeben habe ich über Windows Update nach Definitions
    Updates für den MSE gesucht. Ich bekam auch 1 Update.
    Danach war der Ordner CBS wieder unter Windows Log
    vorhanden. Unter Windows Update waren in dem Ordner
    ” ausgeblendete Updates ” alle von mir ausgeblendeten
    Updates wieder vorhanden. Gibt es dafür eine Erklärung ?

  9. Anzeige

  10. Bernard sagt:

    Bei mir werden unter Windows 7 (64bit) die Verzeichnisse winsxs und Installer immer grösser.

    Mehrmaliges Ausführen von “Datenträgerbereinigung” und “Systemdateien bereinigen” führt zu nichts.

    Das System ist seit Mai 2012 in Benutzung. Es werden nur Security only-Patches installiert.

  11. Volker sagt:

    Der Fehler ist uralt und kommt immer wieder vor und Microsoft schafft es nicht den Fehler zu beheben.

  12. wufuc_MaD sagt:

    mmmhhhh

    welche makecab.exe denn? die 97KB große oder die 115KB große? hab einfach mal in meiner uni-prod win 7 vm (uninfected, nur mit paketen von vor ende 2016 ohne fakehashes installiert). doch nun fällt mir ein der rechner da vorne, dass mir die ssd ganz schön voll vorkam, habs bis gleich irgnoriert.. ich wette microcrap bietet frequent violently einfach mal die 32 bit version an..

    die man ja deeskalierend mit nem win32_4gb_patch behandeln könnte :-)

    werds sofort untersuchen. dr****windows..

    das ist nicht ms, das sind hochkriminelle sittenlose verräter / schwerverbrecher / schädlinge im globalen sinne!

    • wufuc_MaD sagt:

      total langweilig, wie kommt die 32bit version in den syswow64 ordner?

      und “seltsamerweise” haben jetzt die zwei dateien (system32 und sysWOW64) die gleichen timestamps.. in der vm weisen die zwei versionen ein unterschiedliches änderungsdatum auf (in juli 2009 zurückgefaked… nicht dass mir noch einer.. !)

      ich ersetz die mal durch das original und beobachte wie windows beobachtet was ich beobachte. (der spacesniffer ist in einer tour aktiv.. logloglog :-}

      • wufuc_MaD sagt:

        also: “_______________”

        ich machs kürzer als!! ich nenne nicht mal die

        “POTENZIELL UNERWÜNSCHTE SOFTWARE. Wenn es aktiviert ist, sucht Windows Defender auf Ihrem Computer nach „Spyware“, „Adware“ und anderer potenziell unerwünschter Software. Wird potenziell unerwünschte Software gefunden, fragt die Software Sie, ob Sie sie ignorieren, deaktivieren (in Quarantäne verschieben) oder entfernen möchten. Jede potenziell unerwünschte Software mit dem Schweregrad „hoch“ oder „schwerwiegend“ wird nach dem Scanvorgang automatisch entfernt, sofern Sie die Standardeinstellung nicht ändern. Das Entfernen oder Deaktivieren von potenziell unerwünschter Software kann dazu führen, dass
        · andere Software auf Ihrem Computer die Funktion einstellt oder
        · Sie eine Lizenz zur Verwendung anderer Software auf Ihrem Computer verletzen.
        Durch das Verwenden dieser Software ist es möglich, dass Sie auch Software entfernen oder deaktivieren, bei der es sich nicht um potenziell unerwünschte Software handelt.”

        “MICROSOFT .NET: VERGLEICHSTESTS. Die Software enthält eine oder mehrere Komponenten von .NET Framework („.NET-Komponenten“). Sie sind berechtigt, interne Vergleichstests mit diesen Komponenten durchzuführen. Sie sind berechtigt, die Ergebnisse von Vergleichstests mit diesen Komponenten offenzulegen, vorausgesetzt, dass Sie die unter go.microsoft.com/fwlink/?LinkID=66406 dargelegten Bedingungen einhalten. Wenn Sie solche Ergebnisse von Vergleichstests offenlegen, hat Microsoft ungeachtet anderer Verträge, die Sie möglicherweise mit Microsoft abgeschlossen haben, das Recht, die Ergebnisse von Vergleichstests, die Microsoft mit !!!IHREN!!! Produkten durchführt, die mit der entsprechenden .NET-Komponente im Wettbewerb stehen, offenzulegen, vorausgesetzt, Microsoft hält die gleichen unter go.microsoft.com/fwlink/?LinkID=66406 dargelegten Bedingungen ein.”

        gute nacht! :-)

      • oli sagt:

        “total langweilig, wie kommt die 32bit version in den syswow64 ordner?”

        Bei 64bit Windosen gilt:
        syswow64 = 32bit
        system32 = 64bit

        Muss man sich so vorstellen, dass syswow64 (in der Registry heißt der Pfad für 32bit Programmeinstellungen z.B. WOW6432Node) mit der 32bit-Emulation von 64bit-Windosen zusammenhängt. Von daher gibts den Ordner syswow64 auch nur auf 64bit-Windows.

        • wufuc_MaD sagt:

          das ist vollkommen richtig!

          das ding ist, ich hatte mich in diesen systemordnern auf einer win7 maschine umgesehen (was ich generell bei windows und regelmäßig tue) und dabei eben das typische verhalten erlebt, inhalt von dateien wird leergewischt, nachdem man x berechtigungshürden genommen hat. ich habs dann für überflüssig gehalten mein geschreibsel zu korrigieren und musste mich sowieso entscheiden, um nicht den webspace des blogs zu sprengen :-)

          die zwei zitate stammen aus einer win7 vm deren install image 1 jahr alt ist, die noch “nie” (sicherungspunkte, zurücksetzen mittels appliance) internet gesehen hat. und doch ist die license.rtf im system32 ordner erstaunlich.. aktuell. kann ich jedem empfehlen da mal reinzuschauen, ist die EULA nichts gegen, und außerdem veraltet, selbst bei der 1809-installation..

          ganz besonders will ich wegen dem ggf. etwas verwirrenden .net teil an die schrottupdates vom juli erinnern “läuft ihr windows?? dann is alles gut!”

          und folgendes ;-)
          ps://github.com/AndyFul/ConfigureDefender

  13. Fritz sagt:

    Der Fehler ist mir auch seit Jahren bekannt.

    Windows stößt beim Systemstart, falls die aktuelle cbs.log größer als ein Schwellwert (15 MB?) ist, eine automatische Komprimierung und Archivierung der Datei an. Archiviert wird in den gleichen Ordner in die CbsPersist_[Datum-Uhrzeit].cab

    Wird nun aber Windows 7 über viele Tage, Wochen oder gar Monate nicht neu gestartet (z.B nur in den Energiesparmodus gelegt) und wird dabei die aktuelle cbs.log größer als 2 GB, stürzt nach dem nächsten Neustart beim Archivieren das Packprogramm makecab.exe ab und die Archivierung versagt wie oben beschrieben…

    Die bereits erfolgreich komprimierten CbsPersist_*.cab Dateien sind unproblematisch. Hier löscht Windows selbstständig alle bis auf die 5 neuesten.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.