SFC에서“수리 보류”오류를 어떻게 복구합니까? This process will take some time. There

Windows 레지스트리 및 서비스 관련 문제를 해결하려고합니다. sfc 명령을 실행하려고 시도했지만 이것이 오류 메시지입니까?

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>

그러나이 메시지가 처음 나타난 이후로 여러 번 재부팅했으며 안전 모드와 콘솔 모드에서 명령을 실행하려고 시도했지만 여전히 동일한 메시지가 표시됩니다. 어떻게 제거합니까?

winsxs 폴더에이 파일이 있습니다. C : \ Windows \ winsxs \ cleanup.xml

이것은 내용입니다 :

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

이것이 뭔가가 될 수 있습니까? 이것이 원인입니까? 이 파일을 삭제해도 안전한가요?

최신 정보

이름을 바꾸려고했지만 작업이 실패했습니다.

높은 권한으로 explorer.exe를 실행하고 해당 위치로 이동했습니다. UAC 확인 메시지가 표시되면 아래 오류가 발생합니다.

Destination Folder Access Denied
You need permission to perform this action

이 파일의 이름을 바꾸거나 삭제하려면 어떻게합니까? cmd를 사용해야합니까, 아니면 안전 모드에 있어야합니까?

업데이트 2

명령 프롬프트로 안전 모드를 시작하고 파일의 소유권을 얻은 다음 이름을 바꾸려고했습니다. 이름을 바꾸지 못했습니다.

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>

나는 또한 다음 명령을 내렸다.

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>

여전히 이름을 바꿀 수 없습니다. 이 마지막 두 명령을 일반 Windows 모드에서 실행했습니다. 문제가 되나요? … 재부팅을 시도합니다.



답변

Windows 7에서도 동일한 문제가 발생했습니다. 마침내 sfc복구 콘솔에서 다음 명령을 사용하여 실행했습니다 (어떤 이유로 )가 D:아닌 주 디스크에 할당 되었습니다.C:

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

(그러나 sfc이제 말해

Windows Resource Protection이 손상된 파일을 발견했지만 일부 파일을 수정할 수 없습니다.

그래서 이것은 내 시작 문제를 해결하지 못했습니다 )


답변

이 명령은 그렇게해야합니다.

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

그러나 이것은 Windows 7 이상에서만 작동합니다. Windows Vista 에는 dism.exe 도구 가 없습니다 . 나는이 질문을 찾은 사람들과 Windows 7을 가지고있는 사람들과 그것을 공유 할 것이라고 생각했습니다. 나는 이것을 직접 테스트 할 수는 없었지만, 이 사람 은이 성가신 오류 메시지를 세계에서 제거 할 수 있다고 말합니다. 따라서 시도해 볼 가치가 있습니다.


답변

SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing이라는 키가 표시되면 레지스트리 를 확인하십시오 RebootPending. 이곳은 Windows가 재부팅 대기 중인지 확인하는 곳입니다.