
HvLoader.efi は、外部ハイパーバイザーローダーをロードするためのEFIアプリケーションです。
HvLoader.efi は、外部のハイパーバイザローダーをロードするための EFI アプリケーションです。
HvLoader.efi は指定されたハイパーバイザローダーバイナリ (DLL, EFI など) をロードし、HvLoader.efi の ImageHandle を渡してそのエントリポイントを呼び出します。これにより、ハイパーバイザローダーバイナリは HvLoader.efi のコマンドラインオプションにアクセスし、それらを設定パラメータとして使用できます。最初の HvLoader.efi コマンドラインオプションは、ハイパーバイザローダーバイナリへのパスです。
現在、HvLoader.efi は efi パーティション (つまり /boot/efi) にあり、そのパーティションのみにアクセスできます。したがって、すべてのパス引数は /boot/efi パーティションからの相対パスである必要があります。この制限は将来のアップデートで緩和される可能性があります。
典型的な HvLoader.efi grub コマンドは次のようになります。
chainloader /HvLoader.efi \lxhvloader.dll MSHV_ROOT=\Windows MSHV_ENABLE=1 MSHV_SCHEDULER_TYPE=0 ...
HvLoader.efi は TianoCore EDK2 でビルドされます。
ビルド環境は当初 Ubuntu 22.04.1 LTS でテストされましたが、Microsoft Windows、macOS、Unix でもセットアップ可能です。
詳細については、EDK2 の入門 を参照してください。
Linux では、Native GCC で EDK2 を使用する の指示に従い、最後に Linux 用の一般的な EDK II ビルド手順 に従ってリポジトリをクローンしてビルドしてください。
HvLoader.efi は MdeModulePkg 内のアプリケーションとして存在します (つまり /MdeModulePkg/Application/HvLoader)。
EDK2 のビルドが成功したら、以下の手順に従って edk2 のルートディレクトリから実行することで HvLoader.efi をビルドできます。
pushd MdeModulePkg/Application
popd
MdeModulePkg に HvLoader を追加:
HvLoder.efi をビルド:
build -p MdeModulePkg/MdeModulePkg.dsc -m MdeModulePkg/Application/HvLoader/HvLoader.inf
ターゲット構成 (DEBUG/RELEASE) に応じて、HvLoader.efi は次の場所に生成されます。
Build/MdeModule/DEBUG_GCC5/X64/HvLoader.efi
または
Build/MdeModule/RELEASE_GCC5/X64/HvLoader.efi
HvLoader.efi はセキュアブートのために署名する必要があります。