Syslinux使用
1. 介绍
Syslinux是一个功能强大的引导加载程序, 可以装在U盘上来引导系统
在5.00版本以前,几乎所有c32模块是独立的,即没有其他模块依赖;但在5.00以后,很多c32模块则是依赖于其他模块
这里同时介绍4.05和6.03版本
2. 使用
Windows下使用方式如下
1. 将U盘格式成FAT32
2. 在U盘根目录里建立boot/syslinux文件夹
3. 打开命令行,找到U盘目录,进入syslinux目录里执行如下命令,假设U盘盘符为H
V4.05: ~\win32>syslinux.exe -ma -d \boot\syslinux H: V6.03: ~\bios\win32>syslinux.exe --mbr --active --directory /boot/syslinux/ --install H:
执行成功后将在/boot/syslinux目录下生成启动系统文件ldlinux.sys
4. 在syslinux-*\bios文件夹里搜索如何文件(对于6.03需要找到对应的依赖库)
memdisk 引导IMG镜像文件
menu.c32 窗口模块
vesamenu.c32 窗口模块
chain.c32 指定分区(硬盘)启动
reboot.c32 重新启动计算机
poweroff.c32 关闭计算机
几个文件复制到U盘的boot/syslinux文件夹里,同时在此文件里新建配置文件syslinux.cfg。
3. 配置
syslinux的配置文件syslinux.cfg需要填写菜单及相关系统配置项
3.1 菜单项
菜单项的配置可参考
<Syslinux Menu>
<Archlinux Syslinux>
3.2 引导配置项
WinPE
LABEL Winpe MENU LABEL Winpe kernel /boot/isope.bin append initrd=/boot/SETUPLDR.BIN
Linux
LABEL linux MENU LABEL Puppy linux kernel /boot/linux/vmlinuz append initrd=/boot/syslinux/initrd.gz
硬盘
LABEL StartHD
MENU LABEL StartHD
COM32 /boot/syslinux/chain.c32 hd0
关闭系统
LABEL Poweroff
MENU LABEL Poweroff
COM32 /boot/syslinux/poweroff.c32
重启系统
LABEL reboot
MENU LABEL Reboot
COM32 /boot/syslinux/reboot.c32
磁盘镜像引导
syslinux支持gzip或zip压缩格式的(memdisk),标准floppy镜像可直接引导启动,非标准(容量大于2880K)要附加CHS参数
其中,CHS参数可通过软件GDParam来获取
LABEL maxdos kernel memdisk append initrd=boot/maxdos.img floppy c=555 h=2 s=18
ISO光盘
LABEL WIN7PE.iso LINUX memdisk INITRD /boot/wins/WIN7PE.iso APPEND iso raw
LiveCD
引导LiveCD需要指定root设备(通过UUID或LABEL)和squashfs所在路径(实际路劲为/boot/CentOS/squashfs.img)
LABEL CentOS MENU LABLE CentOS kernel /boot/CentOS/vmlinuz0 append initrd=/boot/CentOS/initrd0.img root=UUID=4C9E-56D3 rootfstype=vfat rw quiet liveimg SQUASHED="/sysroot/boot/CentOS/squashfs.img" #root=LABEL=FIX
其中,获取UUID的方法如下
/* Linux */ # /lib/udev/vol_id -u $dev -> 获取UUID # /lib/udev/vol_id -l $dev -> 获取LABEL # blkid -> 获取UUID /* Windows */ C:\> wmic LogicalDisk where "DriveType='2'" get VolumeSerialNumber / value VolumeSerialNumber=72E11326 -> UUID为72E1-1326
关于LiveCD,参考:
<Linux Live Kit>
<Fedora LiveOS>
其他比较不错的LiveCD有4MLinux,Slitaz
4. PE定制
首先来了解下iso和img镜像格式
iso: ISO 9660 CD/DVD image, ElTorito img: 磁盘映像, 准确的来说是Floppy Disk Image
iso修改工具有WinISO和UltraISO;可引导需要Bootable_NoEmulation.img
img文件可以使用WinImage进行修改;.SI_文件通常是使用CAB压缩的文件,可使用WinCab中的makecab.exe来得到
makecab.exe WinPE.iso WINPE.IS_
<WinPE的DIY知识简介>
<Windows Preinstallation Phases>
参考:
<Syslinux Wiki>
<Syslinux HowTos>