【解決法】Windowsリソース保護が修復サービスを開始できないエラーの直し方
このエラーは非常に厄介です。SFC(システムファイルチェッカー)のように、PCの不具合を修復するために使われるサービスを実行しようとした際に表示されることが多く、結果として他のエラーの修正作業まで妨げられてしまいます。
そのため、このエラーには特に注意を払い、以下で紹介するいずれかの方法で解決を試みてください。この問題はWindows OSのあらゆるバージョンで報告されているものですが、幸いにも以下の対処法はすべてのバージョンに適用可能です。
解決策1:Windowsモジュールインストーラーサービス(TrustedInstaller)を開始する
Windowsモジュールインストーラー(TrustedInstaller)サービスは、Windowsコンポーネントのインストール・変更・削除を担う重要なサービスです。このサービスが無効になっていると、Windows Updateやシステム修復ツールのインストールが失敗する可能性があります。TrustedInstallerはWindowsリソース保護のファイルやレジストリキーへのフルアクセス権を持っているため、修復サービスが正常に動作するにはこのサービスが稼働している必要があります。
- 「Windowsキー + R」の組み合わせで「ファイル名を指定して実行」ダイアログを開きます。「services.msc」と入力してOKをクリックします。
- 「Windows Modules Installer」または「TrustedInstaller」サービスを探し、右クリックして「プロパティ」を選択します。
- プロパティ内の「スタートアップの種類」が「自動」に設定されていることを確認します。
- サービスが停止している場合(「サービスの状態」の横で確認できます)は、「開始」ボタンをクリックして即座に起動できます。
「開始」をクリックした際に、以下のようなエラーメッセージが表示される場合があります。
「ローカル コンピューターで Windows Modules Installer を開始できません。エラー 1079:このサービスに指定されたアカウントは、同じプロセスで実行されている他のサービスに指定されたアカウントと異なります。」
このエラーが表示された場合は、以下の手順に従ってください。
- 上記の手順1~3を実行して、Windows Modules Installerサービスのプロパティを開きます。
- 「ログオン」タブに移動し、「参照…」ボタンをクリックします。
- 「選択するオブジェクト名を入力してください」欄にコンピューター名を入力し、「名前の確認」をクリックして名前が認証されるのを待ちます。
- 完了したら「OK」をクリックします。パスワードの入力を求められたら、管理者パスワードを入力します。
補足:Windows Modules Installerサービスを再登録してみるのも有効な手段です。所要時間は1分ほどですが、実際に問題が解決するケースがあります。
- スタートメニューをクリックし、以下のコマンドを入力してEnterキーを押します。
%windir%\system32\msiexec /unregserver - 次に、今度は以下のコマンドで同じ操作を繰り返します。
%windir%\system32\msiexec /regserver - 管理者権限の要求があれば許可してください。その後、問題が解消されたかどうかを確認します。
解決策2:Windows PCを最新の状態に更新する
インターネット上で見つけたいかなる方法でも問題が解決せず困っていたところ、単に最新のアップデートを適用しただけで解決したというユーザーの報告もあります。PCを常に最新の状態に保つことは非常に重要であり、特定メーカーのPCで発生する各種バグも最新のアップデートで修正されます。
Windows 10は定期的に自動更新を行い、自動更新オプションは既定で有効になっています。「設定」→「更新とセキュリティ」→「Windows Update」→「更新プログラムのチェック」から手動で確認することも可能です。しかし、Windowsが正しく更新されていないと感じた場合は、以下の手順を試してください。
- 「Windowsキー + X」を押して特殊なコンテキストメニューを開きます(スタートボタンの右クリックでも可)。「Windows PowerShell(管理者)」を選択します。
- PowerShellコンソールで「cmd」と入力し、コマンドプロンプト風の環境に切り替わるのを待ちます。
- コンソールに以下のコマンドを入力し、Enterキーを押します。
wuauclt.exe /updatenow - コマンドを少なくとも1時間程度実行したままにし、その後、更新プログラムが検出・インストールされたかどうかを確認します。
解決策3:Build 14279向けの対処法
Windows 10のこのバージョン(ビルド14279)ではSFCツールが破損しており、新しいバージョンがリリースされるまで正常に動作しなかったとのユーザー報告があります。とはいえ、まだこのビルドを使用していてSFCを使いたい場合は、以下の回避策で動作させることが可能です。
事前準備:まず、以下のフォルダーの所有権を取得する必要があります。対象は2つのフォルダーなので、それぞれに対して同じ手順を繰り返してください。1つ目はこちらです。
%SystemRoot%\winsxs\amd64_microsoft-windows-servicingstack_31bf3856ad364e35_10.0.14279.1000_none_25a158fc7f85c69d
- エクスプローラーを開き、以下の場所にある TrustedInstaller.exe ファイルを探します。
C:\WINDOWS\servicing\TrustedInstaller.exe - ファイルを右クリックして「プロパティ」を開き、「セキュリティ」タブをクリックします。「詳細設定」ボタンを押すと「セキュリティの詳細設定」ウィンドウが表示されるので、ここで所有者を変更します。
- 「所有者:」ラベルの横にある「変更」リンクをクリックすると、「ユーザーまたはグループの選択」ウィンドウが表示されます。
- 「詳細設定」ボタンからユーザーアカウントを選択するか、「選択するオブジェクト名を入力してください」欄に直接ユーザーアカウント名を入力して「OK」をクリックします。Administratorアカウントを追加してください。
- 必要に応じて、「セキュリティの詳細設定」ウィンドウ内の「サブコンテナーとオブジェクトの所有者を置き換える」にチェックを入れれば、フォルダー内のすべてのサブフォルダーとファイルの所有者もまとめて変更できます。「OK」をクリックして所有権の変更を確定します。
同様の手順を、以下のフォルダーにも必ず実施してください。
%SystemRoot%\winsxs\amd64_microsoft-windows-servicingstack-onecore_31bf3856ad364e35_10.0.14279.1000_none_5a92ee0dd788e433
- 次のフォルダーへ移動します。管理者権限を持っていること、および隠しファイルの表示が有効になっていることを確認してください。エクスプローラーのメニューで「表示」タブをクリックし、「表示/非表示」セクションの「隠しファイル」にチェックを入れると、隠しファイルが表示されます。この設定は再び変更するまで保持されます。
%SystemRoot%\winsxs\amd64_microsoft-windows-servicingstack_31bf3856ad364e35_10.0.14279.1000_none_25a158fc7f85c69d - 「wrpint.dll」というファイルが存在するか確認します。ファイルが存在しない場合は、別の場所から入手してコピーする必要があります。以下のフォルダーへ移動して wrpint.dll を探し、右クリックして「コピー」を選択してください。
%SystemRoot%\winsxs\amd64_microsoft-windows-servicingstack-onecore_31bf3856ad364e35_10.0.14279.1000_none_5a92ee0dd788e433 - wrpint.dll を、ファイルが不足していた最初のフォルダーに貼り付け、SFCが動作するようになったかどうかを確認します。
解決策4:不足しているレジストリキーを追加する
特定のバージョンのWindowsでは、TrustedInstallerサービスのIDに関連するレジストリキーが欠落しているという問題が存在します。この修正はやや高度な操作を伴うため、以下の手順を慎重に実行してください。
この解決策を試す前に、実行中のアプリケーションをすべて閉じることをおすすめします。また、編集作業中に重大なトラブルが発生した場合に備えて、レジストリのバックアップを作成しておくことも強く推奨します。
- 以下のフォルダーに移動し、「6.1.7600.16385」のような形式の名前が付いたサブフォルダーを探します。これがTrustedInstallerのIDなので、フォルダー名をコピーしてメモ帳などに控えておきましょう。
C:\Windows\Servicing\Version - 次に「C:\Windows\WinSxS」フォルダーへ移動し、以下の形式で始まる名前のフォルダーを探します。
x86_microsoft-windows-servicingstack_31bf3856ad364e35_{TrustedInstaller ID}(32bit版Windows)
amd64_microsoft-windows-servicingstack_31bf3856ad364e35_{TrustedInstaller ID}(64bit版Windows) - 該当フォルダーの名前をコピーし、テキストファイルなどに保管しておいてください。
作業を進める前に、特定のレジストリキーの所有権を取得する必要があります。以下の手順に沿って慎重に行えば、難しい操作ではありません。
- 以下のレジストリキーへ移動し、画面左側のツリーで「Component Based Servicing」を右クリックして「アクセス許可」を選択します。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing - ウィンドウが開いたら「詳細設定」をクリックし、「所有者」タブへ移動します。「変更後の所有者」セクションで「Administrators」を選択して「適用」をクリックします。
- その後、このウィンドウと詳細設定ウィンドウを閉じ、「アクセス許可」ウィンドウの「グループまたはユーザー名」セクションで「Administrators」を選択します。
- 「Administrators のアクセス許可」セクションで「フル コントロール」にチェックを入れ、「適用」をクリックして変更を反映します。
さて、いよいよ最終段階です。この作業自体はそれほど時間はかかりません。
- 以下のレジストリキーへ移動し、ウィンドウ右側の空きスペースを右クリックして「新規」→「キー」を選択し、「Version」という名前を付けます。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing - 作成した「Version」キーの中に「展開可能な文字列値」を新規作成し、その名前に先ほど控えたTrustedInstaller IDを設定します。この文字列値を右クリックして「修正」を選択します。
- 値のデータには、WinSxS配下の該当フォルダーへのフルパスを入力します。例:
%SystemRoot%\WinSxS\x86_microsoft-windows-servicingstack_31bf3856ad364e35_{TrustedInstaller ID}(32bit版Windows) - 問題が解決したかどうかを確認してください。
解決策5:オフラインSFCスキャンを実行する
この方法で解決した人は少数ながら実際に存在し、Microsoftのエンジニアからも強く推奨されている手法です。通常の状態でSFCスキャンに問題が発生している場合でも、オフラインスキャンなら比較的簡単に実行できます。
- 「コマンドプロンプト」を検索し、右クリックして「管理者として実行」を選択します。以下のコマンドをコピー&ペーストして、Enterキーを押します。
sfc /SCANNOW /OFFBOOTDIR=c:\ /OFFWINDIR=c:\windows - スキャン成功のメッセージが表示されれば問題は解決です。同じエラーが再び表示された場合は、本記事の他の方法を試してください。
解決策6:ファイルの名前を変更する
このファイルの名前変更は多くのケースで有効ですが、実行前に必ずPCに保留中の更新プログラムをすべてインストールしておくことが重要です。このファイルにはPCの現在の状態や保留中のアップデートに関する情報が大量に含まれており、名前を変更するとそれらの更新が正しくインストールできなくなる恐れがあるためです。
- 「C:\Windows\WinSxS」フォルダーへ移動し、「pending.xml」という名前のファイルを探します。右クリックして「名前の変更」を選択します。
- ファイル名を「pending.old.xml」に変更し、問題が解決したかどうかを確認します。解決しない場合は、必ず元のファイル名に戻してください。
-
【解決方法】Windows Updateサービスが停止できない問題を修正するには
Windowsは世界中の多くのユーザーに選ばれているOSです。多様なアプリケーションとスムーズに連携し、Microsoftから定期的にアップデートが配信されます。アップデートを重ねるごとに、Windowsはより効率的で安定したものへと進化していきます。しかし、ときには予期しないトラブルが発生することもあります。 その一つが、コマンドプロンプトでWindows Updateを停止しようとした際に「Windows Updateサービスを停止できませんでした」というメッセージが表示される問題です。アップデートによってシステム設定が変更されたり、望まない新機能が追加されたりするのを防ぎたい場合、ne
-
【解決】「Windows リソース保護は修復サービスを開始できませんでした」エラーの対処法(SFC /scannow が動かないとき)
Windows パソコンには、C:\Windows\System32 フォルダに格納されている「システム ファイル チェッカー(System File Checker)」というユーティリティが搭載されています。このツールを使うと、破損や欠落した Windows システムファイルをスキャンし、自動的に修復することができます。 コマンドプロンプトで sfc /scannow コマンドを実行すると、破損したファイルや内容が欠落しているファイルを検出し、%WinDir%\System32\dllcache 内の圧縮フォルダから正常なファイルをコピーして復元してくれます。Windows の動作が不安定に