zzxworld

使用 dd 命令制作系统 USB 启动盘

U 盘已经是目前主流的系统安装方式,所以各种制作 USB 启动盘的软件也很多。如果你和我一样使用的是 Linux 操作系统,其实不太需要使用这些专门的 USB 启动盘制作软件,一个 dd 命令就能搞定。

比如我要制作一个 Debian 系统的 USB 启动 U 盘,只需要先下载好 iso 格式的镜像文件,然后插入 U 盘,再通过下面的命令就可以制作好启动 U 盘了。

dd if=~/Downloads/debian-11.3.0-amd64-netinst.iso of=/dev/sdb

命令参数很简单。if 指定了系统镜像文件地址,of 指定了 U 盘位置。在 Linux 系统上,可以通过 fdisk 命令来获取到 U 盘的地址。执行命令前请仔细核对 U 盘地址,如果输错了地址会导致一些不可逆的数据损失。

除了 ifof 这两个必要的参数外,dd 命令另外一个有用的参数就是 bs。通过它可以手动指定操作数据块的大小。取值通常为 4K1M 这种计算机数据单位。使用合适的数据块大小可以提升 dd 命令的执行效率,不过这没有一个最优值。简单来说,这个参数在不同的系统和硬件上,最优取值是不一样的。如果在意 dd 命令的执行效率,可能需要自己通过 time 前缀命令来记录使用不同取值后的执行时间,然后挑选出一个最优取值。我个人通常使用 1M,加上这个参数后的 U 盘启动盘命令如下:

dd if=~/Downloads/debian-11.3.0-amd64-netinst.iso of=/dev/sdb bs=1M

dd 命令默认是静默执行的,如果想要知道执行过程中的进度信息,可以使用 status 参数:

dd if=~/Downloads/debian-11.3.0-amd64-netinst.iso of=/dev/sdb bs=1M status=progress