使用sfc命令修复系统文件方法 sfc scannow在什么情况下使用

做远程技术的时候经常会碰到,客户电脑被病毒损坏系统文件后不能正常进入系统,或者反反复复的修复系统,然而工作电脑安装了一大堆的软件程序以及数据,这时候又不能重装系统,实在是麻烦,所以只好想一些办法把系统修复看看了 。
CMD 管理员的模式运行,然后输入命令 sfc /scannow,这时候系统自动开始扫描,这个命令是用来系统的检查原始镜像里安装系统文件是否有损坏 。这个步骤结束后会有两种提示:
第一种:

Windows 资源保护找到了损坏文件并成功修复了它们 。
CBS.Log windir\\Logs\\CBS\\CBS.log 中有详细信息 。例如
C:\\Windows\\Logs\\CBS\\CBS.log
系统文件修复更改在下次重新启动之后生效 。
第二种:
Windows 资源保护找到了损坏文件但无法修复
其中某些文件 。CBS.Log windir\\Logs\\CBS\\CBS.log 中有详细信息 。
例如 C:\\Windows\\Logs\\CBS\\C 。请注意,在脱机服务方案中,
当前不支持日志记录 。BS.log
既然上面的操作步骤已经把损坏的系统文件以日志方式生成,那就好办多了 。我们开始执行手动修复!
现列出上面扫描出来的文件,cmd 命令输入:
findstr /C:\"[SR] Cannot repair member file\" %windir%\\logs\\cbs\\cbs.log >\"%userprofile%\\Desktop\\sfcdetails.txt
【使用sfc命令修复系统文件方法 sfc scannow在什么情况下使用】执行后会在自己的桌面生成 sfcdetails.txt,打开它可以定位到无法修复的文件,一般损坏文件名称会出现于关键字在 Cannot repair member file 后面类似 jscript.dll 的就是无法修复的文件 。
这时候我们就开始把损坏的系统文件替换掉,先把好的文件提取出来 。未被损坏的文件只能从当前系统版本对应系统镜像中提取,比如提取 C:\\windows\\system32\\jscript.dll 。
假设已经把文件提取完成,
先获取管理权 takeown /f 损坏文件路径 。
takeown /f C:\\windows\\system32\\jscript.dll

使用sfc命令修复系统文件方法 sfc scannow在什么情况下使用

文章插图

再获取完全访问权限
icacls C:\\windows\\system32\\jscript.dll /grant administrators:F

使用sfc命令修复系统文件方法 sfc scannow在什么情况下使用

文章插图

然后替换,
假设好文件放在 C 盘根目录 CMD 命令输入
copy C:\\jscript.dll C:windows\\system32\\jscript.dll
提醒:原版未被损坏的文件,建议从同版本的原生系统 ISO 镜像,解压路径:镜像/sources/install.wim, 再用 7z 打开它找到替换文件提取出来 。如果附近的同学或者朋友也使用相同的系统版本就更直接了 。