第一步:找到損壞的文件
以管理員權(quán)限運(yùn)行命令提示符,然后鍵入findstr /C:"[SR] Cannot repair member file" %windir%\logs\cbs\cbs.log >"%userprofile%\Desktop\sfcdetails.txt"命令完成后會在桌面生成一個(gè)名為“sfcdetails.txt”的文件,打開它,就可以看到無法修復(fù)的損壞文件的文件名了,如圖:
知道了文件名,接下來就是定位文件的位置了,直接在Windows目錄下用文件名搜索該文件,所有搜到的文件都是損壞的文件(一般最少有兩個(gè),一個(gè)源文件一個(gè)備份,由于備份文件也損壞了,所以接下來全部都需要被替換)。
第二步:用正常的文件替換掉他
找到了損壞的文件,接下來就是要用正常的文件替換掉他,正常的文件從哪里來呢?你可以從相同系統(tǒng)的別人的電腦上拷貝一份過來,或者從Windows的安裝盤或原始安裝鏡像中獲取。這里要細(xì)說的是第二種。
插入安裝盤或用7z或RAR打開安裝鏡像,在sources目錄下找到install.wim,打開它,每個(gè)數(shù)字的目錄下分別有不同版本的Windows文件(1.簡易版,2.家庭基本版,3.家庭高級版,4.專業(yè)版,5.旗艦版),進(jìn)入對應(yīng)自己Windows版本文件的目錄(PS:盜版的第三方封裝系統(tǒng)基本上都是旗艦版的),找到對應(yīng)的文件,將其解壓出來。
接下來,就是替換文件的工作,首先要獲取需要被替換的損壞的系統(tǒng)文件的完全訪問權(quán)限,以管理員權(quán)限運(yùn)行命令提示符,依次執(zhí)行下面兩條命令
takeown /f 損壞系統(tǒng)文件的完整路徑
icacls 損壞系統(tǒng)文件的完整路徑 /GRANT ADMINISTRATORS:F
最后用剛才解壓出來的文件替換掉損壞的文件就搞定了。
適用于Windows 8/8.1/10的另一種解決方法(需聯(lián)網(wǎng))
如果你用的是Windows 8/8.1/10,還有另外一種更加簡單的修復(fù)方法。以管理員權(quán)限運(yùn)行命令提示符,執(zhí)行“dism /online /cleanup-image /restorehealth”命令,Windows將自動聯(lián)網(wǎng)修復(fù)損壞的文件。
關(guān)于“telemetry.ASM-WindowsDefault.json”和“utc.app.json”文件的損壞
這兩個(gè)文件的損壞其實(shí)是誤報(bào),微軟已經(jīng)證實(shí)和KB3022345有關(guān)。該更新的作用是跟蹤和收集一些信息,以幫助微軟改善一些產(chǎn)品和服務(wù),并非重要更新(個(gè)人認(rèn)為該更新對于大多數(shù)用戶并沒有什么用,收集你的信息,還浪費(fèi)你的帶寬)。在這個(gè)更新中“telemetry.ASM-WindowsDefault.json”和“utc.app.json”文件被錯(cuò)誤的標(biāo)記為損壞。一個(gè)月之后,微軟又發(fā)布了KB3068708更新作為KB3022345的替換版本,微軟官方說這個(gè)替換版本解決了之前sfc誤報(bào)的問題,但很多用戶反映問題似乎仍未解決。
也就是說,如果只是報(bào)告了這兩個(gè)文件損壞,請無視他,您的系統(tǒng)文件并沒有損壞,如果還有其他的文件損壞,請忽略這兩個(gè)文件后,將其他的文件按上面所述方法進(jìn)行修復(fù)。如果您不想再看到這兩個(gè)文件的誤報(bào),可以嘗試在“控制面板>程序和功能>查看已安裝的更新”中卸載KB3022345和KB3068708更新,并在下次檢查到這些更新時(shí)隱藏它們。