我正在尝试修复 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 模式下发出了最后两个命令。这有关系吗?...我会尝试重新启动。
答案1
我在 Windows 7 中遇到了同样的问题。我最终sfc
从修复控制台使用以下命令运行(由于某种原因,它被分配D:
到我的主磁盘,而不是C:
)
删除 d:\windows\winsxs\pending.xml 删除 x:\windows\winsxs\pending.xml sfc /scannow /offbootdir=D:\ offwindir=D:\Windows
(然而,sfc
现在告诉我
Windows 资源保护发现了损坏的文件,但无法修复其中一些。
所以这没有解决我的启动问题)
答案2
答案3
在注册表中查看SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing
是否看到名为的键RebootPending
。Windows 还会在此处检查是否有待处理的重新启动。