我正在使用 VirtualBox,有两个虚拟机
虚拟机A:
- NAT 网络适配器
- 仅主机网络适配器
- 内部网络适配器(网络称为“测试”)
和虚拟机B:
- 内部网络适配器(网络称为“测试”)
我正在关注那篇文章:https://wiki.debian.org/PXEBootInstall了解如何使用网络启动服务器 (VM A) 启动客户端 VM (VM B)
我“手动”为VM A的内部适配器网卡分配了IP
ifconfig eth2 192.168.0.1 netmask 255.255.255.0 up
然后,我使用以下配置在 VM A 上启动 dhcp 和 tftp 服务器:
/etc/dhcp/dhcpd.conf
:
default-lease-time 600;
max-lease-time 7200;
allow booting;
option architecture-type code 93 = unsigned integer 16;
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.2 192.168.0.253;
option broadcast-address 192.168.0.255;
option routers 192.168.0.1;
option domain-name-servers 192.168.0.1;
filename "pxelinux.0";
}
group {
next-server 192.168.0.1;
host tftpclient {
if option architecture-type = 00:07 {
filename "debian-installer/amd64/bootnetx64.efi";
} else {
filename "pxelinux.0";
}
}
}
/etc/default/tftpd-hpa
:
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/srv/tftp"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure"
当我打开 VM B 的电源时,我看到
Waiting for link-up on net0... ok
DHCP (net0 08:00:27:3a:f4:34)...... ok
net0: 192.168.0.2/255.255.255.0 gw 192.168.0.1
Filename: pxelinux.0
Could not start download: Operation not supported (http://ipxe.org/3c092003)
No more network devices
我尝试在谷歌上搜索 err:3c092003 并看到文章建议:
- 我可能正在运行不支持 HTTP 的 VirtualBox (https://forum.ipxe.org/showthread.php?tid=7068) - 但是在 iPXE 欢迎消息中我看到,
Features: DNS TFTP HTTP PXE PXEXT Menu
所以情况不应该是这样(HTTP 在列表中) - 我正在尝试使用我当前的 iPXE 版本不支持的协议打开 URI(https://ipxe.org/err/3c0920),但是,查看那里的建议步骤我似乎找不到修复它的方法
任何帮助将不胜感激!
更新:
我使用的是 macOS Big Sur
VirtualBox 版本 6.1.28 r147628 (Qt5.6.3)
VM A 和 B 均使用 Debian 3.16.7-ckt20-1+deb8u3
答案1
所以经过相当长的一段时间后,我让它开始工作。
在 VM BI 的 PXE 网络启动期间,执行
ctrl+B访问 iPXE 命令行,然后dhcp
查看config
VM A 上的 DHCP 服务器为 VM B 提供的内容(如中所述)错误:无法启动 - 附加说明)。
除了下一个服务器丢失之外,一切看起来都很好。这很奇怪,因为我在 DHCP 配置文件的组块中提供了它。无论如何,将其添加到子网部分块后,它神奇地开始工作。