Windowsリソース保護の修復サービスを開始できなかった場合の修正方法
「Windows リソース保護により修復サービスを開始できませんでした」というエラーが表示されると、本当に頭が痛くなります。このエラーは主にシステムファイルチェッカー(SFC /scannow)を実行しようとした際に発生し、何らかの理由で Windows が基盤となるシステムファイル修復サービスの開始を拒否します。通常、このエラーは Windows モジュールインストーラー(trustedinstaller)サービスが正常に動作していないか、不適切なアップデートやマルウェアによるシステムファイルへの不正アクセスなど、システムの深刻な不具合がある場合に発生します。奇妙なことに、このサービスを再起動すると多くの場合は修復されますが、特に大規模なアップデートやシステムファイルの破損の後は、それだけでは不十分な場合があります。そこで、いくつかの環境で効果があった方法をご紹介します。きっと皆さんの環境にも役立つはずです。
「修復サービスを開始できませんでした」というエラーを修正する方法
Windowsモジュールインストーラサービスを再起動またはリセットしてください
通常、最初に確認すべき点です。Windowsは当然のことながら、必要以上に負荷をかけているためです。システムの更新と修復を処理するサービス(TrustedInstallerまたはWindows Modules Installer)が実行されている必要があります。このサービスが停止または無効になっていると、SFCは異常終了し、実行されなくなります。
- で「ファイル名を指定して実行」ダイアログを開きWindows + R、入力し
services.mscてEnterキーを押します。Windowsサービスの一覧が開きます。 - Windows Modules Installer を見つけます(一部のリストではTrustedInstallerと表示される場合があります)。ダブルクリックします。
- スタートアップの種類を「手動」に設定してください(無効や自動になっている場合があり、これが問題の原因となることがあります)。その後、「開始」をクリックします。既に起動している場合は、再起動すると改善される可能性があります。
- [適用]をクリックし、[OK]をクリックします。
サービスが起動しない場合でも、慌てないでください。コマンドプロンプトから強制的に起動できます。
コマンドラインでサービスを強制的に起動する
この方法は、通常の方法がうまくいかない場合に便利です。サービスの現在の状態に関係なく、強制的に起動します。コマンドプロンプトは必ず管理者として実行してください。そうしないと機能しません。
- 押してWindows + X、Windows Terminal (管理者)または PowerShell (管理者) を選択します。
- 次のコマンドを入力し
sc config trustedinstaller start= auto、を押しますEnter。これにより、起動時に自動的に起動するように設定されます。これは通常の設定です。 - 次に、次のコマンドでサービスを再起動します
net start trustedinstaller。起動するはずです。「すでに実行中」と表示されたら、問題ありません。
起動時にサービスが依然として動作しなくなることがあります。その場合は、システムの再起動が必要になる場合があります。また、サービスが依然として起動しない場合は、根本的なシステムの問題や競合が発生していないか確認することをお勧めします。
セーフモードから修復を実行する
もう一つのコツは、セーフモードで起動することです。セーフモードはWindowsの機能を最小限に抑えたシンプルなシステムなので、ドライバーやプロセスが修復サービスをブロックしている場合でも、セーフモードならそれらの競合を回避できることが多いです。システムファイルへの負荷はセーフモードで低い傾向にあるので、SFCを直接実行してみるのも良いでしょう。
- スタートメニューに移動し、電源アイコンをクリックして、Shift キーを押しながら再起動をクリックします。
- Windows が回復モードで再起動したら、[トラブルシューティング] > [詳細オプション] > [スタートアップ設定]を選択します。
- 「再起動」をクリックします。再起動後、F4キーを押してセーフモードに入ります。
- セーフモードになったら、コマンドプロンプト(管理者)を開いて、次のコマンドを再実行します
SFC /scannow。今回はエラーなく動作するはずです。
理由はよく分かりませんが、場合によっては、セーフ モードを使用すると、修復サービスが再び機能するのに十分なゴミが消去されます。
不足しているDLLを手動でコピーする(主に古いビルドの場合)
これはかなりニッチな問題ですが、Windows 10の初期Insiderビルドの一部にバグがあり、DLLがwrprint.dll消えてしまい、システムの修復がうまくいかなくなるというものでした。もしInsiderビルドをご利用でこのエラーが発生している場合は、別のシステムまたは古いビルドからDLLを手動でコピーすると解決するかもしれません。もちろん、これは少し高度な方法で、コマンドラインを少しいじる必要がありますが、それでもうまくいったケースもありました。
- バッチ スクリプトを作成します (メモ帳でこれを貼り付けます)。
- fixdll.batとして保存し、管理者として実行します。
- コピー後、再度実行してください
SFC /scannow。DLL が認識され、問題が解決するはずです。
@echo off cls setlocal set root=%SystemRoot%\WinSxS\%PROCESSOR_ARCHITECTURE%_microsoft-windows-servicingstack for /f "delims=" %%A in ('dir /ad /b "%root%-onecore*"') do set "from=%SystemRoot%\WinSxS\%%A" for /f "delims=" %%A in ('dir /ad /b "%root%_*"') do set "to=%SystemRoot%\WinSxS\%%A" takeown /F %to%\* /R /A icacls %to%\*.* /T /grant administrators:F echo on echo F|xcopy /C /R /O /Y "%from%\wrprint.dll" "%to%\wrprint.dll" pause
これはちょっとハッキーですが、一部の壊れたビルドでは、修復システムを強制的に元の状態に戻す唯一の方法でした。
起動可能なメディア経由でWindowsオフライン修復を使用する
他に方法がない場合は、Windowsインストールメディアから起動し、オフラインでSFCを実行してください。Windowsセットアップファイルが保存されたUSBメモリまたはDVDが必要です。
- Windows インストーラー メディアから起動します (BIOS/UEFI で起動順序を変更します)。
- セットアップ画面で、「次へ」をクリックし、「コンピューターを修復する」を選択します。
- [トラブルシューティング] > [コマンド プロンプト]に移動します。
- Windows パーティションを識別します (どのドライブがシステムである
diskpartかを確認するには、 とを使用しますlist volume)。 - 実行:
sfc /scannow /offbootdir=C:\ /offwindir=C:\windows(必要に応じてドライブ文字を調整します)。
この方法では、Windows の外部でシステム修復を実行するため、頑固なエラーを回避できる場合があります。
DISMを実行してイメージの破損を修復する
Windows イメージ (* WIM *) が破損している場合、SFC ではシステムを修復できない可能性があります。DISM (展開イメージのサービスと管理) は、このような状況に最適なツールです。DISM は基盤となるイメージを修復できるため、将来的に SFC などの修復ツールが実際に効果を発揮できるようになります。
- 管理者権限でターミナルを開きます (PowerShell またはコマンド プロンプト)。
- 次のように入力
DISM /Online /Cleanup-Image /RestoreHealthして Enter キーを押します。 - 少し時間がかかります。速くはありません。完了したら、
SFC /scannowもう一度実行してください。
ディスクのエラーを確認してください
論理ディスクエラーはシステムサービスに深刻な影響を与える可能性があります。ドライブの問題を除外するために、ディスクチェックを実行することをお勧めします。
- 管理者権限でコマンドプロンプトを開きます。
- 走る:
chkdsk /r - Yと入力して確認し、再起動してください。ツールは起動時にディスクエラーをスキャンして修復します。
- その後、SFC を再度実行してみます。
最近のWindowsアップデートをアンインストールする
最近のアップデート(例えば、システムファイルに影響を及ぼすパッチなど)後にこのエラーが発生し始めた場合は、そのアップデートを削除することを検討してください。アップデートによっては、メリットよりもデメリットの方が大きい場合があり、ロールバックすることですぐに問題を解決できる場合があります。
- で設定を開きますWindows + I。
- Windows Update >更新履歴>更新プログラムのアンインストールに移動します。
- 疑わしい最新のアップデートを選択し、「アンインストール」をクリックします。
復元ポイントを設定している場合はシステムの復元を使用する
以前に復元ポイントを作成していて、このエラーが突然発生した場合は、ロールバックすることで原因となった変更をクリアできます。復元により、システムファイルはより安全な状態に戻ります。
- を押してWindows + R、 と入力し
rstrui.exe、 を押しますEnter。 - 問題が発生する前に作成された復元ポイントを選択してください。指示に従ってください。
Windowsをリセットする(最後の手段)
どうしてもSFCやDISMが機能しない場合は、「ファイルを保持する」オプションを使ってWindowsをリセットすると解決するかもしれません。完全なクリーンインストールではありませんが、システムファイルを正常な状態にリセットします。
- 実行ウィンドウ ( Windows + R) を開き、
systemreset –factoryresetと入力して Enter キーを押します。 - 「ファイルを保存する」を選択します。
- 指示に従って、Windows をリセットします。
場合によっては、クリーンな再インストールが最終的な解決策となることもあります。特にシステムの破損が深刻な場合はなおさらです。ただし、事前に重要なデータをバックアップしておくことをお勧めします。
これらの方法のいくつかが、システムを正常な状態に戻すのに役立つことを願っています。重要なのは忍耐です。これらのエラーは厄介ですが、適切なトラブルシューティング手順を組み合わせることで通常は修正できます。幸運を祈ります。お役に立てれば幸いです。
まとめ
- Windows モジュール インストーラー サービスを確認して再起動します。
- そこでセーフモードで SFC を実行してみてください。
- 必要に応じて、コマンド ライン経由でサービスを強制的に開始します。
- 古いビルドまたは壊れたビルドで不足している DLL を手動でコピーします。
- 起動可能なメディアでオフライン修復オプションを使用します。
- より深刻な問題については、DISM と CHKDSK を実行してください。
- 問題のある更新プログラムをアンインストールするか、システム ポイントを復元します。
- 最後の手段として、Windows をリセットするか、クリーン インストールを実行します。
まとめ
Windowsは時々、修復プロセスに支障をきたすことがあります。しかし、少しの忍耐とコマンドラインの魔法を使えば、ほとんどのエラーは修復可能です。理由は分かりませんが、復旧して動作するようになると、なんだか満足感があります。これで誰かの時間も少しでも短縮できれば幸いです。頑張ってください!