该系列教程主要谈谈无盘安装win10和无盘启动win10技术,整体的理论知识和技术实现思路可以翻阅我的第一篇博文。
作为无盘引导的核心技术就是IPXE了,ipxe官网地址:https://ipxe.org/
其实除了ipxe具备支持http功能外,syslinux 包中的pxelinux,文件名pxelinux.0,它也是一个强大的引导工具支持配置文件,配置文件默认为pxelinux.cfg/default,不过因为ipxe官网文档比较齐全,而且可以自己编译,相当于自己想怎么改就怎么改,ipxe配置文件以.ipxe结尾。
通过ipxe官网了解到编译过程,我是在ubuntu20.04环境下编译的,以root身份登录
需要依赖这些工具或软件包
- gcc
- binutils
- make
- perl
- liblzma or xz header files
- mtools
- mkisofs or genisoimage or xorrisofs (needed only for building .iso images)
- syslinux
具体操作如下:
#更新软件源 apt update #安装依赖 apt install gcc binutils make perl liblzma-dev mtools mkisofs syslinux #拉代码 git clone git://git.ipxe.org/ipxe.git #编译 make bin/undionly.kpxe
因为ipxe是一个固件,所以编译后它的实体有很多种类型,有iso、usb格式的(刷入u盘的),rom格式的(刷入网卡芯片),有通过pxe传统链式引导的就是上面的undionly.kpxe,有用于efi引导的ipxe.efi,这些全部都是ipxe固件,只是格式不同而已,我采用的是传统引导并且通过PXE进入ipxe,所以要编译成undionly.kpxe,详细的编译编译方式参考ipxe官网:https://ipxe.org/download
确定了ipxe引导文件名称这一点,爱快dhcp的option67配置就确定了,也就是75:6e:64:69:6f:6e:6c:79:2e:6b:70:78:65
只要群晖开启tftp,将编译成的undionly.kpxe传入tftp根目录,爱快dhcp两个字段配置好,局域网中同网段的主机开启pxe启动后就会获取到tftp服务器地址和启动文件名,从而进入ipxe环境。
补充:如果你的虚拟机或者物理机选择了uefi启动模式,那么你的ipxe需要编译成ipxe.efi,make bin-x86_64-efi/ipxe.efi,此时,爱快option67就要根据ipxe.efi这个名称去填写了。
博主您好,出现了这个问题:
root@ubuntu:~# make bin/undionly.kpxe
make: *** 没有规则可制作目标“bin/undionly.kpxe”。 停止。
make bin/undionly.kpxe
make: *** No rule to make target ‘bin/undionly.kpxe’. Stop.
同求解
make 编译
cd ipxe/src
make bin/undionly.kpxe
编译后会在 bin 目录下生成 undionly.kpxe 文件,这个就是 iPXE 网络启动固件
make 编译64位
cd ipxe/src
make bin-x86_64-pcbios/undionly.kpxe