次の方法で共有


ブート エラー This is not a bootable disk (これは起動可能なディスクではありません)

適用対象: ✔️ Windows VM

この記事では、Azure Virtual Machine (VM) のディスクが起動できない問題を解決する手順を説明します。

現象

起動診断を利用して VM のスクリーンショットを表示すると、スクリーンショットのプロンプトに "This is not a bootable disk. Please insert a bootable floppy and press any key to try again..." (これは起動可能なディスクではありません。起動可能なフロッピーを挿入し、任意のキーを押して、もう一度やり直してください...) というメッセージが表示されます。

図 1

メッセージのスクリーンショット。

原因

このエラー メッセージは、OS のブート プロセスがアクティブなシステム パーティションを見つけることができなかったことを意味します。 または、ブート構成データ (BCD) ストアに参照が欠落していることにより、Windows パーティションが特定できなかったことを意味する場合もあります。

ソリューション

プロセスの概要

ヒント

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

  1. 修復 VM を作成してアクセスします。

  2. パーティションの状態を Active に設定します。

  3. ディスク パーティションを修正します。

  4. 推奨: VM を再構築する前に、シリアル コンソールとメモリ ダンプの収集を有効にします。

  5. 元の VM を再構築します。

    Note

    このブート エラーが発生する場合、ゲスト OS は動作しなくなります。 この問題を解決するには、オフライン モードでトラブルシューティングを行います。

修復 VM を作成してアクセスする

  1. VM 修復コマンドの手順 1 から 3 を使用して、修復 VM を準備します。
  2. リモート デスクトップ接続を使用し、修復 VM に接続します。

パーティションの状態をアクティブに設定する

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. 管理者特権でコマンド プロンプト (cmd.exe) を開きます。

  2. 次のコマンドを使用して、ディスク上で CHKDSK を実行し、エラーを修正します。

    chkdsk <DRIVE LETTER>: /f

    '/f' コマンド オプションを追加すると、ディスク上のすべてのエラーが修正されます。 DRIVE LETTER>接続されている OS VHD の文字に置き換えてください。

シリアル コンソールとメモリ ダンプの収集を有効にするには、次の手順に従います。

  1. 管理者として管理者特権でのコマンド プロンプト セッションを開きます。

  2. /ems および /emssettings オプションを使用して、次の BCDEdit コマンドを実行します。

    シリアル コンソールを有効にします。

    bcdedit /store <volume-letter-containing-the-bcd-folder>:\boot\bcd /ems {<boot-loader-identifier>} ON
    bcdedit /store <volume-letter-containing-the-bcd-folder>:\boot\bcd /emssettings EMSPORT:1 EMSBAUDRATE:115200
    
  3. OS ディスクの空き領域が、VM のメモリ サイズ (RAM) よりも大きいことを確認します。

    OS ディスクに十分な領域がない場合は、メモリ ダンプ ファイルが作成される場所を変更し、その場所を、十分な空き領域がある VM に接続されているデータ ディスクを参照します。 場所を変更するには、次のコマンドで、 %SystemRoot% をデータ ディスクのドライブ文字 ( F:など) に置き換えます。

    OS ダンプ ファイルを有効にするには、次の loadadd、および unload コマンドを実行して、 reg ツールを使用して推奨される構成を実装します。

    壊れた OS ディスクからレジストリ ハイブを読み込みます。

    reg load HKLM\<broken-system> <volume-letter-of-broken-os-disk>:\windows\system32\config\SYSTEM
    

    ControlSet001 での有効化:

    reg add "HKLM\<broken-system>\ControlSet001\Control\CrashControl" /v CrashDumpEnabled /t REG_DWORD /d 1 /f
    reg add "HKLM\<broken-system>\ControlSet001\Control\CrashControl" /v DumpFile /t REG_EXPAND_SZ /d "%SystemRoot%\MEMORY.DMP" /f
    reg add "HKLM\<broken-system>\ControlSet001\Control\CrashControl" /v NMICrashDump /t REG_DWORD /d 1 /f
    

    ControlSet002 での有効化:

    reg add "HKLM\<broken-system>\ControlSet002\Control\CrashControl" /v CrashDumpEnabled /t REG_DWORD /d 1 /f
    reg add "HKLM\<broken-system>\ControlSet002\Control\CrashControl" /v DumpFile /t REG_EXPAND_SZ /d "%SystemRoot%\MEMORY.DMP" /f
    reg add "HKLM\<broken-system>\ControlSet002\Control\CrashControl" /v NMICrashDump /t REG_DWORD /d 1 /f
    

    壊れた OS ディスクをアンロードします。

    reg unload HKLM\<broken-system>
    

元の VM を再構築する

VM 修復コマンドの手順 5 を使用して、VM を再構成します。

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

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