2014年8月の更新プログラムにまつわるトラブルでも分かるように、Windows 8.1でも最小限の機能だけでOSを起動するセーフモードは欠かせない。Windows 8以降は起動が高速化したため、ファンクションキーによる起動メニューの呼び出しも不可能になった。前回に引き続き、セーフモードを起動する各種方法を紹介する。

「Windows 8.1ミニTips 第17回」より、2014年4月9日にリリースされたWindows 8.1 Updateを適用した環境を対象としています。

「システム構成」でセーフモードを実行

前回で紹介した手順以外にも、セーフモードを実行する手段は存在する。「システム構成」(msconfig)という機能のダイアログに設けられた「ブート」タブには、起動に関するオプションをGUIベースで選択する項目が並んでいる。

「Win」+「R」キーを押して「ファイル名を指定して実行」を起動し、テキストボックスに「msconfig」と入力して「OK」ボタンをクリック/タップ

「ブート」タブをクリック/タップして開き、「セーフブート」→「OK」ボタンと順番にクリック/タップ

「ブートオプション」セクションに並ぶ「セーフブート」と、後述する項目を選択してPCを再起動すれば、Windows 8.1がセーフモードで起動可能になる。

メッセージが現れる場合は「再起動」ボタンをクリック/タップして、PCを再起動

メッセージが現れない場合は、スタート画面などからPCを再起動

この方法で注意すべきは、常にセーフモードが有効になる点だ。セーフモードでメンテナンスを終えた後に「システム構成」を起動し、「全般」タブの「通常スタートアップ」を選択。再起動をうながすメッセージが現れたらPCを再起動すればよい。

セーフモード上で「システム構成」を起動し、「全般」タブの「通常スタートアップ」→「OK」ボタンとクリック/タップ。メッセージが現れたらPCを再起動

なお、「セーフブート」選択時のオプション構成だが、「最小」は他の手順などでも起動する通常のセーフモード。「代替シェル」はエクスプローラーではなくコマンドプロンプトが起動するセーフモードだ。

誤ってコマンドプロンプトを閉じると操作しにくくなるため、タスクマネージャーを呼び出す「ESC」+「Shift」+「Ctrl」キーの操作を覚えておこう。最後の「ネットワーク」はネットワークデバイスを有効にしたセーフモードとなる。ネットワークトラブル発生時に、問題を切り分ける際に便利だ。

「F8」キーを有効にする

前回は、Windowsの起動時にブートメニューを呼び出す「F8」キーが使えないと述べたが、実は抜け道が残されている。Windows 8以降、ブートマネージャーのUX(User Experience:ユーザーエクスペリエンス)は一新されたが、こちらを旧来のモードに切り替えることで、「F8」キーが使用可能になるのだ。

ブートマネージャーはWindows Vistaから実装した「bcdedit」コマンドで操作できるので、管理者権限で起動したコマンドプロンプトから、「bcdedit /set bootmenupolicy legacy」と実行すればよい。

「Win」+「X」キーを押すなどしてクイックアクセスメニューを開き、「コマンドプロンプト(管理者)」をクリック

コマンドラインに「bcdedit /set bootmenupolicy legacy」と入力して「Enter」キーを押す

実行後にPCを再起動し、適切なタイミングで「F8」キーを押すとWindows XP以前のブートオプションメニューが現れる。ここからセーフモードを選択すればよい。ただし筆者が確認した限り、UEFI環境でうまく動作しなかった。なお、元の状態に戻すには、上記と同じく管理者権限のコマンドプロンプトにて、「bcdedit /set bootmenupolicy standard」を実行する。

この状態でPCを再起動し、「F8」キーを連打するとWindows XP以前のブートオプションメニューが現れる

常にセーフモードを選択可能にする

これらの操作が面倒に感じる場合や、頻繁にPCのメンテナンスを行う場合、OSのブートローダーにセーフモードを加えた方が簡単だ。ただし、コマンドラインからの操作を伴うため、注意して実行してほしい。

まずは管理者権限でコマンドプロンプトを起動し、「bcdedit /enum /v」コマンドで現在の状態を確認しよう。画面の例では「0cae16ba~」というGUIDが割り当てられているので、こちらをクリップボードにコピー。続いて「bcdedit /copy {コピーした内容} /d "セーフモード"」コマンドを実行し、ブートローダー情報を複製する。

管理者権限でコマンドプロンプトを起動し、コマンドラインに「bcdedit /enum /v」と入力して「Enter」キーを押す

コマンドプロンプト内を右クリック/長押しし、メニューから「範囲指定」を選択。その後「identfier」の値を選択して「Enter」キーを押す。これでクリップボードに内容がコピーされた

ここからはGUI上の操作に戻ろう。上述の手順を参考に「システム構成」を起動し、「ブート」タブで複製したブートローダー情報を選択して、「ブートオプション」セクションでセーフモード機能を有効にすればよい。

コマンドラインに「bcdedit /copy {コピーした内容} /d "セーフモード"」と入力して「Enter」キーを押す

「システム構成」を起動し、「ブート」タブで新たにコピーした「セーフモード」を選択。「セーフブート」→「OK」ボタンと順番にクリック/タップ

この状態でPCを再起動すれば、Windowsブートマネージャー起動後に、通常のWindows 8.1とセーフモードの2つが選択可能になる。なお、不要になった場合は「システム構成」でセーフモードのエントリを削除すればよい。

そのまま再起動するとOSがマルチブートに切り替わり、通常のWindows 8.1とセーフモードが選択可能になる

こちらはレガシーモード時のWindowsブートマネージャー。動作は同じだ

阿久津良和(Cactus)