セーフモード起動を行いたい。でも

という場合のセーフモードを起動する方法の紹介です。

はじめに

システム修復ディスク や インストールDVD を起動した場合、「スタートアップ設定」は存在しません。「トラブルシューティング」>「詳細オプション」と進んでも、セーフモードに辿り着くことは出来ません。

システム修復ディスク や インストールDVD を起動し、そこからセーフモードを起動させるためには、このページ書いてあるようなちょっと特殊な手順が必要です。

通常の手順を行った際の挙動

Windows上から呼び出した例
※Windowsが普通に起動できる場合
セーフモードに入るには「設定」メニューから「PCの起動をカスタマイズする」を選び、そこから「セーフモード」に進みます。
「詳細オプション」画面
▲Windowsが正常な場合、この「詳細オプション」の「スタートアップ設定」からセーフモードに進みます。

システム修復ディスクの「詳細オプション」画面の場合
システム修復ディスクの「詳細オプション」画面
▲クリックで拡大

DVDやUSBからセーフモードを起動させるにはどうすればよいのか

まずざっくりと手順を説明すると、インストールDVDや修復ディスクで一旦コマンドプロンプトを起動して、Windowsのブート領域 (BCD領域)を編集し、強制的にセーフモードで起動できるようにします。

※かなり難しい手順なので、まずは別の方法でWindowsが起動できないか確認してみましょう。

※別の方法について

以下、修復ディスクやインストールDVDからセーフモードを起動させる手順の詳細です。

スポンサー リンク

セーフモードに入るための操作手順

「詳細オプション」画面で、まず「コマンドプロンプト」を選択します。
「コマンドプロンプト」を選択
▲クリックで拡大

コマンドプロンプトが起動したら、以下のコマンドを入力します
セーフモード用の入力するコマンド

  • 入力するコマンド
    cd c:
    c:
    bcdedit /set {default} safeboot minimal
    exit
  • 注意1
    DVDやUSBで起動している場合、「cd」コマンドでカレントディレクトリを移動させる必要があります。
  • 注意2
    UEFI/GPT形式でWindows をインストールしている場合、修復ディスクで起動するとシステムドライブがC以外になっている事があります。
    • 「DISKPRAT」や「dir」コマンドなどを使い、システムドライブに割り当てられたドライブレターを確認してから実行しましょう。

 

「exit」コマンドでコマンドプロンプトを終了すると、以下の画面に戻ります。
「続行」を選択し、Windows を通常起動
▲クリックで拡大
ここで「続行」を選択し、Windows を通常起動させます。

これでWindows10がセーフモードで起動しました。
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を通常起動している場合。
Windows10がセーフモードで起動
▲クリックで拡大
図のように、msconfig を起動してセーフモードを解除または設定すればOKです。

参考: コマンドの失敗例

システム修復ディスクやインストールDVDを利用している場合、以下のようなコマンド入力は失敗します。

カレントディレクトリを移動させなかった場合
▲カレントディレクトリを移動させなかった場合

ユーザーIDを指定しなかった場合
▲ユーザーGUIDを指定しなかった場合
bcdedit /set safeboot minimal ・・・・・・・失敗
bcdedit /set {default} safeboot minimal ・・・・・・・成功

  • Windowsが正常起動した後は、{default} を抜いてコマンド入力しても大丈夫です。( この場合はログオン中のユーザーに対して設定されます)
  • システム修復ディスクなどからこのコマンドを実行する場合、ログインユーザーのGUID (通常はdefaultでOK)を指定する必要があります。

 

このページのメインとなる情報はここまで。
以下はおまけです。

応用技

ログインユーザーのGUIDをコピーする事により、ログイン画面に テストモード 専用のログインエントリを追加することも可能です。
Windows10がセーフモードで起動
▲クリックで拡大

この方法を解説しているページ
レッツ! Windows 8 - セーフモードを呼び出す四つの方法 (3)コマンドラインを利用する方法 | マイナビニュース

ざっくり手順

  1. コマンドプロンプト(管理者)起動
  2. 「bcdedit /enum /v」
    →ブートエントリのGUIDを確認&コピー
  3. 「bcdedit /copy {目的のGUID} /d "セーフモード用の新ユーザー名"」
    • ユーザー名は半角英数字推奨。
      厳密にはユーザー名でなく「エントリー名」
  4. 「msconfig」で 新ユーザーをセーフモード起動に指定
    • ここで「bcdedit /set {目的のGUID} safeboot minimal」コマンドを利用しても良い。だけど「msconfig」の方が簡単&ミスが出にくい。
  5. PC再起動

便利なように感じますが、

  • PC再起動する度に表示されるので意外と面倒臭い
  • いざPCが起動しなくなった時、これでセーフブートできるのか不安
  • OSアップグレードした時に不具合の原因になりそうで怖い

などの理由で、私はこの設定は避けるようにしています。

bcdedit 関連の参考リンク

bcdedit についてもっと詳しく勉強したい場合

サイト内 セーフモード関連の記事