STOP エラー 7B またはInaccessible_Boot_Deviceの高度なトラブルシューティング

この記事では、"Stop error 7B: Inaccessible_Boot_Device" のトラブルシューティング手順について説明します。 このエラーは、コンピューターにいくつかの変更が加えられた後、またはコンピューターに Windows を展開した直後に発生する可能性があります。

適用対象: Windows 10

Inaccessible_Boot_Device停止エラーの原因

次のいずれかの要因によって、停止エラーが発生する可能性があります。

  • ストレージ スタックに関連するフィルター ドライバーが見つからない、破損している、または不適切な動作をしている
  • ファイル システムの破損
  • BIOS のストレージ コントローラー モードまたは設定の変更
  • Windows のインストール時に使用されたストレージ コントローラーとは異なるストレージ コントローラーの使用
  • 別のコントローラーを持つ別のコンピューターにハード ディスクを移動する
  • マザーボードまたはストレージ コントローラーの障害、またはハードウェアの障害
  • 通常とは異なる場合、TrustedInstaller サービスが新しくインストールされた更新プログラムをコミットできないのは、コンポーネント ベースのストアの破損が原因です
  • ブート パーティション内の破損したファイル (たとえば、コマンドの実行時に SYSTEM というラベルが付いているボリューム内の diskpart>list vol 破損)
  • ブート パーティションのエントリの前に空の GPT エントリがある場合

このエラーのトラブルシューティング

次の手順に従って 、Windows 回復モード (WinRE) でコンピューターを起動します。

  1. インストールされているバージョンの Windows のインストール メディアを使用して、システムを起動します。
  2. [Windows のインストール] 画面で、[次へ]、[コンピューターの修復] の順に選択します。
  3. [ システム回復オプション] 画面で、[ 次の>コマンド プロンプト] を選択します。

ブート ディスクが接続され、アクセス可能であることを確認する

手順 1

WinRE コマンド プロンプトで、 を実行 diskpartし、 を実行 list diskします。

コンピューターに接続されている物理ディスクの一覧が表示され、次の表示のようになります。

  Disk ###  Status         Size     Free     Dyn  Gpt

  --------  -------------  -------  -------  ---  ---

  Disk 0    Online         **size*  GB      0 B        *

コンピューターで Unified Extensible Firmware Interface (UEFI) スタートアップ インターフェイスを使用している場合は、列にGPTアスタリスク (*) が表示されます。

コンピューターが基本的な入出力システム (BIOS) インターフェイスを使用している場合、列に Dyn アスタリスクはありません。

手順 2

コマンドが list disk OS ディスクを正しく一覧表示する場合は、 で diskpartコマンドをlist vol実行します。

list vol は、次の表示のような出力を生成します。

  Volume ###  Ltr  Label        Fs     Type        Size     Status     Info

  ----------  ---  -----------  -----  ----------  -------  ---------  --------

  Volume 0         Windows RE   NTFS   Partition    499 MB  Healthy

  Volume 1     C   OSDisk       NTFS   Partition    222 GB  Healthy    Boot

  Volume 2         SYSTEM       FAT32  Partition    499 MB  Healthy    System

注:

OS を含むディスクが出力に一覧表示されない場合は、OEM または仮想化の製造元に問い合わせてください。

ブート構成データベースの整合性を確認する

ブート構成データベース (BCD) に正しいエントリがすべて含まれているかどうかを確認します。 この手順を実行するには、WinRE コマンド プロンプトで を実行 bcdedit します。

BCD エントリを確認するには:

  1. {bootmgr} 識別子を持つ Windows ブート マネージャー セクションを調べます。 デバイスパスのエントリが正しいデバイスとブート ローダー ファイルを指していることを確認します。

    コンピューターが UEFI ベースの場合、出力例を次に示します。

    device                  partition=\Device\HarddiskVolume2
    path                    \EFI\Microsoft\Boot\bootmgfw.efi
    

    マシンが BIOS ベースの場合、出力例を次に示します。

    Device                partition=C:
    

    注:

    この出力にはパスが含まれていない可能性があります。

  2. {default} 識別子を持つ Windows ブート ローダーで、デバイスパスosdevicesystemroot が正しいデバイスまたはパーティション、winload ファイル、OS パーティションまたはデバイス、OS フォルダーを指していることを確認します。

    注:

    コンピューターが UEFI ベースの場合、{bootmgr} と {default}path パラメーターで指定されているファイル パス値には、.efi 拡張子が含まれます。

    Windows ブート ローダーの詳細情報を含む bcdedit 出力のスクリーンショット。

いずれかの情報が間違っているか見つからない場合は、BCD ストアのバックアップを作成することをお勧めします。 これを行うには、 を実行します bcdedit /export C:\temp\bcdbackup。 このコマンドは、bcdbackup という名前のバックアップを C:\temp\ に作成します。 バックアップを復元するには、 を実行 bcdedit /import C:\temp\bcdbackupします。 このコマンドは、 bcdbackup の設定を使用して、すべての BCD 設定を上書きします。

バックアップが完了したら、次のコマンドを実行して変更を行います。

bcdedit /set *{identifier}* option value

たとえば、{default} の下のデバイスが間違っているか見つからない場合は、次のコマンドを実行して設定します。 bcdedit /set {default} device partition=C:

BCD を完全に再作成する場合、または "ブート構成データ ストアを開くことができませんでした。指定されたファイルがシステムで見つかりませんでした。 " を実行 bootrec /rebuildbcdします。

BCD に正しいエントリがある場合は、winload エントリと bootmgr エントリが正しい場所に存在するかどうかをチェックします。これは bcdedit コマンドの指定されたパスにあります。 既定では、BIOS パーティションの bootmgrSYSTEM パーティションのルートにあります。 ファイルを表示するには、 を実行します Attrib -s -h -r

ファイルが見つからない場合、ブート ファイルを再構築する場合は、次の手順に従います。

  1. SYSTEM パーティションの下にあるすべての内容を別の場所にコピーします。 または、コマンド プロンプトを使用して OS ドライブに移動し、新しいフォルダーを作成し、次に示すように、 SYSTEM ボリュームからすべてのファイルとフォルダーをコピーできます。

    D:\> Mkdir  BootBackup
    R:\> Copy *.* D:\BootBackup 
    
  2. Windows 10を使用している場合、または Windows プレインストール環境のコマンド プロンプトでWindows 10 ISO を使用してトラブルシューティングを行う場合は、次のようにコマンドをbcdboot使用してブート ファイルを再作成できます。

    Bcdboot <**OSDrive* >:\windows /s <**SYSTEMdrive* >: /f ALL
    

    たとえば、 (WinRE ドライブ) に <System Drive> 文字 R を <OSdrive> 割り当て、 が文字 D の場合は、次のコマンドを使用します。

    Bcdboot D:\windows /s R: /f ALL
    

    注:

    コマンド のすべての 部分は、 bcdboot すべてのブート ファイル (UEFI と BIOS の両方) をそれぞれの場所に書き込みます。

Windows 10 ISO がない場合は、パーティションをフォーマットし、同様の Windows ビルドを持つ別の作業用コンピューターから bootmgr をコピーします。 書式設定とコピーを行うには、次の手順に従います。

  1. メモ帳を起動します。
  2. Ctrl キーを押しながら O キーを押します。
  3. システム パーティション (この例では R) に移動します。
  4. パーティションを右クリックし、フォーマットします。

Windows Updateインストール後にこの問題が発生した場合のトラブルシューティング

次のコマンドを実行して、Windows 更新プログラムのインストールと日付を確認します。

Dism /Image:<Specify the OS drive>: /Get-packages

このコマンドを実行すると、[ インストール保留中 ] パッケージと [保留中のアンインストール ] パッケージが表示されます。

Dism 出力保留中の更新のスクリーンショット。

  1. dism /Image:C:\ /Cleanup-Image /RevertPendingActions コマンドを実行します。 C: をコンピューターのシステム パーティションに置き換えます。

    Dism 出力の元に戻す保留中のスクリーンショット。

  2. [OSdriveLetter:\Windows\WinSxS] に移動し、pending.xmlファイルが存在するかどうかをチェックします。 その場合は、名前を pending.xml.old に変更します。

  3. レジストリの変更を元に戻すには、コマンド プロンプトで「regedit」と入力して Registry エディターを開きます。

  4. [HKEY_LOCAL_MACHINE] を選択し、[ファイル>読み込み Hive] に移動します。

  5. [OSdriveLetter:\Windows\System32\config] に移動し、COMPONENT (拡張子なし) という名前のファイルを選択し、[開く] を選択します。 メッセージが表示されたら、新しい Hive の OfflineComponentHive という名前を入力します。

    [Hive の読み込み] ウィンドウが開いているレジストリ エディターのスクリーンショット。

  6. を展開HKEY_LOCAL_MACHINE\OfflineComponentHiveし、PendingXmlIdentifier キーが存在するかどうかをチェックします。 OfflineComponentHive キーのバックアップを作成し、PendingXmlIdentifier キーを削除します。

  7. ハイブをアンロードします。 このアンロードを行うには、[ OfflineComponentHive] を強調表示し、[ ファイル>のアンロード] ハイブを選択します。

    OfflineHive が選択されたレジストリ エディターのスクリーンショット。

    [Hive のアンロード] オプションが選択されているレジストリ エディターのスクリーンショット。

  8. [HKEY_LOCAL_MACHINE] を選択し、[ファイル>読み込み Hive] に移動し、[OSdriveLetter:\Windows\System32\config] に移動し、SYSTEM (拡張子なし) という名前のファイルを選択して、[開く] を選択します。 メッセージが表示されたら、新しい Hive の OfflineSystemHive という名前を入力します。

  9. HKEY_LOCAL_MACHINE\OfflineSystemHive展開し、 [選択] キーを選択します。 [既定値] のデータを確認します。

  10. のデータが 1HKEY_LOCAL_MACHINE\OfflineSystemHive\Select\Default場合は、 を展開します。HKEY_LOCAL_MACHINE\OfflineHive\ControlSet001 2 の場合は、 を展開HKEY_LOCAL_MACHINE\OfflineHive\ControlSet002します。

  11. を展開します Control\Session ManagerPendingFileRenameOperations キーが存在するかどうかを確認します。 その場合は、 SessionManager キーをバックアップし、 PendingFileRenameOperations キーを 削除します。

ブート クリティカルなドライバーとサービスの検証

サービスを確認する

  1. 「Windows Updateインストール後にこの問題が発生した場合のトラブルシューティング」セクションの手順 1 から 10 に従います。 (手順 11 は、この手順には適用されません)。

  2. [ サービス] を展開します。

  3. [サービス] の下に次のレジストリ キーが存在することを確認します。

    • Acpi
    • ディスク
    • VOLMGR
    • PARTMGR
    • VOLSNAP
    • ボリューム

    これらのキーが存在する場合は、各キーをチェックして、Start という名前の値があり、0 に設定されていることを確認します。 そうでない場合は、値を 0 に設定します。

    これらのキーのいずれかが存在しない場合は、 RegBack の Hive を使用して、現在のレジストリ ハイブを置き換えることができます。 この手順を実行するには、次のコマンドを実行します。

    cd OSdrive:\Windows\System32\config
    ren SYSTEM SYSTEM.old
    copy OSdrive:\Windows\System32\config\RegBack\SYSTEM OSdrive:\Windows\System32\config\
    

上位と下位のフィルター ドライバーを確認する

コンピューターに Microsoft 以外の上位および下位のフィルター ドライバーがあるかどうか、および他の同様の作業コンピューターに存在しないかどうかを確認します。 存在する場合は、上位と下位のフィルター ドライバーを削除します。

  1. を展開します HKEY_LOCAL_MACHINE\OfflineHive\ControlSet001\Control

  2. UpperFilters または LowerFilters エントリ探します。

    注:

    これらのフィルターは主にストレージに関連しています。 レジストリで コントロール キーを展開した後、 UpperFiltersLowerFilters を検索できます。

    これらのフィルター ドライバーは、次のレジストリ エントリの一部にあります。 これらのエントリは ControlSet の下にあり、 既定値として指定されます。

    • \Control\Class\{4D36E96A-E325-11CE-BFC1-08002BE10318}
    • \Control\Class\{4D36E967-E325-11CE-BFC1-08002BE10318}
    • \Control\Class\{4D36E97B-E325-11CE-BFC1-08002BE10318}
    • \Control\Class\{71A27CDD-812A-11D0-BEC7-08002BE2092F}

    ControlSet の下のエントリを示すレジストリ エディターのスクリーンショット。

    UpperFilters または LowerFilters エントリが標準以外の場合 (たとえば、PartMgr などの Windows 既定のフィルター ドライバーではない場合)、エントリを削除します。 削除するには、右側のウィンドウでダブルクリックし、その値のみを削除します。

    注:

    複数のエントリが存在する可能性があります。

    これらのエントリは、START 型が 0 または 1 に設定されている Services ブランチにエントリが存在する可能性があるため、影響を受ける可能性があります。これは、ブート プロセスのブートまたは自動部分で読み込まれることを意味します。 また、参照されているファイルが見つからないか破損しているか、エントリに一覧表示されているものとは異なる名前になっている可能性があります。

    注:

    UpperFilters または LowerFilters エントリに対応する 0 または 1 に設定されているサービスがある場合は、フィルター ドライバー 0x7b エントリを削除せずにサービス レジストリでサービスを無効に設定します (「サービスの確認」セクションの手順 2 と 3 で説明します)。

SFC と Chkdsk の実行

それでもコンピューターが起動しない場合は、システム ドライブでプロセスを chkdisk 実行してから、システム ファイル チェッカーを実行することもできます。 WinRE コマンド プロンプトで次のコマンドを実行して、次の手順を実行します。

  • chkdsk /f /r OsDrive:
    

    chkdsk コマンドの出力のスクリーンショット。

  • sfc /scannow /offbootdir=OsDrive:\ /offwindir=OsDrive:\Windows
    

    SFC scannow コマンドの出力のスクリーンショット。