author: hjjdebug
date: 2026年 04月 28日 星期二 12:43:49 CST
descrip: 制作ubuntu usb安装盘 (用dd 命令)
文章目录
- [1. 准备.](#1. 准备.)
- [2. 用dd 命令烧录磁盘](#2. 用dd 命令烧录磁盘)
- [3. 结果验证](#3. 结果验证)
-
- [3.1 用fdisk 查看](#3.1 用fdisk 查看)
- [3.2 用parted 查看](#3.2 用parted 查看)
- [4 把剩余U盘空间做成数据盘分区](#4 把剩余U盘空间做成数据盘分区)
下载了一个ubuntu26.04 LTS 镜像, 想把它制作成一个usb安装盘.
是的,用专用的安装工具确实制作安装盘也挺方便的, 但是.
掩盖了底层的一些细节. 也可能做了一些改变.
这里用dd命令来制作, 并且说明了为什么dd 命令可以制作成功.
而且把剩余的磁盘空间还可以用作数据盘来使用.
1. 准备.
从网上下载ubuntu26.04 镜像. 官网太慢,从国内镜像站下载.
ubuntu-26.04-desktop-amd64.iso 桌面版
2. 用dd 命令烧录磁盘
找一个usb盘, 大小要大于等于8G, 因为镜像大小6.1G
为什么可以用dd 命令烧录?
因为ubuntu 安装镜像 是live cd 格式的, 它同时支持BIOS + UEFI 启动,是一种混合启动镜像.
Hybrid ISO/ Hybrid Boot. 老板子,新板子上都能完成启动.
老板子上走的是MBR(主引导扇区)+分区表 来找引导程序.
新板子上走的是GPT + esp 来找引导程序
所以可以直接用dd 命令烧录到u盘
我的u盘是 /dev/sdb, 注意不要带分区号, 并且要确认盘符准确. 千万别对你自己的主磁盘操作
$sudo dd if=ubuntu-26.04-desktop-amd64.iso of=/dev/sdb bs=4M status=progress conv=fsync
bs=4M 一次数据块是4M, 是为了加快写入速度.
conv=fsync 是完成后要执行fsync,确保数据完全写入磁盘.
会看到progress 已经结束,但磁盘写入灯还在闪烁,正在将缓存中数据刷写到磁盘.
$sync 再次执行一次.double assure.
3. 结果验证
弹出u盘,重新插上, 关键!
这样才能完成重新读取块设备信息,否则会是旧的,缓存中的信息.
再用 $lsblk 查看,为如下数据
sdb 8:16 1 7.4G 0 disk
├─sdb1 8:17 1 6.1G 0 part /media/hjj/Ubuntu 26.04 amd64
├─sdb2 8:18 1 5M 0 part
└─sdb3 8:19 1 300K 0 part
3.1 用fdisk 查看
它查看的是MBR 分区, 支持bios 启动.
$ sudo fdisk -l /dev/sdb
GPT PMBR 大小不符(12732371 != 15446015),将用 w(写) 予以更正。
Disk /dev/sdb:7.4 GiB,7908360192 字节,15446016 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:gpt
磁盘标识符:2FDF80BE-E145-40C5-AA53-61A53AB5282E
设备 起点 末尾 扇区 大小 类型
/dev/sdb1 64 12721411 12721348 6.1G Microsoft 基本数据
/dev/sdb2 12721412 12731707 10296 5M EFI 系统
/dev/sdb3 12731708 12732307 600 300K Microsoft 基本数据
3.2 用parted 查看
parted 即查看gpt 分区表, 也查看mbr 分区表,有更完善的功能.
$ sudo parted /dev/sdb print
sudo\] hjj 的密码: Model: Generic- SD/MMC (scsi) 磁盘 /dev/sdb: 7908MB Sector size (logical/physical): 512B/512B 分区表:gpt Disk Flags: 数字 开始: End 大小 文件系统 Name 标志 1 32.8kB 6513MB 6513MB ISO9660 隐藏分区, msftdata 2 6513MB 6519MB 5272kB Appended2 启动, esp 3 6519MB 6519MB 307kB Gap1 隐藏分区, msftdata ## 4 把剩余U盘空间做成数据盘分区 u盘容量为8G, 只用了6.5G, 那剩余的空间还可以做成数据盘,可读可写. $ sudo parted /dev/sdb // 进入交互模式, p(或print) 可查看内容, mkpart 可创建新分区 // 直接把空闲空间做成一个数据区 datapart(分区名称), fat32(文件系统名称,注意只是名称) // 空闲起点 100%(到磁盘尾部) (parted) mkpart datapart fat32 空闲起始位置 100% // 按p (parted) p Model: Generic- SD/MMC (scsi) 磁盘 /dev/sdb: 7908MB Sector size (logical/physical): 512B/512B 分区表:gpt Disk Flags: 数字 开始: End 大小 文件系统 Name 标志 1 32.8kB 6513MB 6513MB ISO9660 隐藏分区, msftdata 2 6513MB 6519MB 5272kB Appended2 启动, esp 3 6519MB 6519MB 307kB Gap1 隐藏分区, msftdata 4 6520MB 7907MB 1387MB fat32 msftdata 把新增分区格式化为fat格式, 这样linux,window都能用,后面就可以用该盘存文件了. $ sudo mkfs.fat /dev/sdb4 ok, 带可写分区的安装盘制作完成! 以后不怕重装系统,还能保存数据的磁盘制作完成.