OS が起動しなくなる問題 (NoBoot) 発生時の対処方法について - 対処方法

こんにちは、日本マイクロソフトの Windows サポートチームです。

前回に続いて今回は NoBoot の対処方法について紹介させていただきます。なお、前回も記載させていただいておりますが対処方法を実施しても必ず Windows OS が起動できるようになる保証はないことをご注意下さい。

OS が起動しなくなる問題 (NoBoot) 発生時の対処方法について – 概要
https://blogs.technet.microsoft.com/askcorejp/2018/08/24/noboot-troubleshoot-1/

実際に NoBoot が発生してしまった場合、いつも使用している Windows OS は起動できないため Windows 回復環境から操作を行い各種の対処策を実施します。

対処策はコマンド プロンプトよりコマンドにて実行するため、事前に Windows 回復環境からコマンド プロンプトを起動しておく必要があります。万が一 Windows 回復環境が起動していない場合は、インストール メディアから起動します。お手元にインストール メディアが無い場合は、以下のサイトを参考にインストールメディアの準備をお願いいたします。

Windows 10 のダウンロード
https://www.microsoft.com/ja-jp/software-download/windows10

コマンド プロンプト起動手順


--- Windows 回復環境の場合 --------------------
1. 現象が発生した後、回復画面が表示されます。
2. [オプションの選択] で [トラブルシューティング] を選択します。
3. トラブルシューティングの画面で [詳細オプション] を選択します。
4. 詳細オプション画面で [コマンド プロンプト] を選択します。
5. [コマンド プロンプト] で管理者のアカウントを選択します。
6. 管理者のパスワードを入力します。
7. コマンドプロンプト(cmd.exe)が表示されます。

--- インストール メディアの場合 --------------------
1. Windows 8 / Windows Server 2012 以降の OS メディアから起動します。
2. [Windows セットアップ] の画面で言語関連の設定を指定し、[次へ] をクリックします。
3. ウィンドウ内左下に表示される [コンピューターを修復する] をクリックします。
4. [オプションの選択] で [トラブルシューティング] をクリックします。
5. [詳細オプション] で [コマンド プロンプト] をクリックします。

また、コマンドでは Windows フォルダーが存在するドライブを指定する場合があるため、以下の手順にて Windows フォルダーが存在するドライブを特定しておく必要があります。

Windows フォルダーが存在するドライブの確認手順


1. 起動したコマンド プロンプト上で notepad コマンドを実行し、メモ帳を起動します。
2. メモ帳で [ファイル] - [開く…] を実行します。
3. [開く] ダイアログで左側の [コンピューター] をクリックし、ドライブ一覧を表示させます。
4. X: 以外の各ドライブの内容を確認し、Windows フォルダーが存在するドライブを確認します。

  • 多くの場合は C もしくは D ドライブに Windows フォルダーが確認できると思います。下図では D:ドライブに Windows フォルダーが存在していることが確認できます。
  • 万が一、Windows フォルダーが存在するドライブを確認できない場合は、ディスクが認識できない・読み取ることができない可能性が考えられます。ハードウェア障害もしくか暗号化ソフトウェアに起因する可能性も考えられるため、PC の製造元様へご確認下さい。


これで対処策を実行するための環境が整いました。この後は以下のいずれかもしくは複数の対処策を実施し、復旧確認を行います。

[1] スタートアップ修復
[2] Boot 構成情報の修正
[3] SFC (System File Checker)
[4] regback を用いたレジストリ復旧
[5] 更新プログラムのアンインストール

どの対処方法を実施するかは実際の表示内容やエラー情報を参考に行うため一概には言えませんが、一般的にご確認いただく流れとして前回ご紹介しました NoBoot 画面を参考に言うと、大まかに以下のような流れで実施します。

  • 全パターン共通
    [1] スタートアップ修復
    [5] 更新プログラムのアンインストール ※ 更新プログラムのインストール直後に NoBoot になった場合
     
  • パターン 1 の画面が表示される
    [2] Boot 構成情報の修正  ※ Bootmgr / Operating System が見つからない趣旨のメッセージが表示される場合
    ※ ハードウェア故障と思われるメッセージが表示される場合は PC の製造元様までお問合せ下さい
     
  • パターン 2 の画面が表示される
    [2] Boot 構成情報の修正 ※ Boot 構成情報 (BCD : Boot Configuration Data) に問題がある趣旨のメッセージが表示される場合
    [3] SFC (System File Checker)
    [4] regback を用いたレジストリ復旧
      
  • パターン 3 の画面が表示される
    [3] SFC (System File Checker)
    [4] regback を用いたレジストリ復旧 

[1] スタートアップ修復


[概要]
システム ファイルの欠落や損傷など、Windows の正常な起動を妨げる可能性のある特定の問題を修復します。

[手順]

  1. コマンド プロンプトより以下のコマンドを実行します。コマンド実行後は、"PC を診断中" と表示されます。
    X:\Sources\Recovery\StartRep.exe
    < 補足 >
    [オプションの選択] 画面から [トラブル シューティング] -> [詳細オプション] -> [スタートアップ修復] でも実行可能です。
  2. スタートアップ修復完了後、[シャットダウン] を選択してコンピューターの電源を切り、再度電源を入れ、Windows OS が起動することを確認します。

スタートアップ修復のログは以下に記録され、修復状況を確認することが可能です。
%WINDIR%\System32\LogFiles\Srt\SrtTrail.txt

[2] Boot 構成情報の修正


[概要]
MBR (master boot record) やブートセクター、Boot 構成情報 (BCD:Boot Configuration Data) の破損を検知し修復します。

[手順]

  1. コマンド プロンプトより以下のコマンドを実行します。
    Bootrec /RebuildBcd
  2. コマンド完了後、コマンド プロンプトを終了し、[続行] を選択します。Windows OS が起動することを確認します。

参考情報:
"Bootmgr is missing Press Ctrl+Alt+Del to restart" error when you start Windows
https://support.microsoft.com/en-us/help/2622803/bootmgr-is-missing-press-ctrl-alt-del-to-restart-error-when-you-start

Use Bootrec.exe in the Windows RE to troubleshoot startup issues
https://support.microsoft.com/en-us/help/927392/use-bootrec-exe-in-the-windows-re-to-troubleshoot-startup-issues

[3] SFC (System File Checker)


SFC は System File の整合性をスキャンし、破損が見つかった場合は %WinDir%\WinSxS フォルダー配下の情報をコピーして修復します。

[手順]
※ Windows フォルダーが存在するドライブを D: とします。

  1. コマンド プロンプトより以下のコマンドを実行します。
    set windows_tracing_logfile=D:\sfc.log
    sfc /scannow /offbootdir=D:\ /offwindir=D:\Windows
  2. コマンド完了後、コマンド プロンプトを終了し、[続行] を選択します。Windows OS が起動することを確認します。

SFC のログは以下に記録され、修復状況を確認することが可能です。
< Windows フォルダーが存在するドライブ>:\sfc.log

参考情報:
Use the System File Checker tool to repair missing or corrupted system files
https://support.microsoft.com/en-us/help/929833/use-the-system-file-checker-tool-to-repair-missing-or-corrupted-system

[4] regback を用いたレジストリ復旧


[概要]
Windows OS では 10 日おきにレジストリ情報 (レジストリ ハイブ) を以下のフォルダーにバックアップします。
このため、正常に OS が起動していたレジストリのバックアップデータにて現在のレジストリ情報を上書きいただくことで、OS が起動できる可能性があります。
%SystemRoot%\System32\config\RegBack

[注意事項]
SYSTEM、Software レジストリ ハイブ全体を置き換えることになるため、レジストリ のバックアップが採取された以降に変更された情報(各種インストール情報や設定変更など)は破棄されます。

[手順]
※ Windows 回復環境起動時、Windows フォルダーが存在するドライブを D: とします。

  1. コマンド プロンプトより以下のコマンドを実行し、現在のレジストリハイブのコピーを作ります。
    copy d:\Windows\System32\config\SYSTEM d:\Windows\System32\config\system.bak
    copy d:\Windows\System32\config\SOFTWARE d:\Windows\System32\config\software.bak
  2. コマンド プロンプトより以下のコマンドを実行し、レジストリ ハイブを Regback フォルダーから復元します。
    copy d:\Windows\System32\config\RegBack\SYSTEM d:\Windows\System32\config
    copy d:\Windows\System32\config\RegBack\SOFTWARE d:\Windows\System32\config
  3. コマンド完了後、コマンド プロンプトを終了し、[続行] を選択します。Windows OS が起動することを確認します。

[5] 更新プログラムのアンインストール


[概要]
何らかの理由により更新プログラムが期待通りインストールされていない場合、直近でインストールした更新プログラムをアンインストールすることで復旧できる場合があります。

[手順]
※ Windows 回復環境起動時、Windows フォルダーが存在するドライブを D: とします。

  1. コマンド プロンプトより以下のコマンドを実行し、更新プログラムのパッケージの一覧を表示します。
    dism /image:D:\ /get-packages
  2. 各パッケージ情報が以下の書式で表示されます。パッケージ ID の KBxxxxxxx の部分で、直近にインストールした更新プログラムを特定します。またインストール時刻も参考にすることが可能です。
    - [表示例] -------------
    パッケージ ID : Package_for_KB4343669~31bf3856ad364e35~amd64~~17134.165.1.1
    状態 : インストール済み
    リリースの種類 : Update
    インストール時刻 : 2018/07/12 22:23
    ------------------------
  3. 以下のコマンドを実行してパッケージを削除します。2 で確認したパッケージ ID 情報を PackageName オプションの引数として渡します。例えば、下記では KB4343669 をアン インストールしています。
    dism /image:D:\ /remove-package /PackageName:Package_for_KB4343669~31bf3856ad364e35~amd64~~17134.165.1.1
    < 補足 >
    更新プログラム適用中に問題が発生していた場合、パッケージ情報の "状態" が "インストールの保留中" と表示される場合があります。この場合は以下のコマンドを実行してロールバックすることで保留状態を解除します。
    Dism /Image:D:\ /Cleanup-Image /RevertPendingActions
  4. コマンド完了後、コマンド プロンプトを終了し、[続行] を選択します。Windows OS が起動することを確認します。

参考情報:
DISM オペレーティング システム パッケージ (.cab または .msu) サービスのコマンド ライン オプション
https://msdn.microsoft.com/ja-jp/library/windows/hardware/dn898551(v=vs.85).aspx

 


上記対処策を実施しても復旧しない場合は、Windows OS の起動に必要なドライバ ファイルの破損の可能性があります。切り分けとして [スタートアップ設定] 画面から以下の両方をお試しいただき、Windows OS が起動できるかをご確認下さい。
なお、Windows OS 標準の設定から設定変更されている環境では [スタートアップ設定] 画面を表示できない場合があります。

[A] セーフモード
[B] ドライバ署名の強制を無効

スタートアップ設定


1. [オプションの選択] で [トラブルシューティング] を選択します。
2. [トラブルシューティング] の画面で [詳細オプション] を選択します。
3. [詳細オプション] の画面で [スタートアップ 設定] を選択します。
4. [再起動] ボタンをクリックします
5. [スタートアップ設定] 画面から、任意のボタンをクリックします。

ボタンと項目の対応はお使いの環境によって異なる場合があります。例えば、以下の画面が表示された場合は下記ボタンを押下します。
F4 キー:セーフモード起動
F7 キー:ドライバ署名の強制を無効して起動

参考情報:
Windows のスタートアップ設定 (セーフ モードなど)
https://support.microsoft.com/ja-jp/help/17076/windows-8-startup-settings-safe-mode

[A] セーフ モード

ドライバーとサービスの最小のセットで Windows をセーフ モードで起動して、問題をトラブルシューティングすることができます。
PC をセーフ モードで起動して問題が再現しなければ、既定の設定および基本的なデバイス ドライバーとサービスを、可能性のある原因から除外できます。

直近でインストールしたソフトウェアがある場合は、そのソフトウェアをアンインストールします。

[B] ドライバー署名の強制を無効にする

不適切な署名が含まれているドライバーのインストールを許可します。NoBoot 時の切り分けとして本設定の無効化により起動できる場合は、ドライバの署名情報が正しく取得できていない可能性が高く、その多くの場合はカタログ ファイルの破損によって引き起こされます。
Windows OS 起動時に各ドライバから参照されるカタログ ファイルは以下の場所に保存されています。そのため、同様の構成の環境がある場合は正常な PC から上記フォルダをコピーいただくことで復旧できる可能性もあります。
<Windows フォルダーが存在するドライブ>:\Windows\System32\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}

 


これまでの対応策でも復旧できない場合は、時間をかけて更に詳細な調査が必要となります。

なお、優先事項がデータの抽出であれば、(ディスクにアクセスできる場合は) コマンド プロンプトからコピー関連のコマンドをお使いいただくことで、データを異なるストレージ領域にコピーが可能です。

参考情報:
copy
/en-us/windows-server/administration/windows-commands/copy

xcopy
/en-us/windows-server/administration/windows-commands/xcopy

また、PC のリフレッシュ機能をご利用いただくことでもユーザー データをある程度残したまま Windows OS を復旧させることも可能です。更新プログラムや各種ソフトウェアの再インストールは必要となる場合がありますが、Windows OS をクリーン インストールするよりは少ないコストで Windows OS の再インストールが実現可能です。

  • 万が一に備え、重要なデータについては必ずバックアップをご採取ください。
  • 各 PC 製造元様のアプリケーションの保持状況などは PC 製造元様までご確認下さい。
  • 企業様によっては専用の Windows OS イメージをご利用いただいている場合もございますため、IT 管理者様にご確認下さい。
  • 実行手順や保持されるデータなど、詳細につきましては下記サイトをご参考下さい。
    PC のリカバリー機能のしくみ
    https://msdn.microsoft.com/ja-jp/library/windows/hardware/mt210509(v=vs.85).aspx

ストレージがネットワーク上に配置されることが多くなった今日、ローカルで必要としているデータは意外と少ない場合もあります。また現在の Windows Update は累積更新のパッケージがあるため更新プログラムの適用もスムーズではないかと思います。現在お使いの環境が復旧できるのが理想ではありますが、復旧が困難な場合は環境を再構築した方が結果的に少ないコストで状況を復旧できる場合もありますため場合によっては有効な対処方法にもなり得ます。

以上、2 回に渡り NoBoot の概要および対処方法についてご紹介させていただきましたが、いかがでしたでしょうか。本ブログが少しでも皆様のお役に立てますと幸いです。

 

本情報の内容 (添付文書、リンク先などを含む) は、作成日時点でのものであり、予告なく変更される場合があります。