次の方法で共有


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

適用対象: ✔️ Windows VM

元の KB 番号: 4010143

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

現象

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

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

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

原因

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

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

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

ヒント

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

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

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

Note

この軽減策は、第 1 世代 VM にのみ適用されます。 第 2 世代 VM (UEFI を使用) では、アクティブパーティションは使用されません。

  1. 復旧 VM にシステム ディスクを取り付ける

  2. 復旧 VM へのリモート デスクトップ接続を開始します。

  3. [コンピューターの管理] > [ディスクの管理] の順に開きます。 ディスクが [ディスクの管理] コンソールで [オンライン] になっていることを確認します。 アタッチしたシステム ディスクに割り当てられているドライブ文字をメモします。

    復旧 VM に接続されているディスクを示すスクリーンショット。

  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. システム上のディスクを一覧表示し、追加されたディスクを探して、新しいディスクの選択に進みます。 この例では、新しいディスクは Disk 1 です。

      list disk
      sel disk 1
      

      diskpart ウィンドウには、リスト ディスクと sel disk 1 コマンドの出力が表示されます。ディスク 0 とディスク 1 が表に表示されます。ディスク 1 が選択されているディスクです。

    3. そのディスク上のすべてのパーティションを一覧表示し、確認するパーティションを選択します。 通常、システム マネージド パーティションはサイズが小さく、サイズは約 350 MB です。 次の図では、このパーティションはパーティション 1 です。

      list partition
      sel partition 1
      

      [Partition 1]\(パーティション 1\) が選択されているパーティションを示すスクリーンショット。

    4. パーティションの状態を確認します。 この例では、パーティション 1 はアクティブではありません。

      detail partition

      パーティション 1 がアクティブでない詳細パーティション コマンドの出力を含む diskpart ウィンドウ。

      パーティションがアクティブでない場合は、アクティブ フラグを変更し、変更が正しく行われたかどうかを再確認します。

      active
      detail partition
      

      パーティション 1 がアクティブな詳細パーティション コマンドの出力を含む diskpart ウィンドウ。

    5. DISKPART ツールを終了します。

      exit

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

  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. 次のコマンド ラインを実行して、ブート構成データを修復します。 次のプレース ホルダーを実際の値で置き換える必要があります。

    Note

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

    • <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. トラブルシューティング用 VM から修復済みの OS ディスクを切断します。 続いて、OS ディスクから新しい VM を作成します。

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

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