適用対象: ✔️ Windows VM
元の KB 番号: 4010143
まとめ
この記事では、Windows仮想マシン (VM) が "INACCESSIBLE_BOOT_DEVICE" または "ブート エラー" で始まらない問題の解決策を示します。
症状
Windows VM が起動せず、次のいずれかのエラーが生成されます。
ブート エラー。 再起動して適切なブート デバイスを選択するか、選択したブート デバイスにブート メディアを挿入してください。
問題が発生したため、PC を再起動する必要があります。 再起動を行います。 詳細を知りたい場合は、後でオンラインで次のエラーを検索できます: INACCESSIBLE_BOOT_DEVICE
原因
この問題は、次のいずれかの理由で発生します。
- ブート構成データ (BCD) が破損しています。
- Windowsインストールを含むパーティションが非アクティブです。
VM を停止 (割り当て解除) して起動する
ヒント
VM の最新のバックアップがある場合は、そのバックアップから VM の復元を試行して、起動の問題を修正することができます。
この問題を解決するには、VM を停止 (割り当て解除) してから再起動し、問題が解決しないかどうかを確認します。 問題が解決しない場合は、次の手順に従います。
Windows パーティションがアクティブとしてマークされているかどうかを確認する
メモ
この軽減策は、第 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
次のコマンド ラインを実行して、ブート構成データを修復します。 次のプレース ホルダーを実際の値で置き換える必要があります。
メモ
この手順は、ほとんどのブート構成データの破損の問題に適用されます。 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 IgnoreAllFailuresVHD に 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 を作成します。