web-dev-qa-db-fra.com

Comment récupérer d'une erreur "réparation en attente" dans SFC?

J'essaie de résoudre un problème de registre et de services Windows. J'ai essayé d'exécuter la commande sfc mais c'est le message d'erreur que je reçois?

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>

Mais j'ai redémarré plusieurs fois depuis la première apparition de ce message et j'ai même essayé d'exécuter la commande en mode sans échec et en mode console, mais je reçois toujours le même message. Comment puis-je m'en débarrasser?

Il y a ce fichier dans le dossier winsxs: C:\Windows\winsxs\cleanup.xml

C'est son contenu:

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

Cela pourrait-il être quelque chose? Est-ce la cause? Est-il prudent de supprimer ce fichier?

Mettre à jour

J'ai essayé de le renommer mais l'opération a échoué.

J'ai couru l'Explorer.exe avec des privilèges élevés et ai navigué jusqu'à l'emplacement. J'ai reçu l'invite de confirmation de l'UAC, puis l'erreur ci-dessous.

Destination Folder Access Denied
You need permission to perform this action

Comment renommer ou supprimer ce fichier? Dois-je utiliser cmd ou être en mode sans échec pour le faire?

Mise à jour 2

J'ai lancé le mode sans échec avec invite de commande et j'ai essayé de prendre possession du fichier, puis de le renommer. Renommer a échoué.

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>

J'ai également émis le commandement suivant.

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>

Cela ne me permet toujours pas de le renommer. J'ai émis ces deux dernières commandes en mode Windows normal. Est-ce important? ... Je vais essayer de redémarrer.

9
Samir

J'ai le même problème dans Windows 7. J'ai finalement eu sfc à exécuter à l'aide des commandes suivantes à partir de la console de réparation (pour une raison quelconque, il a attribué D: à mon disque principal, plutôt que C:)

 de d:\windows\winsxs\en attente.xml 
 de x:\windows\winsxs\en attente.xml 
 sfc/scannow/offbootdir = D:\offwindir = D: \Les fenêtres

(Cependant, sfc me dit maintenant

La protection des ressources Windows a trouvé des fichiers corrompus mais n'a pas pu en réparer certains.

donc cela n'a pas corrigé mes problèmes de démarrage )

Cette commande est censée le faire.

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

Mais cela ne fonctionne que sous Windows 7 ou plus récent. Je n'ai pas l'outil dism.exe dans Windows Vista. Je pensais simplement que je le partagerais avec ceux qui trouvent cette question et qui ont Windows 7. Je n’étais bien sûr pas en mesure de le tester moi-même, mais ce gars dit avoir réussi à supprimer ce message d'erreur gênant hors du monde. Donc, ça vaut peut-être la peine d'essayer.

4
Samir

regardez dans le registre sous SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing si vous voyez une clé appelée RebootPending. C'est ici que Windows vérifie également s'il y a un redémarrage en attente.

0
magicandre1981