
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에서는 네이티브 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는 보안 부팅을 위해 서명되어야 합니다.