Wie kann ich den Fehler "Reparatur ausstehend" in SFC beheben?

10

Ich versuche, ein Problem mit der Windows-Registrierung und den Windows-Diensten zu beheben. Ich habe versucht, den Befehl sfc auszuführen, aber dies ist die Fehlermeldung, die ich erhalte.

C:\Windows>sfc /scannow

Beginning system scan.  This process will take some time.    

There is a system repair pending which requires reboot to complete.  Restart
Windows and run sfc again.

C:\Windows>

Aber ich habe mehrmals neu gestartet, seit diese Nachricht zum ersten Mal angezeigt wurde, und ich habe sogar versucht, den Befehl im abgesicherten Modus und im Konsolenmodus auszuführen, aber ich erhalte immer noch dieselbe Nachricht. Wie werde ich es los?

Diese Datei befindet sich im Ordner "winxs": C: \ Windows \ winsxs \ cleanup.xml

Das ist der Inhalt:

<?xml version='1.0' encoding='utf-16'?>
<PendingTransaction >
    <POQ postAction="NoReboot">
        <DeleteFile path="\??\D:\$$DeleteMe.CbsMsg.dll.01c85bd2f5893b40.0000"/>
    </POQ>
</PendingTransaction>

Könnte das etwas sein? Ist das die Ursache? Ist es sicher, diese Datei zu löschen?

Aktualisieren

Ich habe versucht, es umzubenennen, aber der Vorgang ist fehlgeschlagen.

Ich habe die Datei explorer.exe mit erhöhten Berechtigungen ausgeführt und zum Speicherort navigiert. Ich habe die UAC-Bestätigungsaufforderung und dann den folgenden Fehler erhalten.

Destination Folder Access Denied
You need permission to perform this action

Wie benenne ich diese Datei um oder lösche sie? Muss ich cmd verwenden oder mich im abgesicherten Modus befinden, um dies zu tun?

Update 2

Ich habe den abgesicherten Modus mit der Eingabeaufforderung gestartet und versucht, den Besitz der Datei zu übernehmen und sie dann umzubenennen. Umbenennen fehlgeschlagen.

C:\Windows\winsxs>ren cleanup.xml cleanup.xml.old
Access is denied.

C:\Windows\winsxs>takeown /f "cleanup.xml"

SUCCESS: The file (or folder): "C:\Windows\winsxs\cleanup.xml" now owned by user
 "mycomputername\username".

C:\Windows\winsxs>ren cleanup.xml cleanup.xml.old
Access is denied.

C:\Windows\winsxs>

Ich habe auch folgenden Befehl erteilt.

C:\Windows\system32>icacls "C:\Windows\winsxs\cleanup.xml" /grant username:F
processed file: C:\Windows\winsxs\cleanup.xml
Successfully processed 1 files; Failed processing 0 files

C:\Windows\system32>cd ..\winsxs

C:\Windows\winsxs>ren cleanup.xml cleanup.xml.old
Access is denied.

C:\Windows\winsxs>

Ich kann es immer noch nicht umbenennen. Ich habe diese beiden letzten Befehle im normalen Windows-Modus ausgegeben. Ist das wichtig? ... Ich werde einen Neustart versuchen.

Samir
quelle
Problem behoben, indem eine Reparaturinstallation durchgeführt wird .
Samir
Ich habe das gleiche Problem, aber ich habe keine cleanup.xmlDatei, daher denke ich nicht, dass dies die Ursache ist.
BlueRaja - Danny Pflughoeft
@BlueRaja Soweit ich mich erinnere, hatte dies etwas mit Bereinigung zu tun, aber Sie benötigen diese Datei möglicherweise nicht, um zu wissen, dass Sie dieses Problem haben. Schauen Sie sich die zweite Antwort an. Der Registrierungstrick funktioniert möglicherweise für Sie. Ich habe eine Reparaturinstallation durchgeführt, wenn ich mich richtig erinnere. Also konnte ich das nicht versuchen.
Samir

Antworten:

12

Ich habe das gleiche Problem in Windows 7. Ich musste es schließlich sfcmit den folgenden Befehlen von der Reparaturkonsole ausführen (aus irgendeinem Grund wurde es D:meiner Hauptfestplatte zugewiesen und nicht C:).

del d: \ windows \ winsxs \ pending.xml
del x: \ windows \ winsxs \ pending.xml
sfc / scannow / offbootdir = D: \ offwindir = D: \ Windows

(Allerdings sfcsagt mir jetzt

Windows Resource Protection hat beschädigte Dateien gefunden, konnte jedoch einige davon nicht reparieren.

Dies hat meine Startprobleme nicht behoben. )

BlueRaja - Danny Pflughoeft
quelle
Dies beantwortet die Frage nicht wirklich. Wenn Sie eine andere Frage haben, können Sie diese stellen, indem Sie auf Frage stellen klicken . Sie können auch ein Kopfgeld hinzufügen, um mehr Aufmerksamkeit auf diese Frage zu lenken.
CharlieRB
Dies gibt keine Antwort auf die Frage. Um einen Autor zu kritisieren oder um Klarstellung zu bitten, hinterlassen Sie einen Kommentar unter seinem Beitrag.
Ramhound
1
@CharlieRB und Ramhound: nicht wahr? Ja, es beantwortet absolut die Frage. Die Frage lautet: "Wie erzwingen Sie die Ausführung von SFC, wenn dieser Fehler auftritt?" Ich habe die Lösung bereitgestellt, mit der ich SFC zum Ausführen gezwungen habe, als mir dasselbe passiert ist. Tatsächlich hat es mein zugrunde liegendes Problem nicht gelöst, aber das ist tangential zur Frage, weshalb ich es erst am Ende erwähnt habe (und einen Link zu einem anderen Thread bereitgestellt habe, um anderen wie mir zu helfen)
BlueRaja - Danny Pflughoeft
@BlueRaja - Sie haben Probleme, die für die Frage des Autors jedoch irrelevant sind. Mit anderen Worten, der zweite Teil der Antwort ist für Sammygs Problem irgendwie irrelevant. Wie ist das Verknüpfen mit Ihrer eigenen Frage für das Löschen relevant pending.xml(ist es nicht)?
Ramhound
1
@ Ramhound: Ja, das habe ich schon gesagt. Da es jedoch wahrscheinlich andere im Internet mit demselben Problem gibt, die diese Seite wie ich über Googeln finden, habe ich zusätzliche verwandte Informationen hinzugefügt, um sie in die richtige Richtung zu lenken (was auf dieser Website äußerst häufig vorkommt) . Ich verstehe nicht, wie Sie daran etwas auszusetzen haben könnten. Unabhängig davon habe ich es jetzt in Klammern gesetzt, sodass niemand es als notwendigen Teil der Antwort verwechseln kann.
BlueRaja - Danny Pflughoeft
4

Dieser Befehl soll es tun.

dism.exe /image:C:\ /cleanup-image /revertpendingactions

Dies funktioniert jedoch nur unter Windows 7 oder höher. Ich habe das Tool dism.exe in Windows Vista nicht. Ich dachte nur, ich würde es mit denen teilen, die diese Frage finden und Windows 7 haben. Ich konnte das natürlich nicht selbst testen, aber dieser Typ sagt, er könne diese nervige Fehlermeldung aus der Welt entfernen. Es könnte also einen Versuch wert sein.

Samir
quelle
Wenn ich diesen Befehl von der Reparaturaufforderung aus Error 0x80029c4a - The request is not supported
starte, erhalte
Um welche Windows-Version handelt es sich?
Samir
Windows 7 Professional Edition (legal über MSDN erhältlich)
BlueRaja - Danny Pflughoeft
Ich bin mir nicht sicher, ob dies das gleiche Problem ist. Ich habe Windows Vista verwendet. Soweit ich mich erinnere, war mein ursprüngliches Problem der Windows Audio-Dienst. Es begann nicht aus Gründen, an die ich mich jetzt nicht erinnern kann. Ich hatte also keinen Ton. Ich habe versucht, es zu reparieren, aber das gab mir ein neues Problem. Diese Frage beschreibt das neue Problem. Ich weiß also nicht, was Sie zu diesem Problem geführt hat. Alle auf dieser Website gefundenen Lösungen sind "wie besehen". Befolgen Sie nicht jeden Schritt genau, ohne ihn an Ihr spezifisches Problem anzupassen.
Samir
@sammyg - Für diesen bestimmten Befehl ist ein bestimmtes Windows 7-Update erforderlich. Könnte nützlich sein, um anzugeben, um welches es sich handelt, da das Fehlen dieser Informationen 2 Jahre später zu Verwirrung geführt hat.
Ramhound
0

Schauen Sie in der Registrierung unter nach, SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicingob ein Schlüssel namens aufgerufen wird RebootPending. Hier prüft Windows auch, ob ein Neustart aussteht.

magicandre1981
quelle
In HKLM (lokale Maschine)? ...
Samir
Ja, ich habe HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\RebootPendingund es enthält nur den Standard-String-Wert, und es ist auf nichts gesetzt. Soll ich es auf 0 setzen oder so? Oder vielleicht den Schlüssel abziehen?
Samir
"RebootPending kann nicht gelöscht werden: Fehler beim Löschen des Schlüssels."
Samir
1
Übernehmen Sie den Schlüssel: winaero.com/comment.php?comment.news.210 und löschen Sie ihn jetzt.
magicandre1981
Vielen Dank! Ich werde dieses Reg-Tool herunterladen, ich bin sicher, es wird sich irgendwann als nützlich erweisen. Es ist also wahrscheinlich gut, es in der Toolbox zu haben.
Samir