sfc / scannow を実行すると Windows リソース保護は、修復サービスを開始できませんでした。と表示されSFC実行できない。【 Windows7/8/8.1 】
sfc /scannow を実行すると
「Windows リソース保護は、修復サービスを開始できませんでした。」
と表示される場合で
TrustedInstaller (Windows Modules Installer) が
正しく開始されない場合が原因の対処方法になります。
ー
・原因
以下のレジストリーが変更された場合に発生する。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Version
ー
・対処方法
1.
C:\Windows\Servicing\Version を確認する。
「 6.1.7600.16385 」というフォルダがあれば、これが
TrustedInstaller の id になります。 ※IDは環境によって変わる。
2.
次に C:\Windows\WinSxS を確認し以下のフォルダがあるか確認する。
( C:\Windows\WinSxS を開き右上の検索窓で検索すると楽 )
例)amd64 servicingstack_31bf3856ad364e35 6.1.7600.16385 等で
32 ビットの場合 ※ID( 6.1.7600.16385 )は環境によって変わる。
x86_microsoft-windows-servicingstack_31bf3856ad364e35_6.1.7600.16385
64 ビットの場合 ※ID( 6.1.7600.16385 )は環境によって変わる。
amd64_microsoft-windows-servicingstack_31bf3856ad364e35_6.1.7600.16385
フォルダが確認できればフォルダパスをメモする。
例)
C:\Windows\winsxs\amd64_microsoft-windows-servicingstack_31bf3856ad364e35_6.1.7600.16385_none_655452efe0fb810b
3.
レジストリエディタを開き以下の階層まで行く
HKLM\Software\Microsoft\Windows\CurrentVersion\Component Based Servicing\Version
ただし、アクセス許可が無いため通常は変更ができない。
以下の方法でアクセス権を与える。
(Windows7 の場合)
①Version を右クリックし「アクセス許可」を選択
②詳細設定をクリック
③所有者が TrustedInstaller もしくは、SYSTEM になっているのを確認
④下の所有者の変更で現在のユーザーに変更する(ユーザー選択し適用)
⑤「OK」を選択し前の画面に戻る。選択したユーザーのフルコントロールにチェックし適用
⑥「OK」で閉じる
4.
右側の項目を右クリックし、「文字列値」を追加する。
名前は、ID に変更する。
例)6.1.7600.16385
ダブルクリックし値にフォルダパスを入力する。
(※但し、C:\Windows\ ではなく %SystemRoot% とすること)
例) %SystemRoot%\WinSxS\amd64_microsoft-windows-servicingstack_31bf3856ad364e35_6.1.7600.16385_none_655452efe0fb810b
で閉じればOKです。
詳しくは、MSサイトにあります。
「Windows リソース保護は、修復サービスを開始できませんでした。」
と表示される場合で
TrustedInstaller (Windows Modules Installer) が
正しく開始されない場合が原因の対処方法になります。
ー
・原因
以下のレジストリーが変更された場合に発生する。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Version
ー
・対処方法
1.
C:\Windows\Servicing\Version を確認する。
「 6.1.7600.16385 」というフォルダがあれば、これが
TrustedInstaller の id になります。 ※IDは環境によって変わる。
2.
次に C:\Windows\WinSxS を確認し以下のフォルダがあるか確認する。
( C:\Windows\WinSxS を開き右上の検索窓で検索すると楽 )
例)amd64 servicingstack_31bf3856ad364e35 6.1.7600.16385 等で
32 ビットの場合 ※ID( 6.1.7600.16385 )は環境によって変わる。
x86_microsoft-windows-servicingstack_31bf3856ad364e35_6.1.7600.16385
64 ビットの場合 ※ID( 6.1.7600.16385 )は環境によって変わる。
amd64_microsoft-windows-servicingstack_31bf3856ad364e35_6.1.7600.16385
フォルダが確認できればフォルダパスをメモする。
例)
C:\Windows\winsxs\amd64_microsoft-windows-servicingstack_31bf3856ad364e35_6.1.7600.16385_none_655452efe0fb810b
3.
レジストリエディタを開き以下の階層まで行く
HKLM\Software\Microsoft\Windows\CurrentVersion\Component Based Servicing\Version
ただし、アクセス許可が無いため通常は変更ができない。
以下の方法でアクセス権を与える。
(Windows7 の場合)
①Version を右クリックし「アクセス許可」を選択
②詳細設定をクリック
③所有者が TrustedInstaller もしくは、SYSTEM になっているのを確認
④下の所有者の変更で現在のユーザーに変更する(ユーザー選択し適用)
⑤「OK」を選択し前の画面に戻る。選択したユーザーのフルコントロールにチェックし適用
⑥「OK」で閉じる
4.
右側の項目を右クリックし、「文字列値」を追加する。
名前は、ID に変更する。
例)6.1.7600.16385
ダブルクリックし値にフォルダパスを入力する。
(※但し、C:\Windows\ ではなく %SystemRoot% とすること)
例) %SystemRoot%\WinSxS\amd64_microsoft-windows-servicingstack_31bf3856ad364e35_6.1.7600.16385_none_655452efe0fb810b
で閉じればOKです。
詳しくは、MSサイトにあります。