Come posso recuperare l'errore "riparazione in sospeso" in SFC?


10

Sto cercando di risolvere un problema con il registro e i servizi di Windows. Ho provato a eseguire il comando sfc ma questo è il messaggio di errore che visualizzo?

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>

Ma ho riavviato diverse volte da quando è apparso per la prima volta questo messaggio e ho persino provato a eseguire il comando in modalità provvisoria e in modalità console, ma ricevo ancora lo stesso messaggio. Come posso liberarmene?

C'è questo file nella cartella winsxs: C: \ Windows \ winsxs \ cleanup.xml

Questo è il contenuto:

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

Potrebbe essere qualcosa? Questa è la causa? È sicuro eliminare questo file?

Aggiornare

Ho provato a rinominarlo ma l'operazione non è riuscita.

Ho eseguito explorer.exe con privilegi elevati e sono passato alla posizione. Ho ricevuto la richiesta di conferma UAC e quindi l'errore di seguito.

Destination Folder Access Denied
You need permission to perform this action

Come rinominare o eliminare questo file? Devo usare cmd o essere in modalità provvisoria per farlo?

Aggiornamento 2

Ho avviato la modalità provvisoria con il prompt dei comandi e ho provato a diventare proprietario del file e a rinominarlo. Rinomina non riuscita.

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>

Ho anche emesso il seguente comando.

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>

Non mi permetterà ancora di rinominarlo. Ho emesso questi ultimi due comandi in normale modalità Windows. Importa? ... Proverò a riavviare.


Problema risolto eseguendo un'installazione di riparazione .
Samir,

Sto riscontrando lo stesso problema, ma non ho un cleanup.xmlfile, quindi non penso che sia la causa.
BlueRaja - Danny Pflughoeft l'

@BlueRaja Come ricordo, aveva qualcosa a che fare con la pulizia, ma potresti non aver bisogno di avere questo file per sapere che hai questo problema. Dai un'occhiata alla seconda risposta. Il trucco del registro potrebbe funzionare per te. Ho finito per fare un'installazione di riparazione se ricordo bene. Quindi non ci sono riuscito.
Samir,

Risposte:


12

Ho lo stesso problema in Windows 7. Ho finalmente potuto sfceseguire utilizzando i seguenti comandi dalla console di riparazione (per qualche motivo, assegnato D:al mio disco principale, piuttosto che C:)

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

(Tuttavia, sfcora mi dice

Protezione risorse di Windows ha rilevato file corrotti ma non è stato in grado di risolverne alcuni.

quindi questo non ha risolto i miei problemi di avvio )


Questo non risponde davvero alla domanda. Se hai una domanda diversa, puoi farla facendo clic su Poni domanda . Puoi anche aggiungere una taglia per attirare maggiormente l'attenzione su questa domanda.
CharlieRB,

Questo non fornisce una risposta alla domanda. Per criticare o richiedere chiarimenti a un autore, lascia un commento sotto il suo post.
Ramhound,

1
@CharlieRB e Ramhound: eh? Sì, risponde assolutamente alla domanda. La domanda è "Come si forza l'esecuzione di SFC quando genera questo errore?" Ho fornito la soluzione che ho usato per forzare l'esecuzione di SFC quando mi è successa la stessa cosa. In realtà non ha risolto il mio problema di fondo, ma è tangenziale alla domanda, motivo per cui l'ho menzionato solo alla fine (e fornito un collegamento a un altro thread, per aiutare gli altri come me)
BlueRaja - Danny Pflughoeft

@BlueRaja - Hai dei problemi, tuttavia, è irrilevante per la domanda dell'autore. In altre parole, la seconda parte della risposta è in qualche modo irrilevante per il problema di Sammyg. In che modo il collegamento alla tua domanda è rilevante per come elimini pending.xml(non lo è).
Ramhound,

1
@Ramhound: Sì, l'ho già detto. Tuttavia, poiché probabilmente ci sono altri su Internet con il mio stesso problema, che troveranno questa pagina tramite Google come ho fatto io, ho aggiunto ulteriori informazioni correlate per indirizzarli nella giusta direzione (che è una cortesia estremamente comune su questo sito) . Non capisco come potresti averne colpa. Indipendentemente da ciò, l'ho tra parentesi ora, quindi non c'è modo che qualcuno possa confonderlo come parte necessaria della risposta.
BlueRaja - Danny Pflughoeft,

4

Questo comando dovrebbe eseguirlo.

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

Ma questo funziona solo su Windows 7 o versioni successive. Non ho lo strumento dism.exe in Windows Vista. Ho solo pensato di condividerlo con coloro che trovano questa domanda e che hanno Windows 7. Ovviamente non sono stato in grado di testarlo da solo, ma questo ragazzo dice che è stato in grado di rimuovere questo fastidioso messaggio di errore dal mondo. Quindi potrebbe valere la pena provare.


Quando Error 0x80029c4a - The request is not supported
eseguo

Quale versione di Windows è?
Samir,

Windows 7 Professional Edition (ottenuto legalmente tramite MSDN)
BlueRaja - Danny Pflughoeft

Non sono troppo sicuro che questo sia lo stesso problema allora. Stavo usando Windows Vista. Come ricordo, il mio problema originale era con il servizio Audio di Windows. Non stava iniziando per motivi che non ricordo ora. Quindi non avevo suono. Stavo tentando di ripararlo, ma questo mi ha dato un nuovo problema. Questa domanda descrive questo nuovo problema. Quindi non so cosa ti abbia portato a questo problema. Tutte le soluzioni trovate su questo sito sono "così come sono". Non seguire ogni passo in modo blando senza adattarli al tuo problema specifico.
Samir,

@sammyg: questo particolare comando richiede un aggiornamento specifico di Windows 7. Potrebbe essere utile specificare quale sia, dal momento che la mancanza di tali informazioni ha portato alla confusione 2 anni dopo.
Ramhound,

0

cerca nel registro SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicingse vedi una chiave chiamata RebootPending. Questo è il luogo in cui Windows controlla anche se c'è un riavvio in sospeso.


In HKLM (macchina locale)? ...
Samir,

Sì, ce l'ho HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\RebootPendinge contiene solo il valore di stringa predefinito e non è impostato su nulla. Devo impostarlo su 0 o qualcosa del genere? O forse rimuovere la chiave?
Samir,

"Impossibile eliminare RebootPending: errore durante l'eliminazione della chiave."
Samir,

1
diventa proprietario della chiave: winaero.com/comment.php?comment.news.210 e ora eliminala.
magicandre1981,

Grazie! Scaricherò quello strumento reg, sono sicuro che tornerà utile qualche volta. Quindi è probabilmente bello averlo nella casella degli strumenti.
Samir,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.