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
이 문제를 해결했습니다. 실제로 그것은 두 가지 질문으로 구성됩니다.
- VirtualBox는 EFI가 활성화된 경우 PXEBooting을 지원하지 않습니다.
- 베어 메탈을 사용하면 DHCP 요청이 전송되고 있지만 ProxyDHCP "연결" 응답이 처리되지 않음(EFI PXEBoot 실패)이 표시됩니다. 이는 다음과 같은 것으로 밝혀졌습니다.문제DNS- EFI를 지원하는 최소 버전은 2.76입니다.
답변3
나는 간단하게 만들었습니다.https://github.com/windli2018/virtualbox-efi-netboot. 이것이 여전히 필요한 사람들에게 도움이 되기를 바랍니다. 부팅 ipxe가 포함된 efi 부팅 iOS 이미지일 뿐입니다.