Die Nachricht "Systemreparatur ausstehend" kann durch mindestens zwei sehr unterschiedliche Dinge verursacht werden:
- Es ist tatsächlich eine Systemreparatur in Arbeit, die vor der Ausführung abgeschlossen oder rückgängig gemacht werden muss
sfc
. sfc
versucht, Systemdateien auf dem falschen Laufwerk zu beheben.
In meinem Fall traten beide Probleme auf.
Ich musste zuerst Problem Nr. 2 ansprechen. Der korrekte Befehl lautet:
sfc /scannow /offbootdir=X:\ /offwindir=Y:\Windows
Woher:
X
ist das Systemvolume (oft als "System Reserved" bezeichnet) Y
ist das Volume, auf dem Windows installiert ist
Sie müssen verwenden, diskpart
um herauszufinden, was die richtigen Buchstaben sind . Selbst wenn normalerweise Windows installiert ist C:\
(was häufig der Fall ist), können Laufwerkbuchstaben in der Windows-Wiederherstellungsumgebung (WRE) unterschiedlich zugewiesen werden.
Von der Eingabeaufforderung in der WRE:
> diskpart DISKPART > list volume Volume ### Ltr Label Fs Type Size Status Info ---------- --- ----------- ----- ----------- ------- --------- ------- Volume 0 C Old Games NTFS Partition 465 GB Healthy Volume 1 D NTFS Partition 59 GB Healthy Volume 2 FAT32 Partition 100 MB Healthy Hidden Volume 3 E Storage NTFS Partition 931 GB Healthy Volume 4 F Games NTFS Partition 476 GB Healthy Volume 5 G Traffic NTFS Partition 297 GB Healthy
Aufgrund ihrer Größe erkenne ich Volume 1 als primäres Volume, auf dem Windows installiert ist (auch bekannt als gewöhnliches C:
Laufwerk, eine 60-GB-SSD), und Volume 2 als Systemstart-Volume (häufig als "System Reserved" bezeichnet) immer 100 MB). Wichtig ist, dass Volume 2 keinen Laufwerksbuchstaben hat, was bedeutet, dass wir im sfc
Befehl nicht darauf verweisen können . Wir können einen Laufwerksbuchstaben so vergeben:
DISKPART > select volume 2 DISKPART > assign letter=b: # now that we're done, exit back to DOS DISKPART > exit
Jetzt können wir sfc
mit den korrekten Werten laufen :
sfc /scannow /offbootdir=B:\ /offwindir=D:\windows\
Zu diesem Zeitpunkt erhalte ich immer noch den Fehler "Systemreparatur anstehend", daher müssen wir ihn dism
beheben. Der Befehl lautet:
dism /image:X:\ /cleanup-image /revertpendingactions
Wo X
ist das Volume, auf dem Windows installiert ist. Wir wissen bereits, dass D:
wir laufen können:
dism /image:D:\ /cleanup-image /revertpendingactions
Um dism
den Job abzuschließen, müssen Sie einen Neustart durchführen.
Dies hat zwar meine Bootprobleme nicht behoben, es konnte jedoch sfc
ausgeführt werden.
HINWEIS : Wiederum können Laufwerksbuchstaben, die sich in der WRE unterscheiden sfc
, die Protokollierung beeinträchtigen, bei der versucht wird, sich anzumelden C:\Windows\Logs\CBS\CBS.log
. Wenn Ihr Windows-Volume wie ich C:
in der WRE nicht zugewiesen ist, können Sie den Protokollpfad mit diesem Befehl vorübergehend überschreiben:
> set WINDOWS_TRACING_LOGFILE=D:\Windows\Logs\CBS\CBS.log
(Wieder mit einem Laufwerksbuchstaben, das in der Beratung ausgewählt wurde diskpart
.)
Die Auswirkung dieses Befehls hält nur an, bis Sie die Eingabeaufforderung verlassen. Außerdem sfc
werden keine Verzeichnisse für Sie erstellt . Wenn Sie also die Protokolle an einem anderen Ort speichern möchten C:\i_just_made_this_folder_up\mylog.txt
, müssen Sie den i_just_made_this_folder_up
Ordner vor der Ausführung manuell erstellen sfc
.