가상 머신 UEFI PXEBoot

가상 머신 UEFI PXEBoot

BIOS 기반 시스템을 사용하여 PXEboot 환경(Foreman 기반)을 성공적으로 설정했습니다. 기본 BIOS 하위 시스템을 사용하여 virtualbox에서도 동일한 작업을 수행할 수 있습니다.
UEFI가 대중화되기 시작하면서 UEFI 기반 시스템을 PXEBoot하고 싶었습니다.

Virtualbox에 "EFI 활성화" 설정이 있고
TFTP grubx64.efi서버와 ProxyDHCP가 이를 옵션으로 보낼 준비가 되어 있음을 확인했습니다.

그러나 EFI 지원 VM을 시작한 후 몇 개의 BLK*: 장치가 나열된 곳에 이상한 쉘이 나타납니다. 그게 전부입니다...
이 쉘을 사용하여 TFTP에서 부팅 파일을 요청하려면 어떻게 해야 합니까(DHCP 흐름이 표시되지 않음) ?

편집에 대한 몇 가지 팁을 찾았지만 내 기기 startup.nsh에는 해당 파일이 없습니다.BLK

답변1

다음은 Virtualbox 6.1을 사용하여 저에게 효과적이었습니다. 컴퓨터 설정에서 다음을 수행하십시오.

  • "시스템->EFI 활성화"
  • "네트워크->고급->어댑터 유형: 반가상화 네트워크(virtio-net)".

이렇게 하면 기본적으로 UEFI 셸로 부팅됩니다. 입력 exit하시면 Boot Manager메뉴가 나옵니다. 해당 메뉴에서 UEFI PXEv4시작 관리자를 선택하면 다음과 같은 새 화면이 표시됩니다.

>>Start PXE over IPv4.

그런 다음 grub.cfg로 부팅됩니다. PXE를 통해 가상 머신이 자동으로 부팅되도록 하려면 부팅 메뉴에 들어가 부팅 순서를 변경해야 합니다.

이를 보려면 어댑터를 UEFI PXEv4구체적으로 선택해야 했습니다 . Paravirtualized Network다른 것은 작동하지 않습니다.

답변2

이 문제를 해결했습니다. 실제로 그것은 두 가지 질문으로 구성됩니다.

  1. VirtualBox는 EFI가 활성화된 경우 PXEBooting을 지원하지 않습니다.
  2. 베어 메탈을 사용하면 DHCP 요청이 전송되고 있지만 ProxyDHCP "연결" 응답이 처리되지 않음(EFI PXEBoot 실패)이 표시됩니다. 이는 다음과 같은 것으로 밝혀졌습니다.문제DNS- EFI를 지원하는 최소 버전은 2.76입니다.

답변3

나는 간단하게 만들었습니다.https://github.com/windli2018/virtualbox-efi-netboot. 이것이 여전히 필요한 사람들에게 도움이 되기를 바랍니다. 부팅 ipxe가 포함된 efi 부팅 iOS 이미지일 뿐입니다.

관련 정보