Linux用dd制作启动盘与克隆硬盘
时间:2026-05-20 08:29:28 417浏览 收藏
本文深入讲解了Linux中dd命令在系统维护与数据管理中的四大核心应用场景:制作可引导的USB启动盘、逐扇区克隆整块硬盘、生成完整磁盘镜像备份(支持gzip实时压缩),以及从镜像安全恢复系统;强调操作前务必用lsblk精准识别设备、谨慎卸载分区、严格核对输入输出路径,并通过bs参数优化性能、sync确保数据落盘——这不仅是一份实用技术指南,更是保障数据安全与提升运维效率的底层利器。

如果您需要将一个操作系统镜像写入U盘以创建可引导的安装介质,或者希望对整块硬盘进行逐扇区复制,可以使用 Linux 系统中的 dd 命令完成此类任务。dd 是一个强大的底层数据复制工具,能够直接操作块设备。
本文运行环境:联想 ThinkPad X1 Carbon,Ubuntu 22.04
一、使用dd命令制作启动盘
将 ISO 镜像文件写入 USB 设备以制作可引导的启动盘是 dd 命令最常见的用途之一。该操作会完全覆盖目标设备上的所有数据,因此必须确认设备路径正确无误。
1、插入U盘后,打开终端并执行 lsblk 命令查看当前连接的存储设备列表,识别出U盘对应的设备名(如 /dev/sdb)。
2、卸载已挂载的分区,例如执行 sudo umount /dev/sdb* 来解除所有与该设备相关的挂载点。
3、使用 dd 命令将 ISO 文件写入整个设备,命令格式为:sudo dd if=镜像路径 of=设备路径 bs=4M status=progress && sync,其中 if 表示输入文件,of 表示输出设备,bs 设置块大小提升效率,status 显示进度。
4、等待命令执行完成,直到提示返回且光标不再移动,表示写入结束,此时可安全拔出U盘。
二、使用dd命令克隆硬盘
硬盘克隆是指将源硬盘的所有内容(包括分区表、引导记录和数据)完整复制到目标硬盘,适用于系统迁移或备份场景。此过程要求目标硬盘容量不小于源硬盘。
1、连接目标硬盘并使用 lsblk 或 fdisk -l 确认源硬盘(如 /dev/sda)和目标硬盘(如 /dev/sdb)的设备标识。
2、确保目标硬盘未被挂载,如有必要,先用 umount /dev/sdb* 卸载其所有分区。
3、执行完整磁盘复制命令:sudo dd if=/dev/sda of=/dev/sdb bs=64K conv=noerror,sync,其中 conv 参数确保在读取错误时继续复制并填充空字节。
4、复制过程中可通过按 Ctrl+T 发送 SIGUSR1 信号让 dd 输出实时进度,也可另开终端运行 pidstat -d 1 监控 I/O 活动。
5、复制完成后执行 sync 确保所有缓存数据写入物理设备,然后安全断开硬盘。
三、从硬盘生成镜像文件备份
通过 dd 可将整个硬盘或单个分区的内容保存为镜像文件,便于归档或后续恢复。这种方式保留了原始结构,适合长期离线存储。
1、确定要备份的设备路径,例如主硬盘为 /dev/sda。
2、执行命令 sudo dd if=/dev/sda of=/backup/sda.img bs=4M status=progress 将整个硬盘内容保存为名为 sda.img 的镜像文件。
3、若需压缩节省空间,可结合 gzip 实时压缩:sudo dd if=/dev/sda bs=4M status=progress | gzip > /backup/sda.img.gz。
4、备份结束后验证文件存在且大小合理,即可将其存储至外部介质。
四、从镜像文件恢复硬盘
当需要还原系统或部署相同配置时,可将之前创建的磁盘镜像写回目标设备。此操作将彻底替换目标设备上的所有内容。
1、确认目标设备正确连接,并通过 lsblk 找到其设备名称(如 /dev/sdc)。
2、卸载目标设备上的所有分区:sudo umount /dev/sdc*。
3、如果镜像是压缩格式,使用管道解压后写入;否则直接指定镜像文件作为输入源。命令示例:gzip -dc /backup/sda.img.gz | sudo dd of=/dev/sdc bs=4M status=progress。
4、写入完成后执行 sync 确保数据落盘,随后重启系统并调整启动顺序以从恢复后的硬盘引导。
以上就是《Linux用dd制作启动盘与克隆硬盘》的详细内容,更多关于Linux,DD命令的资料请关注golang学习网公众号!
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
122 收藏
-
109 收藏
-
273 收藏
-
417 收藏
-
220 收藏
-
114 收藏
-
409 收藏
-
187 收藏
-
234 收藏
-
429 收藏
-
263 收藏
-
256 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习