Windows のセーフモード
Windows ではトラブルシューティングのツールとしてセーフモードでの起動が行えます。セーフモードでは Windows にインストールされているサードパーティー製のサービスや、Windows に既定で含まれるものでも Windows の最小限の起動に必要が無いサービスとドライバーを読み込まずに Windows が起動します。このため Windows 上で発生している問題がサードパーティー製のサービスやドライバーに起因している可能性がある場合、セーフモードで起動するとその問題が発生しなくなり、問題の原因の切り分けや一時的な回避が行えます。
※ Windows スタートアップ設定 – Microsoft サポート
セーフモードにはネットワーク関係のドライバーやサービスも無効にする(そのためイーサネット接続も行えない)(通常の)「セーフモード」と、ネットワーク接続(イーサネット接続)が行える「セーフモードとネットワーク」の2種類が用意されています。
セーフモードやセーフモードとネットワークで読み込まれるサービスとドライバーはレジストリで設定されています。それぞれ以下のレジストリ キーの配下に読み込まれるサービスやドライバーが記載されています。
- セーフモード
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal - セーフモードとネットワーク
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network
セーフモードに Windows インストーラーを追加する
さて、Windows でよくあるトラブルの一つがソフトウェアのインストールやアンインストールがエラーになるという問題です。この問題の原因はさまざまですが、サードパーティー製のサービスやドライバーが原因で問題が起きている場合があります。
通常はこのような際には Windows をクリーンブートすることで、サードパーティー製のソフトウェアの影響を受けない状態にして問題を回避するのですが、場合によってはそれでも問題が改善しないこともあります。そのような時はセーフモードで Windows を起動してインストール/アンインストールを試すと良いのですが、多くのソフトウェアは Windows インストーラー(msiexec)を利用してインストールが行われています。
このようなソフトウェアは Windows インストーラーのサービスが動作していないとインストール/アンインストールが行えませんが、Windows インストーラーのサービスはセーフモードでは起動しないようになっています。そのためセーフモードでインストール/アンインストールを行おうとしても、Windows インストーラー サービスが起動していないというエラーになってしまい、インストール/アンインストールは行えません。
Windows インストーラーをセーフモードで起動するように構成するには、先ほどのレジストリ キーを編集します。
具体的には、以下のキーを作成し、その「(既定)」のデータを Service とします。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal\MSIServer

もし「セーフモードとネットワーク」でも Windows インストーラーを利用する場合は
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\MSIServer
キーを作成して、その「(既定)」のデータを Service とします。
これでセーフモード(セーフモードとネットワーク)で起動した際にも Windows インストーラーが利用可能となり、Windows インストーラーを利用しているソフトウェアのインストール/アンインストールが行えます。
この記事を書いた人
