
HvLoader.efi è un'applicazione EFI per caricare un loader di hypervisor esterno.
HvLoader.efi è un'applicazione EFI per caricare un loader di hypervisor esterno.
HvLoader.efi carica un binario del loader di hypervisor fornito (DLL, EFI, ecc.) e chiama il suo punto d'ingresso passando ImageHandle di HvLoader.efi. In questo modo, il binario del loader di hypervisor ha accesso alle opzioni della riga di comando di HvLoader.efi e le utilizza come parametri di configurazione. La prima opzione della riga di comando di HvLoader.efi è il percorso del binario del loader di hypervisor.
Attualmente HvLoader.efi risiede nella partizione efi, cioè /boot/efi, e ha accesso solo a quella partizione. Pertanto, qualsiasi argomento di percorso deve essere relativo alla partizione /boot/efi. Questa restrizione potrebbe essere allentata in futuri aggiornamenti.
Un comando grub tipico di HvLoader.efi potrebbe assomigliare al seguente:
chainloader /HvLoader.efi \lxhvloader.dll MSHV_ROOT=\Windows MSHV_ENABLE=1 MSHV_SCHEDULER_TYPE=0 ...
HvLoader.efi viene compilato in TianoCore EDK2.
L'ambiente di compilazione è stato inizialmente testato su Ubuntu 22.04.1 LTS, ma può essere configurato su Microsoft Windows, macOS e Unix.
Per maggiori informazioni, fare riferimento a Come iniziare con EDK2.
Su Linux, segui le istruzioni su Usare EDK2 con GCC nativo, e infine clona il repository e compila secondo le Istruzioni comuni di build EDK II per Linux.
HvLoader.efi risiede come applicazione in MdeModulePkg, cioè /MdeModulePkg/Application/HvLoader.
Dopo una compilazione riuscita di EDK2, puoi compilare HvLoader.efi seguendo i passaggi seguenti,
eseguendo dalla directory principale di edk2:
pushd MdeModulePkg/Application
popd
Aggiungi HvLoader a MdeModulePkg:
Compila HvLoader.efi:
build -p MdeModulePkg/MdeModulePkg.dsc -m MdeModulePkg/Application/HvLoader/HvLoader.inf
In base alla configurazione di destinazione (DEBUG/RELEASE), HvLoader.efi viene prodotto in
Build/MdeModule/DEBUG_GCC5/X64/HvLoader.efi
o
Build/MdeModule/RELEASE_GCC5/X64/HvLoader.efi
HvLoader.efi deve essere firmato per l'avvio protetto.