Windows10/Windows11のシステムファイルが破損すると、アプリケーションやサービスが正しく機能しなくなったり、ブルースクリーンエラーが発生する原因になります。最悪の場合、Windowsが起動しないケースもあります。
システムファイルの破損は、ハードディスクの破損や突然の電源終了、ウィルスの感染などによって引き起こされます。
今回は、Windows10/11で破損したシステムファイルを修復する方法について紹介します。SFCスキャンやDISMができない場合の他の修復方法についても併せて紹介します。
この記事の内容
方法1: システムファイルチェッカーツールを実行する
破損したシステムファイルを自動修復するには、Windowsに標準搭載されているシステムファイルチェッカーツールを使う方法が最も簡単です。
システムファイルチェッカーツールを実行することで、システムドライブ内のシステムファイルの異常をスキャンして、異常のあるファイルをローカルのバックアップを使って修復します。
システムの問題が疑われる場合は、まずはシステムファイルチェッカーツールを試してみることをおすすめします。
システムファイルチェッカーツールを実行するには、次の手順で操作します。
- 「Windowsマーク」を右クリックし、「Windows PowerShell(管理者)」を選択します。
- Windows11の場合は、「Windows ターミナル(管理者)」を選択します。
- PowerShellウィンドウが開いたら、次のコマンドを入力してEnterキーを押します。
sfc /scannow
- コマンドを実行するとシステムファイルチェッカーツールが実行され、問題のあるシステムファイルが見つかれば自動修復されます。
- 「検証100%が完了しました」のメッセージが表示されたら完了です。
システムファイルチェッカーツールは、多くの破損したシステムファイルを修復することはできますが、全てを完全に修復できるわけではない点に注意してください。
システムファイルチェッカーツールで破損したシステムファイルを修復できない場合は、次のDISMコマンドの方法を試してください。
方法2: DISMコマンドを実行する
DISMコマンドは、システムファイルチェッカーツールで修復できないシステムファイルを修復するために実行します。
そのため、システムファイルチェッカーで修正できないシステムファイルでも、DISMコマンドを実行することで修復できる可能性があります。
システムファイルチェッカーで問題が解決しない場合は、DISMコマンドも合わせて実行してください。DISMコマンドを実行するには、次の手順で操作します。
- 「Windowsマーク」を右クリックし、「Windows PowerShell(管理者)」を選択します。
- Windows11の場合は、「Windows ターミナル(管理者)」を選択します。
- PowerShellウィンドウが開いたら、次のコマンドを入力してEnterキーを押します。
DISM.exe /Online /Cleanup-image /Restorehealth
- 上記のDISMのコマンドは、破損したシステムファイルをWindowsUpdateから取得して修復します。
- DISMコマンドによる自動修復が開始します。
- ウィンドウに表示されているゲージが100%になったら、修復処理は完了です。
- PCを再起動します。
方法3: セーフモードでシステムファイルチェッカーを実行する
サードパーティのアプリケーションやドライバーが原因で、システムファイルチェッカーの実行時に「Windowsリソース保護は要求された操作を実行できませんでした。」などのエラーで修復が失敗してしまうケースがあります。
上記の問題を回避するには、PCをセーフモードで起動した状態でシステムファイルチェッカーを実行します。具体的な手順は、次の通りです。
- 「Windowsマーク」→「電源マーク」の順にクリックします。
- 「Shift」キーを押しながら「再起動」をクリックします。
- オプションの選択画面で「トラブルシューティング」→「詳細オプション」→「スタートアップ設定」を選択して、「再起動」のボタンをクリックします。
- スタートアップ設定の画面で「F4」キーを押して「セーフモードを有効にする」を選択します。
- パソコンが再起動してWindowsがセーフモードで起動します。
- 『方法1: システムファイルチェッカーツールを実行する』と同様の手順でコマンドを実行します。
- 修復が完了したら、PCを再起動してセーフモードを解除します。
方法4: 回復環境でシステムファイルチェッカーを実行する
Windowsによって保護されているシステムファイルは、Windowsが起動した状態で修復することができません。
そのため、全てのシステムファイルを完全に修復するには、Windowsが起動する前の状態でシステムファイルチェッカーを実行する必要があります。
Windowsが起動する前にシステムファイルチェッカーを実行するには、回復環境のコマンドプロンプトから操作します。
- 「Windowsマーク」→「電源マーク」の順にクリックします。
- 「Shift」キーを押しながら「再起動」をクリックします。
- オプションの選択画面で「トラブルシューティング」→「詳細オプション」を選択します。
- 「コマンドプロンプト」をクリックします。
- アカウントの選択画面になったら「アカウント」を選択して「パスワード」を入力します。
- メモ帳のエクスプローラーからブートドライブとシステムドライブのドライブレターを確認します。次のコマンドを入力してEnterキーを押します。
notepad
- Windows上のドライブレターとは異なる場合があるため必ず確認してください。
- メモ帳が起動するので「ファイル」→「名前を付けて保存」を選択します。
- 左ペインで「PC」をクリックします。
- デバイスとドライブの項目で、ブートドライブとシステムドライブのドライブレター(CやD)を確認します。
- 「システムで予約済み」と表示されるドライブがブートドライブです。
- 「システムで予約済み」と表示されるドライブがない場合は、Windows10がインストールされているドライブがブートドライブです。
- Windows10がインストールされているドライブは、ドライブを開いて「Windows」フォルダがあるか確認するか、容量から判断してください。
- ドライブレターが確認できたら「×マーク」をクリックしてメモ帳を閉じます。
- システムファイルチェッカーのコマンドを入力してEnterキーで実行します。次のようにブートドライブとシステムドライブを指定してください。
sfc /scannow /offbootdir=C:\ /offwindir=D:\Windows
- 上記のコマンドは、ブートドライブが「C」、システムドライブが「D」の場合の指定です。通常の環境であれば上記のコマンドで問題ありません。
- /offbootdirのオプションには、ブートドライブのドライブレターを指定します。
- /offwindirのオプションには、システムドライブのWindowsフォルダのパスを指定します。
- 「検証100%が完了しました」のメッセージが表示されたら、システムファイルの修復は完了です。
- コマンドプロンプトを閉じてWindowsを起動します。
方法5: スタートアップ修復を実行する
システムファイルの破損によってWindows10が起動しない状態の場合は、スタートアップ修復を実行することで問題が解決する可能性があります。
スタートアップ修復は、Windowsの起動に必要なブート領域とシステムファイルの破損を修復することができます。
スタートアップ修復を実行するには、次の手順で操作を行います。
- 回復環境を起動します。
- 回復環境の起動手順は、『Windows10が起動しない時の回復環境(Windows RE)の実行方法4つ』を参考にしてください。
- 回復環境が起動すると「オプションの選択」画面が表示されます。「トラブルシューティング」→「詳細オプション」と進みます。
- 「スタートアップ修復」をクリックするとスタートアップ修復が実行されます。
- 診断と修復が終わるまで待ちます。
- 修復が正常に完了するとWindowsが自動で起動します。
方法6: 手動で正しいシステムファイルを上書きする
システムファイルチェッカーツールの実行で修復できないシステムファイルは、手動で置換することで修復できる可能性があります。
- 注意1: 正しいシステムファイルで置換するために、正常に起動する別のWindows10のPCが必要です。
- 注意2: 手動での置換は操作を誤ると深刻なエラーが発生する恐れがあるため十分注意して操作してください。操作が難しい場合は、他の方法を試してください。
修復できないシステムファイルを手動で置換するには、SFCスキャンを実行して出力されるログ次の手順で操作します。
手順1: SFCスキャンのログを確認する
修復できないシステムファイルを特定するために、まずSFCスキャンのログを確認する必要があります。
SFCスキャンのログを確認するには、次の手順で操作します。
- 「Windowsマーク」を右クリックして「ファイル名を指定して実行」を選択します。
- 次のフォルダパスを入力して「OK」をクリックします。
%windir%\Logs\CBS\
- 一覧から「CBS.log」をデスクトップにドラッグ&ドロップしてコピーします。
- 「CBS.log」を開いてログの内容を確認します。
- 「Cannot repair member file」のメッセージがある行に、修復できなかったシステムファイル名「~.dll等」が記録されています。
- ログの量が多い場合は、「編集」→「検索」から「Cannot repair member file」の行を探してください。
手順2: システムファイルを上書きする
修復できないシステムファイルが特定できたら、正常なシステムファイルで置換します。
- 「Windowsマーク」を右クリックし、「Windows PowerShell(管理者)」を選択します。
- Windows11の場合は、「Windows ターミナル(管理者)」を選択します。
- 破損したシステムファイルの所有権を取得します。次のコマンドを入力してEnterキーを押します。
takeown /f 破損したシステムファイルの絶対パス
- 例: 破損したシステムファイルの絶対パスは次のように入力します。
C:\windows\system32\hoge.dll
- 例: 破損したシステムファイルの絶対パスは次のように入力します。
- 破損したシステムファイルのフルアクセスを許可します。次のコマンドを入力してEnterキーを押します。
icacls 破損したシステムファイルのフルパス /GRANT ADMINISTRATORS:F
- 正常なWindows10のPCからコピーしたシステムファイルをコピーコマンドを使って上書きします。
copy コピー元のシステムファイルの絶対パス 破損したシステムファイルの絶対パス
- 例: USBメモリ(F)にコピーしたシステムファイルをコピーするには、次のように指定します。
copy F:\hoge.dll C:\windows\system32\hoge.dll
- 例: USBメモリ(F)にコピーしたシステムファイルをコピーするには、次のように指定します。
- 「上書きしますか?」の確認メッセージが表示されたら「Y」を入力してEnterキーを押します。
以上で破損したシステムファイルを手動で修復することができます。
修復ができたら最後に、sfc /verifyonlyのコマンドを実行して破損したシステムファイルがなくなったか確認することをおすすめします。
方法7: ディスククリーンアップを実行する
システムの一時ファイルに問題が起きている場合は、一時ファイルを全て削除することで問題が解決することがあります。
PC内に保存されている一時的なシステムファイルは、Windowsのディスククリーンアップツールを実行することで自動的に削除することができます。
ディスククリーンアップツールを使って削除を行うには、次の手順で操作してください。
- 「Windowsマーク」を右クリックし、「エクスプローラ」を開きます。
- 左のサイドバーにある「PC」をクリックします。
- 「ローカルディスク(C:)」を右クリックし、「プロパティ」を開きます。
- 「全般」タブ内にある「ディスクのクリーンアップ」ボタンをクリックします。
- 「システムファイルのクリーンアップ」をクリックします。
- 削除するファイルの項目に全てチェックを入れて「OK」をクリックします。
- 削除の確認が出るので「ファイルの削除」をクリックすると、ディスクのクリーンアップが開始します。
ディスクのクリーンアップが完了すると、必要なシステムファイルは自動で再生成されます。
方法8: システムの復元を実行する
SFCスキャンなどでシステムファイルを復元できない場合は、システムの復元機能を使うことでファイルを修復できる可能性があります。
システムの復元を実行することで、Windowsのシステムファイルが指定した日時の状態に復元することができます。
システムの復元を実行する方法については、次のページで詳しく解説しています。
方法9: Windowsを初期化する
システムの復元を実行してもシステムファイルの破損が修復できない場合は、Windows10の初期化を検討してください。
Windowsを初期化することで、Windowsが再インストールされるため、破損したシステムファイルが全て正常な状態に戻ります。
Windowsの初期化を実行する方法については、次のページで詳しく解説しています。
初期化を実行する際は、削除オプションで「個人用ファイルを保持する」を選択すると、デスクトップやドキュメント内に保存したファイルを削除せずに初期化することができます。
方法1でダメでしたが方法2で直りました。感謝です。
あるアプリを立ち上げると、途中で突然PCが落ちる状態になりましたが、
方法1,方法2で回復しました。ありがとうございました。