Windows7 SFCコマンドで破損したファイルを手動で修復する方法

SFCコマンドで破損したファイルを手動で修復する方法


コマンドプロンプト(管理者)より

sfc /scannow

実行

SFC(システムファイルチェッカー)を実行し結果が

Windows リソース保護は、破損したファイルを検出しましたが
その一部を修正できませんでした。
詳細は CBS.Log (C:\Windows\Logs\CBS\CBS.log) ~

と表示される場合の修復方法です。


1.CBS.log(ログファイル)からテキスト形式にデータを抽出する

同じくコマンドプロンプトにて下記コマンドを実行する

findstr /c:"[SR]" C:Windows\Logs\CBS\CBS.log >C:\sfclog.txt" 

C:\ 直下に sfclog というテキストファイルが生成されます。


2.エラーのログを確認する

sfclog.txt を開きログをチェックします。

Cannot repair member file ~~~~ *****.dll

(*=修復できなかったファイル名、dllとも限らない)

などの問題となる、ファイルを確認します。


3.対象のファイルの所有権を取得します。

以下のコマンドを実行

takeown /f C:\Windows\System32\*****.dll


4.対象のファイルにフルアクセスを付与します。

以下のコマンドを実行

icacls C:\Windows\System32\*****.dll /GRANT ADMINISTRATORS:F


5.正常なファイルを同じバージョンのWindowsよりコピーします。

※USBメモリなどを使用し、ふつうにファイルのコピーで問題ないです。


6.正常なファイルに置き換えます。

ファイルをコピーした USBメモリ を取り付け(X:\とします)

以下コマンドを実行

copy x:\*****.dll C:\Windows\System32\

上書きしますか?(Y)
 ※事前にリネームしてバックアップしておくのも良いです。


7.再起動して、再度 SFC を実施して

Windows リソース保護は、整合性違反を検出しませんでした。

となっていたら修復完了です。

このブログの人気の投稿

ping テストのログを記録する方法

ddrescue コマンドによるクローンについて

Ubuntu を使用しDDコマンドでクローンの作成