Windows 11で「システム修復が保留中なので再起動が必要です」というエラーを修正する方法

Windows 11 を起動していて、 「保留中のシステム修復があり、完了するには再起動が必要です」というsfc /scannowメッセージが表示されたら、困りますよね。まるで Windows が「修復作業中です。まずは再起動してください」と言っているかのようです。でも、もちろん、再起動しただけでは消えませんよね? 通常、これは修復プロセスが停止したか、正しく完了しなかったために、Windows が宙ぶらりんの状態になり、後続の修復がブロックされていることを意味します。なぜ起こるのかはわかりませんが、更新の失敗、修復プロセスの中断、または予期しないシステムクラッシュの後に、Windows が保留中の修復で停止することがあります。朗報は、その保留状態をクリアして SFC を再び動作させる方法がいくつかあります。

このガイドでは、DISMコマンドの使用、キャッシュファイルの手動削除、レジストリの調整など、様々な方法を詳しく説明します。これらの方法を使えばsfc /scannow、あの厄介なメッセージが表示されずに実行できるようになります。これらのオプションは、簡単な修正からシステムのより深い調整まで、幅広い範囲をカバーしています。もし本当に壊れてしまった場合は、MBRの再構築といった最終手段も検討してみてください。最終的には、Windowsがより健全になり、システムがファイルをスキャンして修復できるようになるでしょう。少し面倒ですが、これらの方法のほとんどは、一度コツをつかめば簡単に実行できます。

Windows 11で「システム修復が保留中」というメッセージを修正する方法

DISMコマンドを使用して修復保留状態をクリアする

DISM(展開イメージのサービスと管理)は、基本的にWindowsの修復ツールキットです。Windowsが既に修復中であると認識している場合や、修復タスクが中断されている場合、DISMを実行することで問題を解決できる可能性があります。この方法は、Windows Updateや以前の修復が停止したり、完了していないように見える場合に最適です。

設定によっては、実行にDISM.exe /Online /Cleanup-Image /RestoreHealth10~20分ほどかかる場合があります。特にインターネット回線が遅い場合やシステムに不具合がある場合はなおさらです。この作業の目的は、イメージファイルを修復し、Windowsが進行中の修復を正常に処理できるようにすることです。

手順:

  • スタートメニューを開き、「cmd」と入力して「コマンドプロンプト」を右クリックし、「管理者として実行」を選択します。この操作には管理者権限が必要です。
  • このコマンドを入力するかコピー/貼り付けして Enter キーを押します。
DISM.exe /Online /Cleanup-Image /RestoreHealth
  • しばらくお待ちください。時間がかかる場合があります。正常に完了した場合は、修復ブロックが解消されたことを示しています。
  • その後、特に更新の試行が失敗したり、システムに顕著な異常が発生したりした後、同じメッセージが引き続き表示される場合は、次のコマンドを実行して保留中のアクションを元に戻してみてください。
  • DISM.exe /image:C:\ /cleanup-image /revertpendingactions

    💡実際の Windows ドライブ文字が異なる場合は、 C:\を実際の Windows ドライブ文字に置き換えます。Windows が D: にインストールされていると認識するユーザーもいるため、それに応じて調整してください。

  • PCを再起動して完了し、sfc /scannowもう一度実行してください。通常、これでメッセージが消え、SFCが正常にスキャンできるようになります。ただし、奇妙な動作をするマシンもあります。あるマシンでは1回の再起動で動作するのに対し、別のマシンでは数回試す必要があるなどです。

    WinSxSでpending.xmlファイルを手動で削除する

    WindowsはWinSxSフォルダ内にpending.xmlというファイルを保持しており、修復アクションを追跡します。このファイルが破損したり、フリーズしたりすると、Windowsは「修復保留中」の状態になります。このファイルをクリアすると、問題が解決する場合があります。

    まず、ファイル エクスプローラーを使用してC:\Windows\WinSxSに移動します。または、管理者権限を使用して移動し、その頑固なファイルを削除します。

    • ファイルエクスプローラーを開き、C:\Windows\WinSxSに移動します。
    • pending.xml を見つけます。権限エラーが表示されたり、通常の方法で削除できない場合は、まず所有権を取得してください。簡単な方法は次のとおりです。
    • 管理者としてコマンドプロンプトを開き、次のように入力します。
    takeown /F C:\Windows\WinSxS\pending.xml icacls C:\Windows\WinSxS\pending.xml /grant %username%:F del C:\Windows\WinSxS\pending.xml

    あるいは、次のコマンドを実行します:

    del C:\Windows\WinSxS\pending.xml

    必要に応じて所有権を取得した後、削除してください。削除したら、再起動してsfc /scannow再度実行してみてください。システムによってはこれだけでハングアップが解消される場合もありますが、場合によってはさらに手順が必要になることもあります。

    RebootPendingレジストリキーを削除します

    よくある謎の1つは、 RebootPendingレジストリキーです。これは、Windowsが再起動が必要になったときに設定します。このキーが永久にそのまま放置されると、Windowsは再起動が必要だと誤認し、修復を妨げてしまいます。

    やるべきことは次のとおりです:

    • Win + Rを押して、 と入力しregedit、 Enter キーを押します。そう、レジストリ エディターです。
    • 次の場所に移動します:
    • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion
    • RebootPendingというキーを探します。存在する場合は、右クリックして「削除」を選択します。

    regedit を操作する前に、覚えておいてください。無理をしすぎないでください。レジストリをバックアップするか、少なくとも復元ポイントを作成してください。キーを削除した後、再起動してもう一度 SFC を試してください。

    ⚠️ 警告: レジストリの編集は不注意だと問題を引き起こす可能性があります。必ず事前にバックアップを作成するか、復元ポイントを設定してください。

    ドライバー、特にストレージとチップセットのドライバーを更新します

    古いドライバー、特にストレージコントローラー、グラフィック、チップセットドライバーは、Windows の動作に支障をきたす可能性があります。これらのドライバーが同期していなかったり破損していたり​​すると、修復がブロックされたり、失敗したりする可能性があります。

    Windows + Xデバイスマネージャーを開き、 「ディスプレイアダプター」「ストレージコントローラー」などのセクションを展開します。デバイスを右クリックし、「ドライバーの更新」→「ドライバーを自動検索」を選択します。重要なドライバーごとにこの手順を繰り返します。再起動後、SFCがスムーズに実行されるかどうかを確認します。

    BIOS / UEFIでSATAモードを切り替える

    場合によっては、ストレージモードのBIOS設定が根本原因となることがあります。AHCI、RAID、IDEモードを切り替えることで、「修復保留中」のハングアップ状態を解消できる場合があります。再起動し、BIOSキー(通常はDel、F2、F10、またはEsc)を押してSATA構成を探し、モードを切り替えます。保存して終了し、SFCが再び実行できるかどうかを確認してください。ただし、SATAモードの変更は、正しく行われないとWindowsが起動しなくなる可能性があるので注意してください。起動に失敗した場合は、必ず元に戻してください。

    マスターブートレコード(MBR)を再構築する

    システムのブートセクターが破損している場合、Windowsの修復が永久に停止してしまう可能性があります。MBRを再構築することで修復できる場合があります。

    Windowsリカバリを起動します(Shiftキーを押しながら再起動するか、USBインストーラーを使用します)。「トラブルシューティング」→「詳細オプション」→「コマンドプロンプト」に進みます。次に、以下のコマンドを実行します。

    bootrec /FixMBR bootrec /FixBoot bcdboot C:\Windows

    (Windows が他の場所にインストールされている場合は、C:\Windows を調整してください。)

    再起動してsfc /scannowもう一度実行してみてください。状況が深刻な場合は、最終手段として修復インストールまたはWindowsのクリーンインストールが必要になる場合があります。

    まとめ

    多くの場合、pending.xml をクリアするか、DISM 修復を実行するだけで Windows の修復状態がリセットされます。それでも解決しない場合は、レジストリの変更やブート修復が必要になる場合があります。システムの深刻な問題は解決が難しい場合もありますが、保留中の修復フラグを削除するだけで SFC を再び有効にできる場合がよくあります。

    まとめ

    • 実行してDISM /Online /Cleanup-Image /RestoreHealthイメージの問題を修復します。
    • C:\Windows\WinSxSからpending.xmlを削除します。
    • RebootPendingレジストリ キーが存在する場合は削除します。
    • 特にストレージとチップセットのドライバーを更新します。
    • 他の方法がすべて失敗した場合は、BIOS SATA モードの切り替えを検討してください。
    • システムの起動の問題が解決しない場合は、MBR を再構築します。
    • 最後の手段として、Windows を修復するか、クリーン インストールを実行します。

    最後に

    これらの方法のいずれかで修復プロセスがうまくいかなくなることを願っています。メッセージを隠蔽するだけでは不十分です。ブロックの原因となっているものを実際に修復する方が重要です。SFCが再び機能するようになれば、Windowsシステムを安定させ、破損から保護することができます。幸運を祈ります。そして、この方法が誰かの何時間ものフラストレーションを回避できることを願っています。