次の方法で共有


バグ チェック 0x7B: INACCESSIBLE_BOOT_DEVICE

INACCESSIBLE_BOOT_DEVICEバグ チェックの値は 0x0000007B です。 このバグ チェックは、Microsoft Windows オペレーティング システムが起動時にシステム パーティションへのアクセスを失ったことを示します。

重要

この記事はプログラマ向けです。 コンピューターの使用中にブルー スクリーン エラー コードを受け取ったお客様の場合は、「ブルー スクリーン エラーのトラブルシューティングを行う」を参照してください。

パラメーター

パラメーター 説明
1 UNICODE_STRING構造体のアドレス、またはマウントできなかったデバイス オブジェクトのアドレス
2 0
3 0
4 0

パラメーター 1 の意味を判断するには、パラメーター 1 が指すデータを確認します。 このアドレスの最初の単語 (USHORT) が偶数の場合、パラメーター 1 は Unicode 文字列の先頭です。 このアドレスの最初のワード (USHORT) が 0x3 の場合、パラメーター 1 はデバイス オブジェクトの最初のフィールド (Type) です。

  • このパラメーターがデバイス オブジェクトを指している場合、ブート デバイスを読み取るはずだったファイル システムが初期化に失敗したか、ブート デバイス上のデータをファイル システム構造として認識しませんでした。 この状況では、指定されたデバイス オブジェクトがマウントできなかったオブジェクトです。

  • このパラメータが Unicode 文字列を指している場合は、このアドレスの最初の 8 バイトを読み取る必要があります。 これらのバイトはUNICODE_STRING構造体を形成します。 次の例は、構造体の定義方法を示しています。

    USHORT Length;
    USHORT MaximumLength;
    PWSTR Buffer;
    

    Length フィールドは、文字列の実際の長さを示します。 Buffer フィールドは、文字列の先頭を指します。 バッファ は常に少なくとも 0x80000000 です。

    この文字列には、ブートが試行されたデバイスの Advanced RISC Computing (ARC) 仕様名が含まれています。 ARC 名は、ARC 環境内のデバイスを識別する一般的な方法です。

原因

INACCESSIBLE_BOOT_DEVICEバグ チェックは、多くの場合、ブート デバイスのエラーが原因で発生します。 I/O システムの初期化中に、ブート デバイス ドライバーがブート デバイス (通常はハード ディスク) の初期化に失敗した可能性があります。

ブートデバイス上のデータが認識されなかったため、ファイルシステムの初期化が失敗した可能性があります。 システムパーティションの再パーティション分割、BIOS 設定の変更、またはディスクコントローラのインストールも、このエラーを引き起こす可能性があります。

このエラーは、互換性のないディスク ハードウェアが原因で発生する可能性があります。 システムの初期セットアップでエラーが発生した場合は、サポートされていないディスク・コントローラーにシステムがインストールされている可能性があります。 一部のディスク コントローラーでは、Windows の起動時に他のドライバーが存在する必要があります。

このエラーは、ストレージ ハードウェアに障害が発生し、Windows からの要求に応答できない場合に発生する可能性があります。

解決策

このエラーは、システムの起動中に常に発生します。 このエラーは、デバッガー接続が確立される前に頻繁に発生するため、デバッグが困難になる場合があります。 OS がアクセスできず、エラー ログが空である可能性があります (OS がこれらのサブシステムを起動するのに十分な距離で起動していないため)。 次のセクションでは、Windows を起動できない場合と Windows を起動できる場合の両方の状況の解決策について説明します。

Windowsを起動できない場合

この停止コードを受け取り、Windows が OS で前方に起動しない場合は、次の解決策を試してください。

  • 最近のハードウェアの変更を元に戻します。

    最近追加したハードウェア (特にハード ディスク ドライブやコントローラー) を取り外して、エラーが解決したかどうかを確認します。 問題のあるハードウェアがハード ディスク ドライブの場合、ディスク ファームウェアのバージョンが Windows オペレーティング システムのバージョンと互換性がない可能性があります。 アップデートについては、製造元にお問い合わせください。 別のハードウェアを取り外してエラーが解決した場合は、IRQ ポートまたは I/O ポートの競合が存在する可能性があります。 製造元の指示に従って、新しいデバイスを再構成します。

    UEFI でコントローラー モードをレガシから AHCI に変更するなど、UEFI (BIOS) 設定を最近変更した場合は、それらの変更を元に戻します。 詳細については、 高度なホスト・コントローラー・インターフェースを参照してください。

  • ストレージデバイスの互換性を確認します。

    すべてのハード ディスク ドライバー、ハード ディスク コントローラー、およびその他のストレージ アダプターが、インストールされている Windows のバージョンと互換性があることを確認します。 たとえば、 Windows 10 の仕様で互換性に関する情報を取得できます。

  • UEFI(BIOS)とファームウェアを更新します。

    システムUEFI(BIOS)およびストレージコントローラーファームウェアのアップデートが利用可能かどうかを確認します。

  • Windows メディア作成ツールを使用して、起動可能な USB サム ドライブまたは DVD を作成します。

    別のコンピューターでメディア作成ツールを使用して、起動可能なUSBサムドライブまたはDVDを作成します。 このツールを使用して、セットアップファイルを選択するか、USBから起動してクリーンインストールを実行します。

    詳細については、「 Windows 10 の入手」を参照してください。

    機能を無効にするか、UEFI(BIOS)メニューでブートシーケンスの優先度を変更して、HDDではなくUSB、FDD(FlashDiskDrive)、またはDVDから起動する必要があるかもしれません。

    一般的なブートメニューキー

    ブート メニュー キーはメーカーによって異なります。 これらのキーは一般的に使用されます。 PC のマニュアルを参照して、使用されているブート キーを確認します。

    頻繁に使用されるブート メニュー キーは次のとおりです。
    F12 キー
    Esc キー
    F9
    F10 キー
    F8

    一般的な UEFI (BIOS) セットアップ キー

    UEFI (BIOS) セットアップ キーは製造元によって異なります。 これらのキーは一般的に使用されます。 PCのマニュアルを参照して、使用されているセットアップキーを確認してください。

    よく使用される UEFI (BIOS) セットアップ キーは次のとおりです。
    Esc キー
    DEL
    F2

Windowsを起動できる場合

この停止コードが表示され、Windowsが起動しない場合は、次の解決策を試してください。

  • セーフモードで起動し、通常どおり起動します。

    セーフモードで起動すると、ストレージシステムに再度アクセスできるようにするためのストレージドライバのコアセットがロードされます。 次の手順を実行して、セーフモードで起動します。

    1. [設定] で、[更新とセキュリティ] を選択します。
    2. [Recovery > Advanced startup] を選択して、メンテナンス モードで起動します。
    3. 表示されたメニューで、[トラブルシューティング] > [詳細オプション] を選択し、[スタートアップ設定] > [再起動] >を選択します。
    4. Windows が 起動設定 画面に再起動したら、オプション 4、5、または 6 を選択してセーフ モードで起動します。

    Windowsがセーフモードでロードされたら、PCを再起動して、適切なストレージドライバーがロードされ、ストレージデバイスが認識されるかどうかを確認します。

    セーフモードは、起動時にファンクションキー(F8など)を押すことでも使用できる場合があります。 特定の起動オプションについては、システムの製造元からの情報を参照してください。

  • スキャン ディスク ユーティリティを使用して、ファイル システム エラーがないことを確認します。 スキャンするドライブを選択したまま (または右クリック) 、[ プロパティ] > [ツール] > [今すぐ確認] を選択します。

  • ウイルス検出プログラムを実行します。 ウイルスは、Windows用にフォーマットされたすべてのタイプのハードディスクに感染する可能性があり、その結果生じるディスクの破損により、システムバグチェックコードが生成される可能性があります。 ウイルス検出プログラムがマスターブートレコードに感染がないかチェックしていることを確認します。

  • IDE デバイスの場合は、オンボード IDE ポートをプライマリのみとして定義します。 また、各IDEデバイスが適切な マスター/下位/スタンドアロン 設定であることを確認してください。 ハードディスク以外のすべてのIDEデバイスを取り外してみてください。 最後に、イベント ビューアーのシステム ログで、エラーの原因となっているデバイスまたはドライバーの特定に役立つ可能性のあるその他のエラー メッセージを確認します。

  • ハード ドライブに十分な空き領域があることを確認します。 オペレーティング システムと一部のアプリケーションでは、スワップ ファイルを作成して他の機能を実行するのに十分な空き領域が必要です。 システム構成に基づいて、正確な要件は異なりますが、10% から 15% の空き領域を使用できるようにすることをお勧めします。

  • デバイス マネージャーで、感嘆符 (!) でマークされているデバイスがあるかどうかを確認します。 障害が発生しているドライバーのドライバーのプロパティに表示されるイベント ログを確認します。 関連するドライバーを更新してみます。

  • システム ログイン イベント ビューアーで、エラーの原因となっているデバイスまたはドライバーを特定するのに役立つ可能性のあるその他のエラー メッセージを確認します。 ブルー スクリーンと同じ時間枠で発生した重大なエラーをシステム ログで探します。

  • システムの製造元から提供されているハードウェア診断を実行してみることができます。

  • システム ファイル チェッカー ツールを使用して、不足しているシステム ファイルまたは破損しているシステム ファイルを修復します。 システム ファイル チェッカーは、Windows システム ファイルの破損をスキャンし、破損したファイルを復元できる Windows のユーティリティです。 次のコマンドを使用して、システム ファイル チェッカー ツール (SFC.exe) を実行します。

    SFC /scannow
    

    詳細については、「システム ファイル チェッカー ツールを使用して不足または破損しているシステム ファイルを修復する」を参照してください。

  • 自動修復後、[ オプションの選択 ] 画面で、[ トラブルシューティング] > [詳細オプション] > [システムの復元] を選択します。 このオプションは、PC をシステムの復元ポイントと呼ばれる以前の時点に戻します。 復元ポイントは、新しいアプリ、ドライバー、更新プログラムをインストールするとき、または復元ポイントを手動で作成するときに生成されます。 エラーが発生する前に復元ポイントを選択します。

  • カーネル デバッガーを使用してシステムにアタッチし、解説で説明されているようにエラーをさらに分析します。

注釈

ストレージ・システムの構成を調査します。
原因を絞り込むには、Windowsがインストールされているブートデバイスについてできるだけ多くのことを知っておくと便利です。 たとえば、次の項目を調査できます。

  • ブートデバイスが接続されているコントローラーの種類 (SATA や IDE など) を確認します。 システムを起動できる場合は、デバイス マネージャーを使用して、コントローラーとディスク ドライバーのプロパティを調べることができます。 関連付けられているドライバー ファイルとエラー イベントを確認できます。

  • ブートデバイスと同じコントローラーに他のデバイス (SSD や DVD など) が接続されているかどうかを示します。

  • ドライブで使用されているファイル システム (通常は NTFS) をメモします。

Windows デバッガー

カーネル デバッガーを使用してこのエラーを分析するには、デバッガーで lm (読み込まれたモジュールの一覧表示) コマンドを実行して、読み込まれているモジュールを確認し、特定のドライバーの分離を試みます。 次のドライバーがロードされたことを確認します。

ディスク

           
0: kd> lm m disk
Browse full module list
start             end                 module name
fffff806`bd0b0000 fffff806`bd0cd000   disk       (deferred)

パートmgr

0: kd> lm m partmgr
Browse full module list
start             end                 module name
fffff806`bc5a0000 fffff806`bc5c1000   partmgr    (deferred)

NTFSの

0: kd> lm m ntfs
Browse full module list
start             end                 module name
fffff806`bd3f0000 fffff806`bd607000   NTFS       (deferred)

クラスPNP

0: kd> lm m classpnp
Browse full module list
start             end                 module name
fffff806`bd0d0000 fffff806`bd131000   CLASSPNP   (deferred)

PCI

0: kd> lm m pci
Browse full module list
start             end                 module name
fffff806`bc440000 fffff806`bc494000   pci        (deferred) 

コントローラードライバーがロードされていることを確認してください。 たとえば、SATA RAID コントローラーの場合、ドライバーは iaStorA.Sys ドライバーである場合もあれば、 EhStorClass ドライバーである場合もあります。

0: kd> lm m EhStorClass
Browse full module list
start             end                 module name
fffff806`bcbb0000 fffff806`bcbcb000   EhStorClass   (deferred) 

storahci などの "stor" を含むドライバーが存在する可能性があります。

0: kd> lm m stor*
Browse full module list
start             end                 module name
fffff806`bcb00000 fffff806`bcb23000   storahci   (deferred)             
fffff806`bcb30000 fffff806`bcbaa000   storport   (deferred)             
fffff806`c0770000 fffff806`c0788000   storqosflt   (deferred)

デバッガーをアタッチして起動します。

デバッガーが接続された状態でターゲット システムを起動できる場合は、バグ チェックが発生したときに !devnode 0 1 を発行します。 ドライバーが不足しているデバイスや起動しないデバイスを確認でき、起動しない理由が明らかになる可能性があります。

原因の 1 つは、プラグ アンド プレイがブート デバイスにリソースを割り当てることができないことです。 この制限は、サービスのエントリを見つけることで確認できます。 ステータス フラグに DNF_INSUFFICIENT_RESOURCES が含まれているか、DNF_STARTED や DNF_ENUMERATED が含まれていない場合は、問題を特定した可能性があります。 デバイスツリー全体をダンプするのではなく、時間を節約するために !devnode 0 1 storahci してみてください。

0: kd> !devnode 0 1 storahci
Dumping IopRootDeviceNode (= 0xffffb9053d94d850)
DevNode 0xffffb9053e8dea50 for PDO 0xffffb9053e8da060
  InstancePath is "PCI\VEN_8086&DEV_3B22&SUBSYS_304A103C&REV_05\3&21436425&0&FA"
  ServiceName is "storahci"
  State = DeviceNodeStarted (0x308)
  Previous State = DeviceNodeEnumerateCompletion (0x30d)
  DevNode 0xffffb9053e88db30 for PDO 0xffffb9053e890060
    InstancePath is "SCSI\Disk&Ven_&Prod_ST3500418AS\4&23d99fa2&0&000000"
    ServiceName is "disk"
    State = DeviceNodeStarted (0x308)
    Previous State = DeviceNodeEnumerateCompletion (0x30d)
  DevNode 0xffffb9053e88d850 for PDO 0xffffb9053e88e060
    InstancePath is "SCSI\CdRom&Ven_hp&Prod_DVD-RAM_GH60L\4&23d99fa2&0&010000"
    ServiceName is "cdrom"
    TargetDeviceNotify List - f 0xffffdf0ae9bbb0e0  b 0xffffdf0aea874710
    State = DeviceNodeStarted (0x308)
    Previous State = DeviceNodeEnumerateCompletion (0x30d)