今天Windows 8.1系統的電腦突然卡住並且自動重啟,通過事件查看器得到的資料有限,初步懷疑是系統文件受損導致,於是通過經典的sfc /scannow
驗證系統並修復受損文件,但是得到以下提示:
開始系統掃描。此過程將需要一些時間。 開始系統掃描的驗證階段。 驗證 100% 已完成。 Windows 資源保護找到了損壞文件但無法修復 其中某些文件。CBS.Log windir\Logs\CBS\CBS.log 中有詳細信息。 例如 C:\Windows\Logs\CBS\CBS.log。請注意,在脫機服務方案中, 當前不支持日志記錄。
意思是找到了受損文件,但是sfc
命令無法修復,沒有找到關於無法修復的具體原因,打開C:\Windows\Logs\CBS\CBS.log
文件后發現此日志記錄的信息比較雜,不過我們可以通過Windows+X+A組合按鍵啟動管理員權限的CMD控制台,然后運行以下命令直接輸出受損文件詳情到桌面sfcdetails.txt
文件中:
findstr /C:"[SR] Cannot repair member file" %windir%\logs\cbs\cbs.log >"%userprofile%\Desktop\sfcdetails.txt" |
通過以上命令,我得到了下面的輸出:
2016-05-15 10:43:43, Info CSI 000005f4 [SR] Cannot repair member file [l:36{18}]"Amd64\CNBJ2530.DPB" of prncacla.inf, Version = 6.3.9600.17415, pA = PROCESSOR_ARCHITECTURE_AMD64 (9), Culture neutral, VersionScope = 1 nonSxS, PublicKeyToken = {l:8 b:31bf3856ad364e35}, Type = [l:24{12}]"driverUpdate", TypeName neutral, PublicKey neutral in the store, hash mismatch 2016-05-15 10:43:46, Info CSI 000005f6 [SR] Cannot repair member file [l:36{18}]"Amd64\CNBJ2530.DPB" of prncacla.inf, Version = 6.3.9600.17415, pA = PROCESSOR_ARCHITECTURE_AMD64 (9), Culture neutral, VersionScope = 1 nonSxS, PublicKeyToken = {l:8 b:31bf3856ad364e35}, Type = [l:24{12}]"driverUpdate", TypeName neutral, PublicKey neutral in the store, hash mismatch 2016-05-15 10:47:46, Info CSI 00000980 [SR] Cannot repair member file [l:36{18}]"Amd64\CNBJ2530.DPB" of prncacla.inf, Version = 6.3.9600.17415, pA = PROCESSOR_ARCHITECTURE_AMD64 (9), Culture neutral, VersionScope = 1 nonSxS, PublicKeyToken = {l:8 b:31bf3856ad364e35}, Type = [l:24{12}]"driverUpdate", TypeName neutral, PublicKey neutral in the store, hash mismatch 2016-05-15 10:47:47, Info CSI 00000982 [SR] Cannot repair member file [l:36{18}]"Amd64\CNBJ2530.DPB" of prncacla.inf, Version = 6.3.9600.17415, pA = PROCESSOR_ARCHITECTURE_AMD64 (9), Culture neutral, VersionScope = 1 nonSxS, PublicKeyToken = {l:8 b:31bf3856ad364e35}, Type = [l:24{12}]"driverUpdate", TypeName neutral, PublicKey neutral in the store, hash mismatch
這里僅僅是知道了文件Amd64\CNBJ2530.DPB
受損,但是sfc無法修復又有什么用呢,不過通過這篇文章《通過sfc功能無法修復,提示”windows 資源保護找到了損壞文件但無法修復” 》找到了另外一種修復的方式,那就是在聯網的情況下通過以下命令來實現:
DISM.exe /Online /Cleanup-image /Scanhealth DISM.exe /Online /Cleanup-image /Restorehealth |
依然通過Windows+X+A組合按鍵啟動管理員權限的CMD控制台,然后以上命令以行為單位逐條輸入並按下回車,稍等片刻后即可,完成修復后,可以再次使用sfc /scannow
檢查,幸運的是以這種方式也是可以成功修復受損文件的,如下圖所示。