[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.
ANOTHER OLD @MICROSOFT BUG, CONSUMING SYSTEM DISK SPACE:
Solutions: @mniehaus
TXS: @SBSDiva@woodyleonhard @AdminKirsty @thurrott @maryjofoley @bdsams @mehedih_ @ruthm @etguenni @SwiftOnSecurity @pcper @MalwareJake @GossiTheDog @ryanshrout @JobCackahttps://t.co/UfqsrlzAHf
— Crysta T. Lacey (@PhantomofMobile) 25. Oktober 2018
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.
Anzeige
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:
- Den Windows Modules Installer (TrustedInstaller) Dienst stoppen.
- Die zu große Cbspersist_XX.log-Datei in \Windows\Logs\CBS löschen oder aus dem Verzeichnis verschieben.
- 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
…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!
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.
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.
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
@Sebastian
Danke für die Batch-Datei.
…ebenfalls danke für die BATCH!
ist zeile 3 korrekt? – "\cab*" – oder müsste es "\*.cab" sein?
nice weekend!
Die dritte Zeile ist korrekt:
del C:\Windows\Temp\cab*
Damit werden alle Dateien "cab_XXXX_X" im Ordner "C:\Windows\Temp\" gelöscht.
@user
danke für die info!
verstehe den Sinn von dir c:\ nicht
was soll die Ausgabe des Laufwerkinhaltes von C: (falls überhaupt als Laufwerk existent) bewirken?
Gruß
Theo
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.
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 ?
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.
Installer ist imho nichts von Windows – und in WinSxS liegen Dateien von installierter Software. Einfach im Blog nach WinSxS suchen, gibt einige Artikel mit Erklärungen zum Ordner.
Siehe auch diesen Artikel.
Das ist so nicht ganz richtig. Im versteckten Systemverzeichnis Installer legt der Microsoft Installer (msiexec) Installationspakete (MSI) bzw. Patche (MSP) ab. Diese werden für die Reparatur oder Deinstallation von per Microsoft Installer installierter Software benötigt. Löscht man diese Dateien, fragt der Microsoft Installer z.B. bei der Deinstallation von Software nach der Original-Installationsdatei. Wenn man diese dann nicht mehr hat, kann man die Software nicht mehr deinstallieren.
Stimmt – hatte ich übersehen.
Für winsxs sollte die Datenträgerbereinigung mit "Windows-Update-Bereinigung" Platz schaffen. Nicht wundern, der nächste Systemstart dauert dann etwas (hüstel) länger.
https://blogs.technet.microsoft.com/askpfeplat/2013/10/08/breaking-news-reduce-the-size-of-the-winsxs-directory-and-free-up-disk-space-with-a-new-update-for-windows-7-sp1-clients/
Kann ich bestätigen, bei der letzten Bereinigung wurden etwas mehr als 2GB freigegeben, der nächste Neustart dauerte mehr als eine Stunde.
Der Fehler ist uralt und kommt immer wieder vor und Microsoft schafft es nicht den Fehler zu beheben.
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!
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 :-}
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! :-)
"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.
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
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.
Danke für die Ergänzung. Das ist wohl auch die Erklärung, warum bei mir die cbs.log eine sehr zivile Größe hat.