为了准备 U 盘,推荐使用一台正在运行的支持 USB 的 GNU/Linux 系统。当前的 GNU/Linux 系统会在您插入 U 盘的时候自动识别。如果没有,您应该确认 usb-storage 内核模块是否已经被加载。U 盘插入后,它将被映射到名为 /dev/sdX
的设备,其中的 “X” 是 a-z 的字母。您可以通过在插入 U 盘前后运行 lsblk 命令来查看 U 盘被映射到哪个设备名。(查看 dmesg 命令的输出(以 root 用户运行)也是一种方法。)要写入信息,您需要先关闭 U 盘的写保护开关。
![]() |
警告 |
---|---|
采用这种方法将销毁设备上已有的任何内容!请确认您使用了正确的 U 盘设备名。如果搞错,比如写成硬盘,将造成该设备上的所有信息丢失。 |
针对此架构的 Debian安装映像是采用 isohybrid 技术创建的,这意味着它们可以被直接写入 U 盘,这是非常简单的制作安装介质的方法。只需为 U 盘选择一个大小合适的映像(如 netint、CD 或 DVD-1)。参阅 第 4.1 节 “官方的 Debian GNU/Linux 安装映像” 获取安装映像。
另外,对于只有几 M 的小容量 U 盘,您可以从 netboot
目录下载 mini.iso 映像(位于 第 4.2.1 节 “在哪里能找到安装文件”)。
您选中的安装映像应该被直接写入 U 盘,覆盖它当前的内容。例如,使用已有的 GNU/Linux 系统,映像文件可以参照下面方法写入 U 盘,写之前请确认 U 盘已经卸载:
#
cp
debian.iso
/dev/sdX
#
sync
在其它操作系统上如何做的信息可以在Debian CD FAQ中找到。
![]() |
重要 |
---|---|
映像必须写入整个盘设备上而不是分区上,例如 /dev/sdb 而不是 /dev/sdb1。不要使用 unetbootin 的工具,它会更改映像。 |
![]() |
重要 |
---|---|
对大多数用户来说,简单地把安装映像写入 U 盘已经够用。下面更为复杂的选项主要提供给有特殊需要的用户。 |
U 盘上的混合映像不占据所有的存储空间,所以可以考虑使用空余的空间来保存您需要保存的固件文件、软件包或任何其它文件。如果您只有一块 U 盘或者想将所有东西保存在同一个设备上,这会很有用。
要如此做,请使用 cfdisk 或者任何其他的分区工具在 U 盘上创建额外的分区。然后,在分区上创建一个(FAT)文件系统,挂载它,并将固件复制或者解压进分区,例如:
# mkdosfs -n FIRMWARE /dev/sdX3 # mount /dev/sdX3
/mnt # cd /mnt # tar zxvf/path/to/
firmware.tar.gz # cd / # umount /mnt
注意使用符合您的 U 盘的正确的分区名。mkdosfs 命令包含于 dosfstools
Debian 软件包。
![]() |
注意 |
---|---|
如果您选择将 |
在 isohybrid 技术用于 Debian 安装介质之前,下面章节描述的方法曾用于准备安装介质以从 USB 设备启动。这些方法已经被 第 4.3.1 节 “使用混合 CD/DVD 映像制作 U 盘” 描述的技术取代,但本文档仍保留这部分内容,以供教学和存档目的,并且某些用户也可能需要它们。
和 第 4.3.1 节 “使用混合 CD/DVD 映像制作 U 盘” 不同的另一种方法是手动将安装文件和安装映像复制到 U 盘。注意 U 盘的最小容量为 1 GB(如果您使用 netboot 的文件,则也可以使用更小的容量,请参考 第 4.3.3 节 “手动复制文件到 U 盘 — 灵活的方法”)。
有一个文件合集 hd-media/boot.img.gz 包含所有的安装程序文件(包括内核)以及 syslinux
和对应的配置文件 。
![]() |
注意 |
---|---|
需要注意的是,虽然方便,但该方法有一个主要缺点:即使 U 盘容量更大,该设备的逻辑尺寸还是限制在 1 GB。如果您要该 U 盘作其他用途,需要为它重新分区,为剩余容量创建一个新的文件系统。 |
只需简单地将该映像直接解压到 U 盘:
# zcat boot.img.gz > /dev/sdX
然后,挂载 U 盘(mount /dev/
), 现在上面有了一个 FAT 文件系统 ,然后复制 Debian ISO 映像(netinst 或完整的 CD;参见 第 4.1 节 “官方的 Debian GNU/Linux 安装映像”)到里面。卸载 U 盘 (sdX
/mntumount /mnt
) 就完成了。
如果您需要更多的灵活性,或者只是想了解其间发生了什么,应该使用如下的方法来把文件放到 U 盘。使用这个方法的一个优点是,— 如果 U 盘的足够大—,那么可以选择将任何 ISO 映像复制到上面,甚至是 DVD 映像。
我们将展示如何使用 U 盘的第一个分区,而不是整个设备。
为了在 U 盘引导后启动内核,我们要在 U 盘上放入一个 boot loader。尽管任何 boot loader 都应该可以胜任,不过还是使用 syslinux
更方便。主要原因是它可以使用 FAT16 分区,而且只需要编辑一个文本文件就能对其进行配置。任何支持 FAT 文件系统的操作系统都可以用来改变 boot loader 的配置文件。
首先,您需要在您的系统上安装 syslinux
和 mtools
软件包。
![]() |
注意 |
---|---|
由于大多数 U 盘预先设置了一个单独的 FAT16 分区,您可能不需要重新分区或者格式化 U 盘。如果必须要做,请现在使用 cfdisk 或者其他的分区工具来创建一个 FAT16 分区[3],然后使用以下命令安装 MBR:
# cat /usr/lib/syslinux/mbr/mbr.bin
>/dev/ 现在,使用以下命令创建文件系统:
# mkdosfs /dev/ 注意,请使用正确的 U 盘设备名称。mkdosfs 命令包含在 |
现在,既然已经有了正确分区的 U 盘,您需要使用以下命令来在 FAT16 分区上安装 syslinux
:
# syslinux /dev/sdX1
再提醒一次,请确认您使用的是正确的设备名称。启动 syslinux 的时候该分区不能被挂载,因为该过程会向分区的引导扇区写入数据,并且创建包含 boot loader 代码的 ldlinux.sys
文件。
这里可以选择两种不同的安装方式:hd-media 方式需要 U 盘上有 ISO 安装映像,以加载安装程序模块和基本系统。netboot 安装程序则会从 Debian 镜像站点加载上述文件。
根据您的选择,您需要从任意 Debian 镜像站点的 debian/dists/bullseye/main/installer-i386/current/images/ 目录的 hd-media 或者 netboot 子目录下载一些安装程序文件:
vmlinuz
或 linux
(内核二进制文件)
initrd.gz
(初始化 ramdisk 映像)
您可以选择安装程序的文本版本(直接能在 hd-media 或 netboot 下找到的文件)或者图形版本(在对应的 gtk
子目录寻找)。
接下来就是挂载分区(mount /dev/
),然后复制下载的文件到 U 盘的根目录。 sdX1
/mnt
接下来需要在 U 盘根目录创建一个名为 syslinux.cfg
的纯文本 syslinux 配置文件,里面最少要包含下面的行:
default vmlinuz initrd=initrd.gz
如果您使用了来自 netboot
的文件,请将内核二进制文件的名称改为 “linux
”。
对于图形安装程序(来自 gtk
),您需要在行末添加 vga=788
。您还可以添加您想添加的其他参数。
添加 prompt 1
一行,使得引导提示符可以允许附加参数。
如果您使用了来自 hd-media
的文件,您需要现在将 Debian 安装映像 ISO 文件复制到 U 盘上。(对于 netboot
方法,则不需要这一步。)
您可以选择 netinst 或完整 CD/DVD 映像(参阅 第 4.1 节 “官方的 Debian GNU/Linux 安装映像”)。请选择适合您 U 盘大小的映像。注意 “netboot mini.iso
” 映象在这里并不适用。
完成后,卸载 U 盘(umount /mnt
)。