SysLinux 主要包含4個程序:SysLinux, pxelinux, isolinux 和 extlinux。
除 pxelinux 只用於從網絡上啟動操作系統外,其它都是用於在不同類型的文件系統上創建操作系統的引導程序。
SysLinux用於MS-DOS/Windows FAT文件系統上;
pexlinux用於在從網絡上啟動操作系統;
isolinux用於ISO 9660/El Torito CD-ROM文件系統上;
extlinux用於Linux ext2/ext3文件系統上;
先看SysLinux的使用:
這裡以 FAT32 格式的優盤為例,插入後,若有自動掛載, 請先卸載U盤。
然後執行
#SysLinux /dev/sdb
上面的命令會改變U盤上的啟動分區,並復制一個文件 LDLINUX.SYS 到其根目錄中。
然後將包含下面內容的 SysLinux.cfg 保存到U盤根分區上。其中的root=/dev/sda4 是啟動目標機上的第4個分區。同時復制內核 vmlinux 到U盤根分區上。
DEFAULT 2.6.31sda4
TIMEOUT 50
LABEL 2.6.31sda4
SAY Now booting the kernel from SysLinux...
LINUX vmlinux
APPEND rw root=/dev/sda4
然後將目標機上設置為從U盤啟動, 插入U盤,就會看到 SysLinux 引導系統成功。
extlinux 的操作對象是文件系統類型為ext2/ext3的已掛載的設備上的目錄。
先將U盤重新分區,並格式化
#mkfs.ext3 /dev/sdb1
#mkfs.ext3 /dev/sdb2
這裡第一個分區中操作,
#cd /media/disk
#extlinux .
#cp ~/SysLinux.cfg extlinux.conf
#cp kernel .
因為 exlinux 生成的引導文件只是保存在U盤中的普通文件,需要改變MBR,來指向它。
所以要用 SysLinux 包中附帶的 mbr 覆蓋U盤原來的mbr。並需要用 fdisk 將要啟動的分區的 boot flag 設置為 on。
#cat /usr/lib/SysLinux/mbr.bin > /dev/sdb
# fdisk /dev/sdb1
t
a
1
因 extlinux 與 SysLinux 所用的配制文件只是名字不同,內容完全一樣,所以可簡單的復制一份過來。