Windows Server 2019 をセーフモードで起動する方法

目次
- どんな時にセーフモードを使うべきか
- 方法 1: システム構成 (msconfig)
- 方法 2: ログイン画面から Shift + 再起動
- 方法 3: bcdedit を使うコマンドライン
- 方法 4: インストールメディアまたは回復ドライブから起動
- DSRM(ディレクトリサービス復旧モード)について
- 役割別チェックリスト(管理者向け)
- トラブルシューティングとよくある失敗例
- フローチャートで手順を選ぶ
- まとめ
- よくある質問(FAQ)
どんな時にセーフモードを使うべきか
セーフモードは、OS が通常起動しない、ブートループが発生する、サードパーティ製ドライバーが原因である疑いがある、またはマルウェアの除去やファイル修復を行いたいときに有効です。最小限のドライバーとサービスだけを読み込むため、原因の切り分けがしやすくなります。
重要な点: セーフモードでは多くのサーバーサービス(Active Directory、IIS、SQL Server など)が停止することがあります。本番稼働のワークロードで利用するものではなく、あくまで診断・復旧用です。
方法 1: システム構成 (msconfig)
この方法は、GUI にアクセスできるときに使いやすい手順です。
手順:
- [Windows] + R を押し、msconfig と入力して Enter。
- 「システム構成」ウィンドウで「ブート」タブを選択。
- 「ブート オプション」の下で「セーフ ブート」をチェックし、「最小」を選択。
- [OK] をクリックして再起動。サーバーはセーフモードで起動します。
戻す手順:
- 再度 msconfig を開き、「セーフ ブート」のチェックを外して再起動します。
注意:
- msconfig による設定は次回起動から有効になります。起動ループ中の回復には使えません。
方法 2: ログイン画面から Shift + 再起動
GUI ログイン画面に入れるが OS の通常起動では問題がある場合に便利です。
手順:
- ログイン画面で画面右下の電源アイコンをクリック。
- Shift キーを押したまま「再起動」を選択。
- 回復オプションメニューで「トラブルシューティング > 詳細オプション > スタートアップ設定 > 再起動」を選ぶ。
- 再起動後、表示されるオプションから「セーフモードを有効にする」(通常は F4)を押す。
使いどころ:
- GUI が利用でき、簡単に回復環境に入れそうなとき。
方法 3: bcdedit を使うコマンドライン
サーバーにリモートで接続している、または管理者権限でコマンドを実行できる場合に確実な方法です。
手順:
- 管理者権限でコマンドプロンプトを開く。
- 次のコマンドを実行して、次回起動をセーフモードに設定します:
bcdedit /set {default} safeboot minimal
- サーバーを再起動するとセーフモードで起動します。
- セーフモードを解除するには、管理者プロンプトで次を実行します:
bcdedit /deletevalue {default} safeboot
注意:
- {default} のエントリが複数ある環境やマルチブートの場合、正しいブートエントリを指定する必要があります。
bcdedit
の出力を確認してから実行してください。
方法 4: インストールメディアまたは回復ドライブから起動
サーバーが通常起動しない場合は、外部メディアから起動してセーフモードを有効にできます。
手順:
- Windows Server 2019 のインストールメディアまたは回復ドライブを挿入して、メディアからブートする。
- 言語選択の画面で「次へ」を選び、「コンピューターを修復する(Repair your computer)」をクリック。
- 「トラブルシューティング > 詳細オプション > コマンドプロンプト」を開く。
- 方法 3 と同じ
bcdedit
コマンドを実行してセーフモードを有効にする。
補足:
- 外部メディアから操作する際は、ブート順序を誤らないよう注意してください。
- ハードウェア障害が疑われる場合、ディスクやメモリの自己診断(メーカーのツール)も併用してください。
DSRM(ディレクトリサービス復旧モード)について
ドメインコントローラー(DC)を修復する際は、通常のセーフモードではなく DSRM(Directory Services Restore Mode)を使用することが推奨されます。DSRM は Active Directory を停止した状態で起動し、データベースの修復や復元を行える専用モードです。
DSRM で起動する方法:
- DSRM パスワードはあらかじめ設定されている必要があります。
- 起動時に F8(古い BIOS 環境)やブートオプションから「Directory Services Restore Mode」を選択します。UEFI 環境やセキュアブート時は回復メニューから選びます。
注意:
- DSRM で起動するとドメインサービスはオフラインになります。運用中のドメインに影響するため、計画的に実行してください。
役割別チェックリスト(管理者向け)
一般システム管理者:
- 作業前に完全なバックアップ(システム状態を含む)を取得
- 影響範囲(停止するサービス)を関係者に通知
- セーフモードでログインできる管理アカウントを確認
ドメイン管理者:
- DSRM パスワードが手元にあるか確認
- レプリケーションやグローバルカタログに関する影響を評価
ネットワーク管理者:
- ネットワークベースの診断が必要か(ネットワーク付きセーフモード)を検討
- 必要なら「ネットワークを有効にしたセーフモード(Safe Mode with Networking)」で起動
アプリケーション管理者(IIS/SQL):
- サービス停止によるデータベース整合性やログの影響を確認
- 作業後にサービスを順次復旧する手順を用意
よくある失敗例と回避策
セーフモード後に通常起動できなくなった
- 原因: bcdedit で誤ったエントリを変更した可能性。
- 対策: インストールメディアで起動し、
bcdedit /v
でエントリを確認して修正。
マルチブート環境で間違ったブートエントリに対してコマンドを実行した
- 原因: {default} が期待と異なるエントリを指す。
- 対策:
bcdedit /enum
で正しい識別子を確認してから操作。
ドメインコントローラーで通常のセーフモードを使って AD を修復しようとした
- 原因: 通常セーフモードでは AD データベースが利用できない。
- 対策: DSRM を使うか、適切な AD 専用ツールで対応。
セーフモード起動を選ぶためのフローチャート
以下は簡易判断フローです。該当するノードに従って最適な方法を選んでください。
flowchart TD
A[サーバーは通常起動するか?] -->|はい| B[GUI で問題が起きる]
A -->|いいえ| C[外部メディアか回復ドライブを使用]
B --> D{ログイン画面に入れるか}
D -->|はい| E[Shift+再起動で回復オプション]
D -->|いいえ| C
C --> F[コマンドプロンプトで bcdedit]
E --> G[スタートアップ設定でセーフモード選択]
F --> G
トラブルシューティングのミニ手順(チェックリスト)
- まずログを確認(イベントビューア、System と Application)。
- sfc /scannow と DISM をセーフモードで実行して破損を修復。
sfc /scannow
DISM /Online /Cleanup-Image /RestoreHealth
- ドライバーが原因と思われる場合は最近導入したドライバーを削除または差し替え。
- マルウェア疑いがある場合は、オフラインスキャン用のツールを実行して駆除。
- 変更をロールバックする場合は、システムイメージまたはバックアップからの復元を検討。
セキュリティとプライバシーの注意点
- セーフモード中は一部のセキュリティソフトが動作しない可能性があります。マルウェア駆除はオフラインスキャンや専用ツールの使用を検討してください。
- DSRM のパスワードは安全に保管し、アクセスログを監査することを推奨します。
まとめ
セーフモードはトラブルの切り分けと復旧に強力なツールです。GUI が使える場合は msconfig や Shift+再起動、GUI が使えない場合やリモート管理では bcdedit、起動不能な場合はインストールメディア経由での回復を使います。ドメインコントローラーの修復は通常のセーフモードではなく DSRM を使うのが安全です。
重要: 作業前にバックアップを取り、影響範囲を関係者に通知してから実施してください。
よくある質問(FAQ)
Windows Server 2019 を起動時にセーフモードにするには?
インストールメディアを使う、またはログイン画面で Shift を押しながら再起動して回復オプションを選択します。
ネットワークを有効にしたセーフモードとは何ですか?
ネットワークドライバーと関連サービスを有効にしたセーフモードです。インターネットからツールや更新をダウンロードする必要があるトラブルシューティングで使います。
通常起動できない場合でもセーフモードに入れますか?
はい。インストールメディアや回復ドライブから起動してコマンドプロンプトや回復オプションを使うことでセーフモードを有効にできます。
セーフモードを解除するには?
管理者コマンドプロンプトで次を実行します:
bcdedit /deletevalue {default} safeboot
または、msconfig の「セーフ ブート」のチェックを外して再起動してください。
セーフモードはサーバーの役割やアプリケーションに影響しますか?
はい。Active Directory、IIS、SQL Server など多くのサービスが起動しません。運用中の処理には向きません。診断と復旧専用の環境として使用してください。
ドメインコントローラーに対してセーフモードは安全ですか?
ドメインサービスが利用できない点に注意が必要です。AD データベースの修復には DSRM を使用してください。
短いチェックリスト(作業開始前):
- バックアップを取得したか?
- 管理者アカウントの資格情報はあるか?
- 影響範囲を関係者へ通知したか?