次の方法で共有


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

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

適用対象: Windows 10

Inaccessible_Boot_Device停止エラーの原因

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

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

Note

OS を含むディスクが出力に表示されない場合は、OEM または仮想化の製造元に関与する必要があります。

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

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

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

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

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

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

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

    Device                partition=C:
    

    Note

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

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

    Note

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

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

いずれかの情報が間違っているか見つからない場合は、BCD ストアのバックアップを作成することをお勧めします。 これを行うには、bcdedit /export C:\temp\bcdbackup を実行します。 このコマンドは、 C:\temp\bcdbackup という名前のバックアップを作成。 バックアップを復元するには、 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 パーティションの bootmgr は、 SYSTEM パーティションのルートにあります。 ファイルを表示するには、 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
    

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

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

    Note

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

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

  1. Notepad を起動します。
  2. Ctrl キーを押しながら O キーを押します。
  3. システム パーティション (この例では R) に移動します。
  4. パーティションを右クリックし、書式設定します。

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

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

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

このコマンドを実行すると、 Install pendingUninstall Pending パッケージが表示されます。

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を選択し、File>Load Hive に移動します。

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

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

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

  7. ハイブをアンロードします。 このアンロードを行うには、 OfflineComponentHive を強調表示し、 File>Unload hive を選択します。

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

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

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

  9. HKEY_LOCAL_MACHINE\OfflineSystemHive を展開し、Select キーを選択します。 Default 値のデータを確認します。

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

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

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

サービスの確認

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

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

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

    • ACPI
    • DISK
    • VOLMGR
    • PARTMGR
    • VOLSNAP
    • 容積

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

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

    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 エントリを探します。

    Note

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

    これらのフィルター ドライバーは、次のレジストリ エントリの一部で見つかる場合があります。 これらのエントリは ControlSet の下にあり、 Default として指定されます:

    • \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 既定のフィルター ドライバーではない場合)、エントリを削除します。 削除するには、右側のウィンドウでダブルクリックし、その値のみを削除します。

    Note

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

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

    Note

    UpperFilters または LowerFilters エントリに対応する 0 または 1 に設定されているサービスがある場合は、 Filter ドライバーを削除せずにサービスを Services レジストリで無効に設定するとコンピューターがクラッシュし、0x7b停止エラーが生成されます。

SFC と Chkdsk の実行

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

  • chkdsk /f /r OsDrive:
    

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

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

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