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) でコンピューターを起動します。
- インストールされているバージョンの 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
注:
OS を含むディスクが出力に一覧表示されない場合は、OEM または仮想化の製造元に問い合わせてください。
ブート構成データベースの整合性を確認する
ブート構成データベース (BCD) に正しいエントリがすべて含まれているかどうかを確認します。 この手順を実行するには、WinRE コマンド プロンプトで を実行 bcdedit
します。
BCD エントリを確認するには:
{bootmgr} 識別子を持つ Windows ブート マネージャー セクションを調べます。 デバイスとパスのエントリが正しいデバイスとブート ローダー ファイルを指していることを確認します。
コンピューターが UEFI ベースの場合、出力例を次に示します。
device partition=\Device\HarddiskVolume2 path \EFI\Microsoft\Boot\bootmgfw.efi
マシンが BIOS ベースの場合、出力例を次に示します。
Device partition=C:
注:
この出力にはパスが含まれていない可能性があります。
{default} 識別子を持つ Windows ブート ローダーで、デバイス、パス、osdevice、systemroot が正しいデバイスまたはパーティション、winload ファイル、OS パーティションまたはデバイス、OS フォルダーを指していることを確認します。
注:
コンピューターが UEFI ベースの場合、{bootmgr} と {default} の path パラメーターで指定されているファイル パス値には、.efi 拡張子が含まれます。
いずれかの情報が間違っているか見つからない場合は、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 パーティションの 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
たとえば、 (WinRE ドライブ) に
<System Drive>
文字 R を<OSdrive>
割り当て、 が文字 D の場合は、次のコマンドを使用します。Bcdboot D:\windows /s R: /f ALL
注:
コマンド のすべての 部分は、
bcdboot
すべてのブート ファイル (UEFI と BIOS の両方) をそれぞれの場所に書き込みます。
Windows 10 ISO がない場合は、パーティションをフォーマットし、同様の Windows ビルドを持つ別の作業用コンピューターから bootmgr をコピーします。 書式設定とコピーを行うには、次の手順に従います。
- メモ帳を起動します。
- Ctrl キーを押しながら O キーを押します。
- システム パーティション (この例では R) に移動します。
- パーティションを右クリックし、フォーマットします。
Windows Updateインストール後にこの問題が発生した場合のトラブルシューティング
次のコマンドを実行して、Windows 更新プログラムのインストールと日付を確認します。
Dism /Image:<Specify the OS drive>: /Get-packages
このコマンドを実行すると、[ インストール保留中 ] パッケージと [保留中のアンインストール ] パッケージが表示されます。
dism /Image:C:\ /Cleanup-Image /RevertPendingActions
コマンドを実行します。 C: をコンピューターのシステム パーティションに置き換えます。[OSdriveLetter:\Windows\WinSxS] に移動し、pending.xmlファイルが存在するかどうかをチェックします。 その場合は、名前を pending.xml.old に変更します。
レジストリの変更を元に戻すには、コマンド プロンプトで「regedit」と入力して Registry エディターを開きます。
[HKEY_LOCAL_MACHINE] を選択し、[ファイル>読み込み Hive] に移動します。
[OSdriveLetter:\Windows\System32\config] に移動し、COMPONENT (拡張子なし) という名前のファイルを選択し、[開く] を選択します。 メッセージが表示されたら、新しい Hive の OfflineComponentHive という名前を入力します。
を展開
HKEY_LOCAL_MACHINE\OfflineComponentHive
し、PendingXmlIdentifier キーが存在するかどうかをチェックします。 OfflineComponentHive キーのバックアップを作成し、PendingXmlIdentifier キーを削除します。ハイブをアンロードします。 このアンロードを行うには、[ OfflineComponentHive] を強調表示し、[ ファイル>のアンロード] ハイブを選択します。
[HKEY_LOCAL_MACHINE] を選択し、[ファイル>読み込み Hive] に移動し、[OSdriveLetter:\Windows\System32\config] に移動し、SYSTEM (拡張子なし) という名前のファイルを選択して、[開く] を選択します。 メッセージが表示されたら、新しい Hive の OfflineSystemHive という名前を入力します。
HKEY_LOCAL_MACHINE\OfflineSystemHive展開し、 [選択] キーを選択します。 [既定値] のデータを確認します。
のデータが 1 の
HKEY_LOCAL_MACHINE\OfflineSystemHive\Select\Default
場合は、 を展開します。HKEY_LOCAL_MACHINE\OfflineHive\ControlSet001
2 の場合は、 を展開HKEY_LOCAL_MACHINE\OfflineHive\ControlSet002
します。を展開します
Control\Session Manager
。 PendingFileRenameOperations キーが存在するかどうかを確認します。 その場合は、 SessionManager キーをバックアップし、 PendingFileRenameOperations キーを 削除します。
ブート クリティカルなドライバーとサービスの検証
サービスを確認する
「Windows Updateインストール後にこの問題が発生した場合のトラブルシューティング」セクションの手順 1 から 10 に従います。 (手順 11 は、この手順には適用されません)。
[ サービス] を展開します。
[サービス] の下に次のレジストリ キーが存在することを確認します。
- 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 以外の上位および下位のフィルター ドライバーがあるかどうか、および他の同様の作業コンピューターに存在しないかどうかを確認します。 存在する場合は、上位と下位のフィルター ドライバーを削除します。
を展開します
HKEY_LOCAL_MACHINE\OfflineHive\ControlSet001\Control
。UpperFilters または LowerFilters エントリを探します。
注:
これらのフィルターは主にストレージに関連しています。 レジストリで コントロール キーを展開した後、 UpperFilters と LowerFilters を検索できます。
これらのフィルター ドライバーは、次のレジストリ エントリの一部にあります。 これらのエントリは 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}
UpperFilters または LowerFilters エントリが標準以外の場合 (たとえば、PartMgr などの Windows 既定のフィルター ドライバーではない場合)、エントリを削除します。 削除するには、右側のウィンドウでダブルクリックし、その値のみを削除します。
注:
複数のエントリが存在する可能性があります。
これらのエントリは、START 型が 0 または 1 に設定されている Services ブランチにエントリが存在する可能性があるため、影響を受ける可能性があります。これは、ブート プロセスのブートまたは自動部分で読み込まれることを意味します。 また、参照されているファイルが見つからないか破損しているか、エントリに一覧表示されているものとは異なる名前になっている可能性があります。
注:
UpperFilters または LowerFilters エントリに対応する 0 または 1 に設定されているサービスがある場合は、フィルター ドライバー 0x7b エントリを削除せずにサービス レジストリでサービスを無効に設定します (「サービスの確認」セクションの手順 2 と 3 で説明します)。
SFC と Chkdsk の実行
それでもコンピューターが起動しない場合は、システム ドライブでプロセスを chkdisk
実行してから、システム ファイル チェッカーを実行することもできます。 WinRE コマンド プロンプトで次のコマンドを実行して、次の手順を実行します。
-
chkdsk /f /r OsDrive:
-
sfc /scannow /offbootdir=OsDrive:\ /offwindir=OsDrive:\Windows