使用SysLinux引导Linux系统


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 所用的配制文件只是名字不同,内容完全一样,所以可简单的复制一份过来。

相关内容