从 U 盘启动安装系统有两种方式。第一种是完全通过网络安装。第二种是将 CD 映象复制到 U 盘作为软件包的源,并可以结合其他镜像。第二种方式更常用一些。
对于第一种安装方式,您需要从 netboot
目录(在 第 4.2.1 节 “在哪里能找到安装映像” 里面提到位置)下载安装映象,并按照下面所说的“灵活方法”复制文件到 U 盘。
第二种安装方式的安装映象放在 hd-media
目录,可以采用“简易方法”或“灵活方法”将它复制到 U 盘上。这种安装方式下您还需要下载一份 CD 映象。安装映象和 CD 映象应该是相同的 debian-installer
发行版。如果不同则在安装中会出现错误[6]。
为了准备 U 盘,您需要一台运行的支持 USB 的 GNU/Linux 系统。当前的 GNU/Linux 系统会在您插入 U 盘的时候自动识别。如果没有,您应该确认 usb-storage 内核模块是否已经被加载。U 盘插入后,它将被映射到名为 /dev/sdX
的设备,其中的 “X” 是 a-z 的字母。您可以通过运行 dmesg 在插入 U 盘后确认是否被正确映射。要写入信息,请要先打开它上面的写保护开关。
采用这种方法将销毁设备上已有的任何内容!请确认您使用了正确的 U 盘设备名。如果搞错,比如写成硬盘,将造成该设备上的所有信息丢失。
注意,U 盘至少要有 256MB 的容量(更小的尺寸安装也是可能的,请参阅 第 4.3.2 节 “复制文件 — 灵活的方法”)。
有一个文件合集 hd-media/boot.img.gz
包含所有的安装程序文件(包括内核) 以及 syslinux
和对应的配置文件。
需要注意的是,虽然方便,但该方法有一个主要的缺点: 即使 U 盘很大,设备的逻辑尺寸还是限制在 256 MB。如果您要将该 U 盘用作其他用途,需要为它重新分区,为其余容量创建一个新的文件系统。次要的缺点是您无法复制完整的 CD 映象到 U 盘,只能使用较小的 businesscard 或 netinst CD 映象。
使用该映象只须将它直接解压到 U 盘:
# zcat boot.img.gz > /dev/sdX
然后,挂载 U 盘 (mount /dev/
), 现在上面有了 一个 FAT 文件系统 ,复制 Debian netinst 或 businesscard ISO 映象到里面。卸载 U 盘 (sdX
/mntumount /mnt
) 就完成了。
如果您需要更多的灵活性,或者只是想了解其间发生了什么,应该使用如下的方法来把文件放到 U 盘。
我们将展示如何使用 U 盘的第一个分区,而不是整个设备。
由于大多数 U 盘预先设置了一个单独的 FAT16 分区,您可能不需要重新分区或者格式化 U 盘。如果必须要做,请使用 cfdisk 或者其他的分区工具来创建一个 FAT16 分区[7],然后建立文件系统:
# mkdosfs /dev/sdX1
注意,请使用 U 盘正确的设备名称。mkdosfs 命令包含在 Debian 的 dosfstools
软件包中。
为了在 U 盘引导后启动内核,我们要在 U 盘上放入一个 boot loader。尽管任何 boot loader (比如 lilo
)都应该可以胜任,不过还是使用 syslinux
更方便。主要原因是它可以使用 FAT16 分区,而且只需要编辑一个文本文件就能对其进行配置。任何支持 FAT 文件系统的操作系统都可以用来改变 boot loader 的配置文件。
为了把 syslinux
放到 U 盘的 FAT16 分区上,请在您的系统中安装 syslinux
和 mtools
软件包,然后执行:
# syslinux /dev/sdX1
再提醒一次,请确认您使用的是正确的设备名称。启动 syslinux 的时候该分区不能被挂载,因为该过程会向分区的引导扇区写入数据,并且创建包含 boot loader 代码的 ldlinux.sys
文件。
挂载分区(mount /dev/
)并复制下列安装程序映象文件到 U 盘:sdX1
/mnt
vmlinuz
或 linux
(内核二进制文件)
initrd.gz
(初始化 ramdisk 映象)
你可以选择使用安装程序的文本或者图形界面。后者放在 gtk
子目录下面。如果需要改文件名,请注意 syslinux
只能处理 DOS (8.3) 文件名。
接下来,您需要创建一个 syslinux.cfg
配置文件,里面最少要包含下面两行(如果您使用 netboot
映象,修改内核文件名为 “linux
” ):
default vmlinuz append initrd=initrd.gz
对于图形安装程序,您需要添加 video=vesa:ywrap,mtrr vga=788
到第二行尾部。
如果您使用 hd-media
映象,现在应该复制 Debian ISO 映象[8] 到 U 盘上。然后卸载 U 盘(umount /mnt
)。
如果您的系统拒绝从 U 盘引导,那么可能是因为它含有无效的主引导扇区记录(MBR)。您可以使用 install-mbr 命令来修复这个问题,该命令来自 mbr
软件包:
# install-mbr /dev/sdX
[6] 错误信息大概会显示为找不到内核模块。意思是说在 CD 映象里面包含的内核模块 udeb 版本与正在运行的内核不符。
[7] 别忘记设置 “bootable” 引导标记。
[8] 您可以使用 businesscard、netinst 或完整的 CD 映象 (参阅 第 4.1 节 “官方的 Debian GNU/Linux 光盘套装”)。确认选择合适的映象。注意 “netboot mini.iso
” 映象并不用在这里。