【教程】教你解決「Windows 資源保護找到了損壞檔但無法修復其中某些檔」的問題

       很多人都會用sfc /scannow來解決系統檔損壞的問題,但有時也會遇到連sfc都無法修復的情況,最常見的就是出現“Windows 資源保護找到了損壞檔但無法修復其中某些檔 CBS.Log windirLogsCBSCBS.log中有詳細資訊”,其實這是因為系統檔在winsxs中的備份也一併損壞的緣故,導致了最終檔無法被修復。解決的辦法就是要找到損壞的檔,然後用正常的檔替換掉他。

第一步:找到損壞的檔

以管理員許可權運行命令提示符,然後鍵入findstr /C:"[SR] Cannot repair member file" %windir%logscbscbs.log >"%userprofile%Desktopsfcdetails.txt"命令完成後會在桌面生成一個名為“sfcdetails.txt”的檔,打開它,就可以看到無法修復的損壞檔的檔案名了,如圖:

知道了檔案名,接下來就是定位檔的位置了,直接在Windows目錄下用檔案名搜索該檔,所有搜到的檔都是損壞的檔(一般最少有兩個,一個原始檔案一個備份,由於備份檔案也損壞了,所以接下來全部都需要被替換)。

第二步:用正常的檔替換掉他

找到了損壞的檔,接下來就是要用正常的檔替換掉他,正常的檔從哪裡來呢?你可以從相同系統的別人的電腦上拷貝一份過來,或者從Windows的安裝盤或原始安裝鏡像中獲取。這裡要細說的是第二種。

插入安裝盤或用7z或RAR打開安裝鏡像,在sources目錄下找到install.wim,打開它,每個數位的目錄下分別有不同版本的Windows檔(1.簡易版,2.家庭基本版,3.家庭高級版,4.專業版,5.旗艦版),進入對應自己Windows版本檔的目錄(PS:盜版的協力廠商封裝系統基本上都是旗艦版的),找到對應的檔,將其解壓出來。

接下來,就是替換檔的工作,首先要獲取需要被替換的損壞的系統檔的完全存取權限,以管理員許可權運行命令提示符,依次執行下面兩條命令

takeown /f 損壞系統檔的完整路徑
icacls 損壞系統檔的完整路徑 /GRANT ADMINISTRATORS:F

最後用剛才解壓出來的檔替換掉損壞的檔就搞定了。

適用于Windows 8/8.1/10的另一種解決方法(需聯網

如果你用的是Windows 8/8.1/10,還有另外一種更加簡單的修復方法。以管理員許可權運行命令提示符,執行“dism /online /cleanup-image /restorehealth”命令,Windows將自動聯網修復損壞的檔。

關於「telemetry. ASM-WindowsDefault.json」和「utc.app.json」檔的損壞

這兩個檔的損壞其實是誤報,微軟已經證實和KB3022345有關。 該更新的作用是跟蹤和收集一些資訊,以説明微軟改善一些產品和服務,並非重要更新(個人認為該更新對於大多數使用者並沒有什麼用,收集你的資訊,還浪費你的頻寬)。 在這個更新中「telemetry. ASM-WindowsDefault.json」和「utc.app.json」檔被錯誤的標記為損壞。 一個月之後,微軟又發佈了KB3068708更新作為KB3022345的替換版本,微軟官方說這個替換版本解決了之前sfc誤報的問題,但很多使用者反映問題似乎仍未解決。

詳情:https://support.microsoft.com/en-us/kb/3022345(英文)

也就是說,如果只是報告了這兩個檔損壞,請無視他,您的系統檔並沒有損壞,如果還有其他的檔損壞,請忽略這兩個檔後,將其他的檔按上面所述方法進行修復。 如果您不想再看到這兩個檔的誤報,可以嘗試在「控制台>程式和功能>查看已安裝的更新」中卸載KB3022345和KB3068708更新,並在下次檢查到這些更新時隱藏它們。



發表評論?

303 條評論。

  1. 大神你好,我按照你的方法做了 在sfcdetails檔裡面生成了幾百上千個檔,總不能讓我一個一個替換吧。。。。

發表評論


无觅相关文章插件,快速提升流量