適用対象: ✔️ 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 を使用) では、アクティブパーティションは使用されません。
復旧 VM へのリモート デスクトップ接続を開始します。
[コンピューターの管理] > [ディスクの管理] の順に開きます。 ディスクが [ディスクの管理] コンソールで [オンライン] になっていることを確認します。 アタッチしたシステム ディスクに割り当てられているドライブ文字をメモします。
ブート パーティションと Windows パーティションを特定します。 OS ディスクにパーティションが 1 つしかない場合、このパーティションはブート パーティションと Windows パーティションの両方になります。
OS ディスクに複数のパーティションが含まれている場合は、その中のフォルダーを表示してパーティションを識別できます。
Windows パーティションには、 Windows という名前のフォルダーが含まれており、このパーティションは他のパーティションよりも大きくなります。
ブート パーティションには、 Boot という名前のフォルダーが含まれています。 このフォルダーは既定では表示されません。 このフォルダーを表示するには、 [保護されたオペレーティング システム ファイルを表示しない (推奨)] を無効にし、隠しファイルおよびフォルダーを表示する必要があります。 通常、ブート パーティションは 300 MB から 500 MB です。
管理者として次のコマンドを実行して、ブート レコードを作成します。
bcdboot <Windows partition>:\Windows /S <windows partition>:
DISKPART ツールを使用して、Windows パーティションがアクティブかどうかを確認します。
管理者特権でのコマンド プロンプトを開き、DISKPART ツールを開きます。
diskpart
システム上のディスクを一覧表示し、追加されたディスクを探して、新しいディスクの選択に進みます。 この例では、新しいディスクは Disk 1 です。
list disk sel disk 1
そのディスク上のすべてのパーティションを一覧表示し、確認するパーティションを選択します。 通常、システム マネージド パーティションはサイズが小さく、サイズは約 350 MB です。 次の図では、このパーティションはパーティション 1 です。
list partition sel partition 1
パーティションの状態を確認します。 この例では、パーティション 1 はアクティブではありません。
detail partition
パーティションがアクティブでない場合は、アクティブ フラグを変更し、変更が正しく行われたかどうかを再確認します。
active detail partition
DISKPART ツールを終了します。
exit
ブート構成データを修復する
管理者として次のコマンド ラインを実行して、ファイル システムの整合性を確認し、論理ファイル システム エラーを修正します。
chkdsk <Windows partition>: /f
管理者として次のコマンド ラインを実行し、(Windows ブート マネージャーではなく) Windows ブート ローダーの識別子を記録します。 この識別子は 32 文字のコードであり、xxxxxxxx-xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx のようになります。 この識別子は次の手順で使用します。
第 1 世代 VM の場合:
bcdedit /store <Boot partition>:\boot\bcd /enum /v
第 2 世代 VM の場合:
bcdedit /store <Volume Letter of EFI System Partition>:EFI\Microsoft\boot\bcd /enum /v
次のコマンド ラインを実行して、ブート構成データを修復します。 次のプレース ホルダーを実際の値で置き換える必要があります。
Note
この手順は、ほとんどのブート構成データの破損の問題に適用されます。 DeviceとOSDeviceが正しいパーティションを指している場合でも、この手順を実行する必要があります。
<Windows partition
は、"Windows" という名前のフォルダーを含むパーティションです。<Boot partition>
は、"Boot" という名前の非表示のシステム フォルダーを含むパーティションです。<Identifier>
は、前の手順で見つけた Windows ブート ローダーの識別子です。
第 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 世代 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
トラブルシューティング用 VM から修復済みの OS ディスクを切断します。 続いて、OS ディスクから新しい VM を作成します。
お問い合わせはこちらから
質問がある場合やヘルプが必要な場合は、サポート要求を作成するか、Azure コミュニティ サポートにお問い合わせください。 Azure フィードバック コミュニティに製品フィードバックを送信することもできます。