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文件的问题。