セーフモード起動を行いたい。でも
- Windows 10/8.1そのものが起動しない
- F8キーやDELキーを押してもセーフモードに入れない
という場合のセーフモードを起動する方法の紹介です。
はじめに
システム修復ディスク や インストールDVD を起動した場合、「スタートアップ設定」は存在しません。「トラブルシューティング」>「詳細オプション」と進んでも、セーフモードに辿り着くことは出来ません。
システム修復ディスク や インストールDVD を起動し、そこからセーフモードを起動させるためには、このページ書いてあるようなちょっと特殊な手順が必要です。
通常の手順を行った際の挙動
Windows上から呼び出した例
※Windowsが普通に起動できる場合
セーフモードに入るには「設定」メニューから「PCの起動をカスタマイズする」を選び、そこから「セーフモード」に進みます。
▲Windowsが正常な場合、この「詳細オプション」の「スタートアップ設定」からセーフモードに進みます。
システム修復ディスクの「詳細オプション」画面の場合
▲クリックで拡大
- システム修復ディスク の「詳細オプション」には、セーフモードに入るためのメニュー「スタートアップ設定」がありません。
インストールDVDの場合も同様に、セーフモードに入るメニューがありません。
DVDやUSBからセーフモードを起動させるにはどうすればよいのか
まずざっくりと手順を説明すると、インストールDVDや修復ディスクで一旦コマンドプロンプトを起動して、Windowsのブート領域 (BCD領域)を編集し、強制的にセーフモードで起動できるようにします。
※かなり難しい手順なので、まずは別の方法でWindowsが起動できないか確認してみましょう。
※別の方法について
- Windows 10 や 8.1 の場合、Windowsが起動しなくなった時にはまず 「スタートアップ修復」を2~3回試してみましょう。
- それでもPCが起動しないような場合、以下の手順を参考にセーフモード起動、もしくは コマンドプロンプトからの復旧 を試してみましょう。
以下、修復ディスクやインストールDVDからセーフモードを起動させる手順の詳細です。
セーフモードに入るための操作手順
「詳細オプション」画面で、まず「コマンドプロンプト」を選択します。
▲クリックで拡大
コマンドプロンプトが起動したら、以下のコマンドを入力します
- 入力するコマンド
cd c:
c:
bcdedit /set {default} safeboot minimal
exit - 注意1
DVDやUSBで起動している場合、「cd」コマンドでカレントディレクトリを移動させる必要があります。 - 注意2
UEFI/GPT形式でWindows をインストールしている場合、修復ディスクで起動するとシステムドライブがC以外になっている事があります。
- 「DISKPRAT」や「dir」コマンドなどを使い、システムドライブに割り当てられたドライブレターを確認してから実行しましょう。
「exit」コマンドでコマンドプロンプトを終了すると、以下の画面に戻ります。
▲クリックで拡大
ここで「続行」を選択し、Windows を通常起動させます。
これでWindows10がセーフモードで起動しました。
▲クリックで拡大
Windows 10/8.1マシンの「システム修復ディスク や インストールDVDからセーフモードを起動する方法」の紹介は以上です。
元に戻す方法、およびその他のコマンド
上記の起動設定のままでは、Windowsは毎回セーフモードで起動します。
以下、これを解除する方法の紹介です。
コマンドプロンプト上で入力、GUI上の操作、いずれの方法でもOKです。
方法1:
コマンドプロンプト(管理者)で入力する場合
- 元に戻すコマンド
bcdedit /deletevalue {default} safeboot - セーフ モードを有効にする
bcdedit /set {default} safeboot minimal
- ネットワークとセーフ モードを有効にする
bcdedit /set {default} safeboot network
- コマンド プロンプトとセーフ モードを有効にする
bcdedit /set {default} safeboot minimal
bcdedit /set {default} safebootalternateshell yes
方法2:
セーフモードが起動できた後や、Windowsを通常起動している場合。
▲クリックで拡大
図のように、msconfig を起動してセーフモードを解除または設定すればOKです。
参考: コマンドの失敗例
システム修復ディスクやインストールDVDを利用している場合、以下のようなコマンド入力は失敗します。
▲カレントディレクトリを移動させなかった場合
▲ユーザーGUIDを指定しなかった場合
bcdedit /set safeboot minimal ・・・・・・・失敗
bcdedit /set {default} safeboot minimal ・・・・・・・成功
- Windowsが正常起動した後は、{default} を抜いてコマンド入力しても大丈夫です。( この場合はログオン中のユーザーに対して設定されます)
- システム修復ディスクなどからこのコマンドを実行する場合、ログインユーザーのGUID (通常はdefaultでOK)を指定する必要があります。
このページのメインとなる情報はここまで。
以下はおまけです。
応用技
ログインユーザーのGUIDをコピーする事により、ログイン画面に テストモード 専用のログインエントリを追加することも可能です。
▲クリックで拡大
この方法を解説しているページ
レッツ! Windows 8 - セーフモードを呼び出す四つの方法 (3)コマンドラインを利用する方法 | マイナビニュース
ざっくり手順
- コマンドプロンプト(管理者)起動
- 「bcdedit /enum /v」
→ブートエントリのGUIDを確認&コピー - 「bcdedit /copy {目的のGUID} /d "セーフモード用の新ユーザー名"」
- ユーザー名は半角英数字推奨。
厳密にはユーザー名でなく「エントリー名」
- ユーザー名は半角英数字推奨。
- 「msconfig」で 新ユーザーをセーフモード起動に指定
- ここで「bcdedit /set {目的のGUID} safeboot minimal」コマンドを利用しても良い。だけど「msconfig」の方が簡単&ミスが出にくい。
- PC再起動
便利なように感じますが、
- PC再起動する度に表示されるので意外と面倒臭い
- いざPCが起動しなくなった時、これでセーフブートできるのか不安
- OSアップグレードした時に不具合の原因になりそうで怖い
などの理由で、私はこの設定は避けるようにしています。
bcdedit 関連の参考リンク
bcdedit についてもっと詳しく勉強したい場合
- BCDEdit のコマンド ライン オプション -Microsoft Technet
- BCDEdit のコマンドライン オプション - Windows 10 hardware dev -Microsoft MSDN
- Tech TIPS:Windowsのbcdeditでブートメニューの表示順序やデフォルトを変更する - @IT