用了很久的syslinux了,虽然已经实现了PXE网络启动DOS、PE1.0、PE2.0、PE3.0、网络安装各种Linux(Redhat、CentOS、Debian等),但老版本的syslinux是基于TFTP来传输所有的启动文件的,这个在跨网段的情况下,传输速度会比较慢,一直想解决。
听说gPXE有一段时间了,它支持通过HTTP和FTP方式传输引导文件,一直没时间研究,最近研究了下,加上朋友的参考,基本上把功能实现了。
原理非常简单,新版本的syslinux已经支持gPXE了,直接更改DHCP配置文件,指向到gpxelinux.0就可以了,我是直接把gpxelinux.0改名成pxelinux.0,原始配置文件基本不变。
旧版本引导dos镜像的方法LABEL dostools
#MENU PASSWD 1
MENU LABEL ^A- DOS Disk Tools
kernel gpxe/memdisk c=938 h=2 s=32 floppy
append initrd=grub/dos.img
gPXE引导方式支持HTTP和FTP协议LABEL dostools
#MENU PASSWD 1
MENU LABEL ^A- DOS Tools FTP
kernel ftp://192.168.1.1/gpxe/memdisk c=938 h=2 s=32 floppy
append initrd=ftp://192.168.1.1/gpxe/dos.img
旧版本引导PE的方法分为PE1.x和PE2.0/PE3.0
引导多个PE1.x需要修改startrom.0、ntldr