
HvLoader.efi é uma aplicação EFI usada para carregar um carregador de hipervisor externo.
HvLoader.efi é um aplicativo EFI para carregar um carregador de hipervisor externo.
HvLoader.efi carrega um binário de carregador de hipervisor fornecido (DLL, EFI, etc.) e chama seu ponto de entrada passando o ImageHandle do HvLoader.efi. Dessa forma, o binário do carregador de hipervisor tem acesso às opções de linha de comando do HvLoader.efi e as usa como parâmetros de configuração. A primeira opção de linha de comando do HvLoader.efi é o caminho para o binário do carregador de hipervisor.
Atualmente, o HvLoader.efi reside na partição efi, ou seja, /boot/efi, e tem acesso apenas a essa partição. Portanto, quaisquer argumentos de caminho precisam ser relativos à partição /boot/efi. Essa restrição pode ser relaxada em futuras atualizações.
Um comando grub típico do HvLoader.efi pode ser semelhante ao seguinte:
chainloader /HvLoader.efi \lxhvloader.dll MSHV_ROOT=\Windows MSHV_ENABLE=1 MSHV_SCHEDULER_TYPE=0 ...
HvLoader.efi é compilado no TianoCore EDK2. O ambiente de compilação foi inicialmente testado em um Ubuntu 22.04.1 LTS, mas pode ser configurado em Microsoft Windows, macOS e Unix.
Para mais informações, consulte Começando com EDK2.
No Linux, siga as instruções em Usando EDK2 com GCC Nativo e, finalmente, clone o repositório e compile de acordo com Instruções Comuns de Compilação do EDK II para Linux.
HvLoader.efi está localizado como um aplicativo em MdeModulePkg, i.e., /MdeModulePkg/Application/HvLoader.
Após uma compilação bem-sucedida do EDK2, você pode compilar o HvLoader.efi seguindo os passos abaixo, executando a partir do diretório raiz do edk2:
pushd MdeModulePkg/Application
popd
Adicione o HvLoader ao MdeModulePkg:
Compile o HvLoader.efi:
build -p MdeModulePkg/MdeModulePkg.dsc -m MdeModulePkg/Application/HvLoader/HvLoader.inf
Com base na sua configuração de destino (DEBUG/RELEASE), o HvLoader.efi é gerado em
Build/MdeModule/DEBUG_GCC5/X64/HvLoader.efi
ou
Build/MdeModule/RELEASE_GCC5/X64/HvLoader.efi
O HvLoader.efi precisa ser assinado para inicialização segura.