制作ubuntu usb安装盘 (用dd 命令)


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, 带可写分区的安装盘制作完成! 以后不怕重装系统,还能保存数据的磁盘制作完成.

相关推荐
小程同学>o<1 小时前
Linux 应用层开发入门(二十五)| 网络编程
linux·网络·嵌入式软件·嵌入式应用层·应用层开发·linux应用层开发
shughui1 小时前
2026最新JDK版本选择及下载安装详细图文教程【windows、mac附安装包】
java·linux·开发语言·windows·jdk·mac
D4c-lovetrain1 小时前
Linux个人心得28(k8s实战)
linux·运维·kubernetes
淼淼爱喝水1 小时前
openEuler 环境下 Ansible Playbook 实战:批量创建用户并修改 Shell 属性
linux·运维·服务器·openeuler·playbook
莎士比亚的文学花园2 小时前
Linux驱动开发(2)——驱动编程
linux·运维·驱动开发
YaBingSec2 小时前
玄机网络安全靶场:Jackson-databind 反序列化漏洞(CVE-2017-7525)
linux·网络·笔记·安全·web安全
计算机安禾2 小时前
【Linux从入门到精通】第30篇:综合案例:编写一个Linux系统体检脚本
linux·运维·服务器
海的预约2 小时前
Bootloader应用分析
linux·运维·服务器
时空未宇2 小时前
海鸥派顺利运行YOLO11S
linux·运维·服务器