Comment récupérer une erreur de «réparation en attente» dans SFC?


10

J'essaie de résoudre un problème avec le registre et les services Windows. J'ai essayé d'exécuter la commande sfc mais voici le message d'erreur que j'obtiens?

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 que ce message est apparu pour la première fois, 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 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>

Serait-ce quelque chose? Est-ce la cause? Est-il sûr de supprimer ce fichier?

Mise à jour

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

J'ai exécuté l'explorateur.exe avec des privilèges élevés et accédé à l'emplacement. J'ai reçu l'invite de confirmation 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?

Update 2

J'ai commencé le mode sans échec avec l'invite de commande et j'ai essayé de prendre possession du fichier, puis de le renommer. Échec du changement de nom.

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 la commande suivante.

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 permettra 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.


Problème résolu, en effectuant une installation de réparation .
Samir

J'ai le même problème, mais je n'ai pas de cleanup.xmlfichier, donc je ne pense pas que ce soit la cause.
BlueRaja - Danny Pflughoeft

@BlueRaja Si je me souviens bien, cela avait quelque chose à voir avec le nettoyage, mais vous n'avez peut-être pas besoin d'avoir ce fichier pour savoir que vous avez ce problème. Jetez un oeil à la deuxième réponse. L'astuce de registre peut fonctionner pour vous. J'ai fini par faire une installation de réparation si je me souviens bien. Je n'ai donc pas pu essayer ça.
Samir

Réponses:


12

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

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

(Cependant, sfcme dit maintenant

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

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


Cela ne répond pas vraiment à la question. Si vous avez une autre question, vous pouvez la poser en cliquant sur Poser une question . Vous pouvez également ajouter une prime pour attirer davantage l'attention sur cette question.
CharlieRB

Cela ne fournit pas de réponse à la question. Pour critiquer ou demander des éclaircissements à un auteur, laissez un commentaire sous son article.
Ramhound

1
@CharlieRB et Ramhound: hein? Oui, cela répond absolument à la question. La question est "Comment forcer l'exécution de SFC quand il donne cette erreur?" J'ai fourni la solution que j'ai utilisée pour forcer SFC à s'exécuter lorsque la même chose m'est arrivée. En fait, cela n'a pas résolu mon problème sous-jacent, mais cela est tangentiel à la question, c'est pourquoi je ne l'ai mentionné qu'à la fin (et fourni un lien vers un autre fil, pour aider d'autres comme moi)
BlueRaja - Danny Pflughoeft

@BlueRaja - Vous rencontrez des problèmes mais n'a rien à voir avec la question de l'auteur. En d'autres termes, la deuxième partie de la réponse est en quelque sorte sans rapport avec le problème de sammyg. Comment le lien vers votre propre question est pertinent pour la façon dont vous supprimez pending.xml(ce n'est pas le cas).
Ramhound

1
@Ramhound: Oui, je l'ai déjà dit. Cependant, comme il y a probablement d'autres personnes sur Internet avec mon même problème, qui trouveront cette page via Google comme moi, j'ai ajouté des informations supplémentaires pour les orienter dans la bonne direction (ce qui est une courtoisie extrêmement courante sur ce site) . Je ne comprends pas comment vous pourriez vous en prendre à cela. Quoi qu'il en soit, je l'ai entre parenthèses maintenant, donc il n'y a aucun moyen que quelqu'un puisse le confondre comme une partie nécessaire de la réponse.
BlueRaja - Danny Pflughoeft

4

Cette commande est censée le faire.

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

Mais cela ne fonctionne que dans Windows 7 ou plus récent. Je n'ai pas l' outil dism.exe dans Windows Vista. Je pensais juste que je le partagerais avec ceux qui trouvent cette question et qui ont Windows 7. Je n'ai bien sûr pas pu tester cela moi-même, mais ce gars dit qu'il a réussi à supprimer ce message d'erreur ennuyeux du monde. Cela vaut donc la peine d'essayer.


Lorsque Error 0x80029c4a - The request is not supported
j'exécute

De quelle version de Windows s'agit-il?
Samir

Windows 7 Professional Edition (obtenu légalement via MSDN)
BlueRaja - Danny Pflughoeft

Je ne suis pas trop sûr que ce soit le même problème alors. J'utilisais Windows Vista. Si je me souviens bien, mon problème d'origine était avec le service Windows Audio. Cela ne commençait pas pour des raisons dont je ne me souviens pas maintenant. Je n'avais donc aucun son. J'essayais de le réparer, mais cela m'a posé un nouveau problème. Cette question décrit ce nouveau problème. Je ne sais donc pas ce qui vous a amené à ce problème. Toutes les solutions trouvées sur ce site sont «telles quelles». Ne suivez pas toutes les étapes sans les adapter à votre problème spécifique.
Samir

@sammyg - Cette commande particulière nécessite une mise à jour spécifique de Windows 7. Il pourrait être utile de préciser de qui il s'agit, car le manque de ces informations a semé la confusion 2 ans plus tard.
Ramhound

0

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


Dans HKLM (machine locale)? ...
Samir

Oui, je l'ai HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\RebootPendinget il ne contient que la valeur de chaîne par défaut, et il n'est défini sur rien. Dois-je le mettre à 0 ou quelque chose? Ou peut-être retirer la clé?
Samir

"Impossible de supprimer RebootPending: erreur lors de la suppression de la clé."
Samir

1
prenez possession de la clé: winaero.com/comment.php?comment.news.210 et supprimez-la.
magicandre1981

Merci! Je vais télécharger cet outil de reg, je suis sûr qu'il vous sera utile un jour. Il est donc probablement bon de l'avoir dans la boîte à outils.
Samir

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.