sfc /scannow 在 PE 里失败:目标盘
在 PE 中用 sfc 离线扫描已装系统报「无法打开文件」「找不到组件」时的原因:没指定离线目标盘、目标盘非 NTFS、WinSxS 被压缩占用等,给出正确命令。
简短答案
PE 里跑 sfc /scannow 失败,几乎都是没告诉 sfc 系统装在哪个盘——PE 本身是 WinPE 内存系统,不指定离线目录它会找不到目标。正确姿势是 sfc /offbootdir + /offwindir 两参数。
现象对照
| 报错 | 原因 |
|---|---|
| 「无法继续,文件正在被使用」 | 目标系统分区未卸载干净/有句柄占用 |
| 「找不到系统安装」「0x80070490」 | 参数指向了错盘(如指到 WinPE 自身) |
| 扫描很久后提示「发现损坏但无法修复」 | 缺组件源,需加 /offservicedir 指向 install 源 |
正确命令
进 微PE 工具箱 或任何带命令行的 PE,确认系统盘在 PE 里是 D:(假设),执行:
sfc /scannow /offbootdir=D:\ /offwindir=D:\Windows
需要组件源时补第三项(U 盘里放了 ISO 并挂载后):
sfc /scannow /offbootdir=D:\ /offwindir=D:\Windows /offservicedir=E:\sources
参数名以该 Windows 版本的 sfc 帮助(
sfc /?)为准;PE 工具箱清单见 PE 工具箱条目。
仍失败的三个检查点
- 目标盘是否 NTFS(FAT 目标系统无法修复 WinSxS)。
- 有没有先跑
chkdsk D: /f修完文件系统错误再 sfc。 - 「无法修复」时补
/offservicedir,源文件需与系统版本(build 号)一致。
操作小结
- 先确认系统分区在 PE 中的盘符。
- 用
/offbootdir+/offwindir指定目标。 - 修不了再补
/offservicedir同源组件。 - 完成后重启系统侧再跑一次在线
sfc /scannow复核。