
HvLoader.efi is an EFI application for loading an external hypervisor loader
HvLoader.efi est une application EFI permettant de charger un chargeur d'hyperviseur externe.
HvLoader.efi charge un binaire de chargeur d'hyperviseur donné (DLL, EFI, etc.) et appelle son point d'entrée en passant le ImageHandle de HvLoader.efi. Ainsi, le binaire du chargeur d'hyperviseur a accès aux options de ligne de commande de HvLoader.efi et les utilise comme paramètres de configuration. La première option de ligne de commande de HvLoader.efi est le chemin vers le binaire du chargeur d'hyperviseur.
Actuellement, HvLoader.efi réside dans la partition efi, c'est-à-dire /boot/efi, et n'a accès qu'à cette partition. Ainsi, tous les arguments de chemin doivent être relatifs à la partition /boot/efi. Cette restriction pourrait être assouplie dans les futures mises à jour.
Une commande grub typique pour HvLoader.efi pourrait ressembler à ceci :
chainloader /HvLoader.efi \lxhvloader.dll MSHV_ROOT=\Windows MSHV_ENABLE=1 MSHV_SCHEDULER_TYPE=0 ...
HvLoader.efi est construit dans TianoCore EDK2.
L'environnement de compilation a été initialement testé sur Ubuntu 22.04.1 LTS, mais peut être configuré sur Microsoft Windows, macOS et Unix.
Pour plus d'informations, veuillez vous référer à Getting Started with EDK2.
Sous Linux, veuillez suivre les instructions sur Using EDK2 with Native GCC, puis clonez le dépôt et compilez selon Common EDK II Build Instructions for Linux.
HvLoader.efi se trouve en tant qu'application dans MdeModulePkg, c'est-à-dire /MdeModulePkg/Application/HvLoader.
Après une compilation réussie d'EDK2, vous pouvez compiler HvLoader.efi en suivant les étapes ci-dessous,
en exécutant à partir de la racine d'edk2 :
HvLoader.efi doit être signé pour le démarrage sécurisé.