使用 sfc 命令修复系统文件

做远程技术的时候经常会碰到,客户电脑被病毒损坏系统文件后不能正常进入系统,或者反反复复的修复系统,然而工作电脑安装了一大堆的软件程序以及数据,这时候又不能重装系统,实在是麻烦,所以只好想一些办法把系统修复看看了。

CMD 管理员的模式运行,然后输入命令 sfc /scannow,这时候系统自动开始扫描,这个命令是用来系统的检查原始镜像里安装系统文件是否有损坏。这个步骤结束后会有两种提示:

第一种:

Windows 资源保护找到了损坏文件并成功修复了它们。

CBS.Log windirLogsCBSCBS.log 中有详细信息。例如

C:WindowsLogsCBSCBS.log

系统文件修复更改在下次重新启动之后生效。

第二种:

Windows 资源保护找到了损坏文件但无法修复

其中某些文件。CBS.Log windirLogsCBSCBS.log 中有详细信息。

例如 C:WindowsLogsCBSC。请注意,在脱机服务方案中,

当前不支持日志记录。BS.log

既然上面的操作步骤已经把损坏的系统文件以日志方式生成,那就好办多了。我们开始执行手动修复!

现列出上面扫描出来的文件,cmd 命令输入:

findstr /C:”[SR] Cannot repair member file” %windir%logscbscbs.log >”%userprofile%Desktopsfcdetails.txt

执行后会在自己的桌面生成 sfcdetails.txt,打开它可以定位到无法修复的文件,一般损坏文件名称会出现于关键字在 Cannot repair member file 后面类似 jscript.dll 的就是无法修复的文件。

这时候我们就开始把损坏的系统文件替换掉,先把好的文件提取出来。未被损坏的文件只能从当前系统版本对应系统镜像中提取,比如提取 C:windowssystem32jscript.dll。

假设已经把文件提取完成,

先获取管理权 takeown /f 损坏文件路径。

takeown /f C:windowssystem32jscript.dll

再获取完全访问权限

icacls C:windowssystem32jscript.dll /grant administrators:F

然后替换,

假设好文件放在 C 盘根目录 CMD 命令输入

copy C:jscript.dll C:windowssystem32jscript.dll

提醒:原版未被损坏的文件,建议从同版本的原生系统 ISO 镜像,解压路径:镜像/sources/install.wim, 再用 7z 打开它找到替换文件提取出来。如果附近的同学或者朋友也使用相同的系统版本就更直接了。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2018年7月3日
下一篇 2018年7月3日

相关推荐