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) でコンピューターを起動します。
- インストールされているバージョンの Windows のインストール メディアを使用してシステムを起動します。
- [Windows のインストール] 画面で、[次へ]、[コンピューターの修復] の順に選択します。
- システム回復オプション画面で、次へ>コマンド プロンプト選択。
ブート ディスクが接続され、アクセス可能であることを確認する
手順 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
Note
OS を含むディスクが出力に表示されない場合は、OEM または仮想化の製造元に関与する必要があります。
ブート構成データベースの整合性を確認する
ブート構成データベース (BCD) に正しいエントリがすべて含まれているかどうかを確認します。 この手順を実行するには、WinRE コマンド プロンプトで bcdedit
を実行します。
BCD エントリを確認するには:
{bootmgr}識別子を持つWindows ブート マネージャー セクションを調べます。 deviceとpathエントリが正しいデバイスとブートローダファイルを指していることを確認します。
コンピューターが UEFI ベースの場合、出力例を次に示します。
device partition=\Device\HarddiskVolume2 path \EFI\Microsoft\Boot\bootmgfw.efi
コンピューターが BIOS ベースの場合、出力例を次に示します。
Device partition=C:
Note
この出力にはパスが含まれていない可能性があります。
{default}識別子を持つ Windows ブート ローダーで、device、path、osdevice、systemrootが正しいデバイスまたはパーティション、winload ファイル、OS パーティション、または OS フォルダーを指していることを確認します。
Note
コンピューターが UEFI ベースの場合、{bootmgr} および {default} の path パラメーターで指定されたファイル パス値には、.efi 拡張子が含まれます。
いずれかの情報が間違っているか見つからない場合は、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
を実行します。
ファイルが見つからない場合、ブート ファイルをリビルドする場合は、次の手順に従います。
SYSTEM パーティションのすべての内容を別の場所にコピーします。 または、コマンド プロンプトを使用して OS ドライブに移動し、新しいフォルダーを作成し、次に示すように、 SYSTEM ボリュームからすべてのファイルとフォルダーをコピーすることもできます。
D:\> Mkdir BootBackup R:\> Copy *.* D:\BootBackup
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 をコピーします。 書式設定とコピーを行うには、次の手順に従います。
- Notepad を起動します。
- Ctrl キーを押しながら O キーを押します。
- システム パーティション (この例では R) に移動します。
- パーティションを右クリックし、書式設定します。
Windows Update のインストール後にこの問題が発生した場合のトラブルシューティング
次のコマンドを実行して、Windows 更新プログラムのインストールと日付を確認します。
Dism /Image:<Specify the OS drive>: /Get-packages
このコマンドを実行すると、 Install pending と Uninstall Pending パッケージが表示されます。
dism /Image:C:\ /Cleanup-Image /RevertPendingActions
コマンドを実行します。 C: をコンピューターのシステム パーティションに置き換えます。OSdriveLetter:\Windows\WinSxS に移動し、pending.xml ファイルが存在するかどうかを確認します。 その場合は、 pending.xml.old に名前を変更します。
レジストリの変更を元に戻すには、コマンド プロンプトで「 regedit 」と入力して、 Registry エディターを開きます。
HKEY_LOCAL_MACHINEを選択し、File>Load Hive に移動します。
OSdriveLetter:\Windows\System32\config に移動し、COMPONENT (拡張子なし) という名前のファイルを選択し、Open を選択します。 メッセージが表示されたら、新しいハイブの名前 OfflineComponentHive を入力します。
HKEY_LOCAL_MACHINE\OfflineComponentHive
展開し、PendingXmlIdentifier キーが存在するかどうかを確認します。 OfflineComponentHive キーのバックアップを作成し、PendingXmlIdentifier キーを削除します。ハイブをアンロードします。 このアンロードを行うには、 OfflineComponentHive を強調表示し、 File>Unload hive を選択します。
HKEY_LOCAL_MACHINE選択し、File>Load Hive に移動し、OSdriveLetter:\Windows\System32\config に移動し、SYSTEM という名前のファイル (拡張子なし) を選択し、Open を選択します。 メッセージが表示されたら、新しいハイブの名前 OfflineSystemHive を入力します。
HKEY_LOCAL_MACHINE\OfflineSystemHive を展開し、Select キーを選択します。 Default 値のデータを確認します。
HKEY_LOCAL_MACHINE\OfflineSystemHive\Select\Default
のデータが 1 の場合は、HKEY_LOCAL_MACHINE\OfflineHive\ControlSet001
展開します。 2の場合は、HKEY_LOCAL_MACHINE\OfflineHive\ControlSet002
を展開します。Control\Session Manager
を展開します。 PendingFileRenameOperations キーが存在するかどうかを確認します。 その場合は、 SessionManager キーをバックアップし、 PendingFileRenameOperations キーを削除します。
ブート クリティカルなドライバーとサービスの確認
サービスの確認
「Windows Update のインストール後にこの問題が発生した場合のトラブルシューティング」セクションの手順 1 から 10 に従います。 (手順 11 は、この手順には適用されません)。
[サービス] を展開します。
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 以外の上位および下位のフィルター ドライバーがあるかどうか、また、他の同様の作業用コンピューターに存在しないかどうかを確認します。 存在する場合は、上位と下位のフィルター ドライバーを削除します。
HKEY_LOCAL_MACHINE\OfflineHive\ControlSet001\Control
を展開します。UpperFilters または LowerFilters エントリを探します。
Note
これらのフィルターは、主にストレージに関連しています。 レジストリで Control キーを展開したら、 UpperFilters と LowerFilters を検索できます。
これらのフィルター ドライバーは、次のレジストリ エントリの一部で見つかる場合があります。 これらのエントリは 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}
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:
-
sfc /scannow /offbootdir=OsDrive:\ /offwindir=OsDrive:\Windows