Como eu me recupero do erro “reparo pendente” no SFC?

9

Estou tentando corrigir um problema com o registro e os serviços do Windows. Eu tentei executar o comando sfc mas esta é a mensagem de erro que recebo?

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>

Mas eu reiniciei várias vezes desde que essa mensagem apareceu pela primeira vez, e até tentei executar o comando no modo de segurança e no modo de console, mas ainda recebo a mesma mensagem. Como me livrar disso?

Existe este arquivo na pasta winsxs: C: \ Windows \ winsxs \ cleanup.xml

Este é o conteúdo:

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

Isso poderia ser algo? Essa é a causa? É seguro excluir este arquivo?

Atualizar

Eu tentei renomear, mas a operação falhou.

Eu executei o explorer.exe com privilégios elevados e naveguei para o local. Recebi o aviso de confirmação do UAC e, em seguida, o erro abaixo.

Destination Folder Access Denied
You need permission to perform this action

Como renomeio ou excluo este arquivo? Preciso usar o cmd ou estar no modo de segurança para fazer isso?

Atualização 2

Eu iniciei o modo de segurança com o prompt de comando e tentei apropriar-me do arquivo e renomeá-lo. Renomear falhou.

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>

Também emiti o seguinte 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>

Ainda não permitirá que eu o renomeie. Eu emiti esses dois últimos comandos no modo normal do Windows. Isso importa? ... Vou tentar reiniciar.

    
por Samir 16.06.2013 / 21:55

4 respostas

10

Eu tenho o mesmo problema no Windows 7. Eu finalmente tenho sfc para executar usando os seguintes comandos do console de reparo (por algum motivo, ele atribuiu D: ao meu disco principal, em vez de C: )

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

(No entanto, sfc agora me diz

Windows Resource Protection found corrupt files but was unable to fix some of them.

, de modo que isso não corrigiu meus problemas de inicialização )

    
por 08.07.2015 / 22:34
4

Este comando deve fazê-lo.

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

Mas isso só funciona no Windows 7 ou mais recente. Não tenho a ferramenta dism.exe no Windows Vista. Eu só pensei em compartilhá-lo com aqueles que encontrarem essa pergunta e com o Windows 7. Eu obviamente não pude testar isso sozinho, mas esse cara diz que ele foi capaz de remover essa mensagem de erro irritante do mundo. Então pode valer a pena tentar.

    
por 17.06.2013 / 11:57
0

procure no registro em SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing se você vir uma chave chamada RebootPending . Este é o local onde o Windows também verifica se há uma reinicialização pendente.

    
por 17.06.2013 / 06:14
-1

Isso funcionou para mim:

sfc /SCANNOW /OFFBOOTDIR=c:\ /OFFWINDIR=d:\Windows

Fonte: link

    
por 14.12.2015 / 06:20