1. 概述
Linux 的最著名的引导程序有 LILO 和 Grub 了两种,作为通用的引导程序,二者用途广泛,但对于一些特殊的场合,譬如引导程序可利用的空间比较有限的可移动存储介质 (通俗地说,包括光盘、软盘、u 盘等),它们有些过于厚重了。还有一些其他的引导方式比如SYSLINUX/ISOLINUX。
SYSLINUX/ISOLINUX引导方式方式基本一样只应用在不同的介质上,本文主要介绍SYSLINUX方式U盘引导的制作和测试。
2. 环境
硬件环境:
cpu: intel core2 t5200
memory: 1024MB
harddisk: 120G
U盘: 2G 清华普光
软件环境:
operation system: centos5.3
3. U盘系统安装盘制作
3.1. 创建U盘分区
首先对U盘进行分区。如图1:
图1
3.2. 制作ext2文件系统
对U盘进行格式化并制作成ext2文件系统。如图2:
图2
3.3. 制作USB系统安装盘
3.3.1. 挂载U盘和光盘
分别挂载U盘和操作系统安装光盘在/mnt和/cdrom 目录下。
3.3.2. 拷贝光盘安装盘内容到U盘。注:必须用-a参数。
拷贝系统安装光盘所有内容到U盘,此处cp命令参数必须要用-a,与-r和-R稍有不同。不用-a参数拷贝的文件属主和属组会改变。如图3:
图3
3.3.3. 安装SYSLINUX
syslinux包可以在http://www.kernel.org/pub/linux/utils/boot/syslinux/下载。
进入syslinux软件的extlinux目录下,执行./extlinux -i /mnt/boot/isolinux,参数-i是安装、-u是更新。此时会在/mnt/boot/isolinux/目录下多一个extlinux.sys的文件,这表示安装成功。
3.3.4. 制作extlinux.conf启动配置文件
把u盘的原有光盘启动配置文件/boot/isolinux/isolinux.cfg修改extlinux.conf
并且修改其中的“append initrd=initrd.img root=/dev/cdrom”行修改成“append initrd=initrd.img root=/dev/sda1”。
至此,制作USB系统安装盘已经完成。
4. 测试
4.1. HP520笔记本电脑
进入BIOS,第一启动设置为USB启动,System Configrueation->Device Configruateion->SATA Native选项设置为”Enable”,系统正常从U盘引导。
假如SATA Native选项设置成”Disable”,否则报错”Mounting /root/dev on dev/.static/dev failed:No such file or directory ...”。
5. 测试总结
USB方式引导系统时,主机会把USB模拟成USB-ZIP、USB-HDD、USB-CDROM和USB-FDD四种方式的其中一种。用U盘引导系统时,只要主机支持USB-HDD和USB-ZIP方式其中一种即可(主机支持的启动方式在BIOS里可以找到,有的主机可能不标识USB-ZIP和USB-HDD,而只标识USB启动方式或者Removeable Device启动方式,但这并不影响系统USB引导)。USB-CDROM是USB光驱启动方式,USB-FDD是把USB模拟成软盘启动。
由以上测试分析syslinux引导系统,只要主机支持USB-ZIP和USB-HDD的其中一种就可以从U盘引导系统,但是syslinux引导系统方式和grub引导方式一样也会存在根据不同的硬件修改启动文件extlinux.conf文件的问题。