web-dev-qa-db-ja.com

Hyper V Linux EFI VHD移行の起動オプションにEFIがありません

_HyperV 2016_で実行されているn台のマシンの_W2k16_クラスタがあります。

このブート順序で実行されるRHEL 7.5 (Gen2) VMのVHDXを複製しました(そしてセキュアブートが無効になっています):

Screenshot

クローンディスクを使用して新しいVMを作成した後、EFIファイルのエントリが消え、起動できなくなりました。

注:_Rescatux CD_から起動すると、すべての起動エントリが正しく表示され、RHELに(手動でそのディスクから)起動できます。

4

UEFIブートオプションは、ディスクではなくUEFI変数に格納されます。これは、物理マシンまたは仮想マシンに当てはまります。 Hyper-Vは、UEFI変数をVHDではなくVM状態ファイルのいずれかに格納します。したがって、VHDをVMから分離すると、UEFI変数とブートエントリが失われます。

ブートするUEFI変数に依存しているマシンのクローンを作成する場合は、VMをエクスポートして再度インポートします。これにより、状態ファイルとVHDが分割されずにセットとして保持されますそれらを分けます。

ちなみに、すべてのゲストOSがRHELがここで行った方法でUEFI変数を設定するわけではないため、この問題が常に発生するとは限りません。 Windowsを含む一部のOSは、ディスク上のファイルではなくディスクを指すようにUEFIブート変数を設定し、UEFI仕様では、ディスク上のデフォルトの場所にあるブートファイルの場所を指定しています。私がこれに言及するのは、人々が通常尋ねる次の質問はなぜそれが時々失敗するだけのように見えるのかについてであるからです。

1
Jake Oshins