Windows 11をセーフモードで起動する

パソコンにトラブルがあるとき、セーフモードで解決するかどうかを試すときがある。
セーフモードでは、システムを最低限の構成で起動、アプリや一部のドライバを読み込まないため、原因の切り分けにつかう。

(1)起動方法1 設定から

設定>システム>回復で
「PCの起動をカスタマイズ」の今すぐ再起動をクリックする。

青い画面の回復メニューから

トラブルシューティング>詳細オプション>スタートアップ設定>再起動>数字の4
とたどる。

トラブルシューティング

詳細オプション

スタートアップ設定

再起動

数字の4を押す。

(2)起動方法2 Shift+再起動

Windows のスタートメニューから再起動を行う時、キーボードのShift(シフト)キーを押しながら再起動をクリックする。
そうすると、(1)と同じく回復メニューが起動する。

さて、上記2つの起動方法はWindowsが起動できているときにできること。つまりOSは起動できているが何か不調があるときに、セーフモードでも発生するかどうかを見極める場合。
問題はWindowsが通常起動できないときにセーフモードを起動したい場合。これは、セーフモードならば起動するのではないかと見極める場合。

(3)起動方法3 USB回復ドライブから起動モードを変更する

事前に回復ドライブを作成しておく。まぁ経験上、別の端末で作成した回復ドライブでも動かなかったことはない。

USBでWinREを起動する。ここで(1)、(2)の手順と同じく「スタートアップ設定」があればもちろんそれを選んで進めば良い。
「スタートアップ設定」がない場合には、詳細オプションの後にコマンドプロンプトと起動する。

まずは、Windowsがどのドライブに入っているかを調べる。Windowsが通常起動できてるときはc:ドライブであることがほとんどだが、USBブートした時には復旧対象ドライブがc:以外になっていることがある。
diskpartを起動して
list volume
で調べても良いし、dir c:、dir d:、dir e:・・と見ていってそれらしいドライブにあたりを付けても良い。

対象がc:ドライブであるとき、
cd c:
c:
bcdedit /set {default} safeboot minimal
exit ※任意

を実行する

通常はドライブ変更はプロンプトで c: のみで良さそうなところ、cd c: を入れないとうまく行かなかった(ことがあった)

bcdeditを使って、次回以降必ずセーフモードで起動となる。
諸々おわったら、通常起動へ戻す必要がある。

以下セーフモード関連のコマンド。

★セーフモードを有効にする
bcdedit /set {default} safeboot minimal

★セーフモード起動を通常起動へ戻す
bcdedit /deletevalue {default} safeboot

★セーフモードとネットワークを有効にする。スタートアップ設定では「5」に相当。
bcdedit /set {default} safeboot network

★セーフモードとコマンドプロンプトを有効にする。スタートアップ設定では「6」に相当。
bcdedit /set {default} safeboot minimal
bcdedit /set {default} safebootalternateshell yes

ついでに起動のログをとる場合のコマンド
bcdedit /set {default} bootlog Yes

ログは
C:\Windows\ntbtlog.txt

内容は下記のような。ロードされたドライバー、ロードされなかったドライバーなどが記録されている。

BOOTLOG_LOADED \SystemRoot\System32\drivers\ScrHIDDriver2.sys BOOTLOG_LOADED \SystemRoot\System32\drivers\monitor.sys BOOTLOG_LOADED \SystemRoot\System32\cdd.dll BOOTLOG_NOT_LOADED \SystemRoot\System32\drivers\dxgkrnl.sys