Azure VM での Windows ブート エラーのINACCESSIBLE_BOOT_DEVICE

この記事では、Windows 仮想マシン (VM) がエラー "INACCESSIBLE_BOOT_DEVICE" または "ブート エラー" で始まらない問題の解決策を示します。

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

現象

Windows VM が起動せず、次のいずれかのエラーが生成されます。

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

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

原因

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

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

VM を停止 (割り当て解除) して起動する

ヒント

VM の最新のバックアップがある場合は、そのバックアップから VM の復元を試行して、起動の問題を修正することができます。

問題を解決するには、VM を停止 (割り当て解除) して起動し、再度チェックして問題が解決しないかどうかを確認します。 問題が解決しない場合は、次の手順に従います。

Windows パーティションがアクティブとしてマークされているかどうかを確認する

注:

UEFI を使用する第 2 世代 VM ではアクティブ パーティションが使用されないため、このセクションは第 1 世代の VM にのみ適用されます。

  1. VM を削除します。 これを行うときは、必ず [ ディスクを保持する ] オプションを選択してください。

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

  3. トラブルシューティング用 VM に接続します。 [コンピューターの管理]>[ディスクの管理] の順に開きます。 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
      

      パーティション 1 が選択されているがアクティブではないことを示す diskpart 出力のスクリーンショット。

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

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

      active
      

      その後、もう一度実行detail partitionして、パーティションがアクティブな場合にチェックします。

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

ブート構成データを修復する

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

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

    1. 第 1 世代の VM の場合:

      bcdedit /store <Boot partition>:\boot\bcd /enum /v
      
    2. 第 2 世代 VM の場合:

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

    注:

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

    • <Windows partition は、"Windows" という名前のフォルダーを含むパーティションです。
    • <Boot partition> は、"Boot" という名前の非表示のシステム フォルダーを含むパーティションです。
    • <Identifier> は、前の手順で見つけた Windows ブート ローダーの識別子です。
    1. 第 1 世代の VM の場合:

      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
      

      VHD に 1 つのパーティションがあり、BCD フォルダーと Windows フォルダーの両方が同じボリュームにあり、以前のセットアップが機能しなかった場合は、次に示すようにパーティションの値 bootを に置き換えてみます。

      bcdedit /store <BCD FOLDER - DRIVE LETTER>:\boot\bcd /set {bootmgr} device boot
      bcdedit /store <BCD FOLDER - DRIVE LETTER>:\boot\bcd /set {bootmgr} integrityservices enable
      bcdedit /store <BCD FOLDER - DRIVE LETTER>:\boot\bcd /set {<IDENTIFIER>} device boot
      bcdedit /store <BCD FOLDER - DRIVE LETTER>:\boot\bcd /set {<IDENTIFIER>} integrityservices enable
      bcdedit /store <BCD FOLDER - DRIVE LETTER>:\boot\bcd /set {<IDENTIFIER>} recoveryenabled Off
      bcdedit /store <BCD FOLDER - DRIVE LETTER>:\boot\bcd /set {<IDENTIFIER>} osdevice boot
      bcdedit /store <BCD FOLDER - DRIVE LETTER>:\boot\bcd /set {<IDENTIFIER>} bootstatuspolicy IgnoreAllFailures
      
    2. 第 2 世代 VM の場合:

    bcdedit /store <Volume Letter of EFI System Partition>:EFI\Microsoft\boot\bcd /set {bootmgr} device partition=<Volume Letter of EFI System Partition>:
    bcdedit /store <Volume Letter of EFI System Partition>:EFI\Microsoft\boot\bcd /set {bootmgr} integrityservices enable
    bcdedit /store <Volume Letter of EFI System Partition>:EFI\Microsoft\boot\bcd /set {<IDENTIFIER>} device partition=<WINDOWS FOLDER - DRIVE LETTER>:
    bcdedit /store <Volume Letter of EFI System Partition>:EFI\Microsoft\boot\bcd /set {<IDENTIFIER>} integrityservices enable
    bcdedit /store <Volume Letter of EFI System Partition>:EFI\Microsoft\boot\bcd /set {<IDENTIFIER>} recoveryenabled Off
    bcdedit /store <Volume Letter of EFI System Partition>:EFI\Microsoft\boot\bcd /set {<IDENTIFIER>} osdevice partition=<WINDOWS FOLDER - DRIVE LETTER>:
    bcdedit /store <Volume Letter of EFI System Partition>:EFI\Microsoft\boot\bcd /set {<IDENTIFIER>} bootstatuspolicy IgnoreAllFailures
    
  4. 修復された OS ディスクをトラブルシューティング VM からデタッチします。 次に、OS ディスクから新しい VM を作成します。

お問い合わせはこちらから

質問がある場合やヘルプが必要な場合は、サポート要求を作成するか、Azure コミュニティ サポートにお問い合わせください。 Azure フィードバック コミュニティに製品フィードバックを送信することもできます。