Azure VM での Windows INACCESSIBLE_BOOT_DEVICEエラーの発生

この記事では、Windows VM がエラー "INACCESSIBLE_BOOT_DEVICE" または "Boot failure" で始まるという問題の解決策を示します。

元の製品バージョン:   Windows を実行している仮想マシン
元の KB 番号:   4010143

現象

Windows は起動しません。次のエラーが発生します。

起動エラー。 再起動して適切なブート デバイスを選択するか、選択したブート デバイスにブート メディアを挿入します。

PC で問題が発生し、再起動する必要があります。 再起動します。 詳細を知りたい場合は、後でオンラインでこのエラーを検索できます。INACCESSIBLE_BOOT_DEVICE

原因

この問題は、次のいずれかの理由で発生します。

  • ブート構成データ (BCD) が破損しています。
  • Windows インストールを含むパーティションが非アクティブです。

解決方法

ヒント

VM の最新のバックアップがある場合は、バックアップから VM の復元を試み、起動の問題を解決することができます。

問題を修正するには、停止 (割り当て直し) して VM を起動し、問題が解決しないかどうかを再確認します。 問題が解決しない場合は、次の手順を実行します。

手順 1: Windows パーティションがアクティブとしてマークされている場合に確認する

  1. 仮想マシン (VM) を削除します。 これを行う場合は、[ディスクを 保持する ] オプションを選択してください。

  2. OS ディスクをデータ ディスクとして別の VM に接続します (VM のトラブルシューティング)。 詳細については、Azure Portal で Windows VM にデータ ディスクを接続する 方法に関するページを参照してください

  3. トラブルシューティング VM に接続します。 Open Computer management Disk > management. OS ディスクがオンラインで、パーティションにドライブ文字が割り当てられているか確認する

  4. ブート パーティションと Windows パーティションを特定します。 OS ディスクにパーティションが 1 つしかない場合、このパーティションはブート パーティションと Windows パーティションです。

    OS ディスクに複数のパーティションが含まれている場合は、パーティション内のフォルダーを表示することで、それらを識別できます。

    Windows パーティションには "Windows" という名前のフォルダーが含まれますが、このパーティションは他のフォルダーよりも大きくなります。

    ブート パーティションには、"Boot" という名前のフォルダーが含まれている。 既定では、このフォルダーは非表示になっています。 フォルダーを表示するには、非表示のファイルとフォルダーを表示し、保護されたオペレーティング システム ファイルを非表示 にする (推奨) オプションを無効にする必要 があります。 ブート パーティションは、通常 300 MB ~ 500 MB です。

  5. 次のコマンドを管理者として実行すると、ブート レコードが作成されます。

    bcdboot <Windows partition>:\Windows /S <windows partition>:
    
  6. DISKPART を使用して、Windows パーティションがアクティブな状態を確認します。

    1. 次のコマンドを実行して diskpart を開きます。

      diskpart
      
    2. システム上のディスクを一覧表示し、接続した OS ディスクを選択します。

      list disk  
      sel disk <number of the disk>
      
    3. ボリュームを一覧表示し、Windows フォルダーを含むボリュームを選択します。

      list vol
      sel vol <number of the volume>
      
    4. ディスク上のパーティションを一覧表示し、Windows フォルダーを含むパーティションを選択します。

      list partition
      sel partition <number of the Windows partition>
      
    5. パーティションの状態を表示します。

      detail partition
      

      diskpart 出力のスクリーンショット。

      パーティションがアクティブな場合は、手順 2 に進みます。

      パーティションがアクティブではない場合は、次のコマンド ラインを実行してアクティブにします。

      active
      

      次に、 detail partition もう一度実行して、パーティションがアクティブな状態を確認します。

  7. トラブルシューティング用 VM から修復されたディスクをデタッチします。 次に、OS ディスクから VM を作成します。

手順 2: ブート構成データを修復する

  1. 次のコマンド ラインを管理者として実行して、ファイル システムの整合性を確認し、論理ファイル システム エラーを修正します。

    chkdsk <Windows partition>: /f
    
  2. 次のコマンド ラインを管理者として実行し、Windows ブート ローダー (Windows ブート マネージャーではない) の識別子を記録します。 識別子は 32 文字のコードで、次のように表示されます。xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx。 この識別子は、次の手順で使用します。

    bcdedit /store <Boot partition>:\boot\bcd /enum
    
  3. 次のコマンド ラインを実行して、ブート構成データを修復します。 これらのプレースホルダーは実際の値に置き換える必要があります。

    注意

    この手順は、ほとんどのブート構成データ破損の問題に適用されます。 デバイスと OSDevice が正しいパーティションを指している場合でも、この手順を実行する必要があります。

    • <Windows partition> は、"Windows" という名前のフォルダーを含むパーティションです。
    • <Boot partition> は、"Boot" という名前の非表示のシステム フォルダーを含むパーティションです。
    • <Identifier> は、前の手順で見つけた Windows ブート ローダーの識別子です。
    bcdedit /store <Boot partition>:\boot\bcd /set {bootmgr} device partition=<boot partition>:
    
    bcdedit /store <Boot partition>:\boot\bcd /set {bootmgr} integrityservices enable
    
    bcdedit /store <Boot partition>:\boot\bcd /set {<Identifier>} device partition=<Windows partition>:
    
    bcdedit /store <Boot partition>:\boot\bcd /set {<Identifier>} integrityservices enable
    
    bcdedit /store <Boot partition>:\boot\bcd /set {<identifier>} recoveryenabled Off
    
    bcdedit /store <Boot partition>:\boot\bcd /set {<identifier>} osdevice partition=<Windows partition>:
    
    bcdedit /store <Boot partition>:\boot\bcd /set {<identifier>} bootstatuspolicy IgnoreAllFailures
    
  4. 修復した OS ディスクをトラブルシューティング用 VM からデタッチします。 次に、OS ディスクから新しい VM を作成します。