PXE系列文章(11)- VirtualBox原生支持PXE
其实前面我们是在虚拟网络中的虚拟服务器上部署PXE Server,完整走了一遍PXE Server的初始化流程,这个和生产环境的初始化构建流程是一致的,所以不能省去。而对于我们使用VirtualBox而言, 它其实提供了更加便捷的方式, 因为VirtualBox 本身就提供虚拟网络的DHCP功能,完全有能力同时集成TFTP的功能。那这样我们就依赖VirtualBox天然提供的PXE Server,将极大的简化我们调试的过程。
- 官方文档见这里 6.3.2. PXE Booting with NAT
- 社区的参考资料见 virtualbox-pxe-boot
VirtualBox安装后,其用户级别配置目录在Linux系统上是在 ~/.VirtualBox
,根据官方资料,在该目录内创建 TFTP
目录, 目录中,需要将 pxelinux.0
重命名为 "VM Name".pxe 文件。我们要实验的话, 直接将 Ubuntu
的镜像 ubuntu-16.04.6-server-amd64.iso
挂载到 /mnt
, 拷贝到 ~/.VirtualBox/TFTP
中即可。
mkdir -p ~/.VirtualBox/TFTP
sudo mount ubuntu-16.04.6-server-amd64.iso /mnt
cp -rf /mnt/install/netboot/* ~/.VirtualBox/TFTP
ln -s ~/.VirtualBox/TFTP/pxelinux.0 test.pxe
将你的名称为 “test”的虚拟机的网卡切换为 网络地址转换(NAT)
模式, 系统启动顺序限制为从网络启动,启动你的虚拟机, 你就可以看到正常启动到PXE环节了, 如果出现下面的画面,说明这种模式的PXE Server环境,你已经准备完成。
社区有些文章的说法还是有问题的,说TFTP的放置目录 在Linux
上是 ~/.config/VirtualBox
目录下, 也有说是在 ~/VirtualBox VMs/test
目录下,碰到类似的事情,尽量还是按官方文档为准。减少误导和不必要的尝试。
可以尝试将上一篇文章的内存OS的功能配置到 ~/.VirtualBox/TFTP
目录,^~^!