如果你需要给硬盘做完整备份,或者把一个分区的内容原封不动地复制到另一个分区,dd 命令绝对是你的得力助手。它被称为”数据复制机”,能按字节级精确复制数据,小到分区备份,大到整盘克隆都能搞定。今天就用最简单的方式,带你掌握 dd 命令的核心用法。

什么是 dd 命令?

dd 是 Linux 系统中一个强大的底层命令,全称可以理解为”数据复制器”(data duplicator)。它的工作原理很简单:从一个地方读取数据,原封不动地写到另一个地方,不关心数据是什么格式(文件、分区、甚至整个硬盘)。

比如你可以用它:

  • 把一个分区的所有内容备份成镜像文件
  • 把镜像文件恢复到另一个分区
  • 直接克隆一个硬盘到另一个硬盘(包括启动信息)
  • 备份硬盘的启动扇区(MBR)

dd 命令的核心语法

dd 命令的基本格式就像”从 A 复制到 B”:

  • if:输入文件(input file),即数据的来源(可以是分区、硬盘、镜像文件)
  • of:输出文件(output file),即数据的目的地(可以是分区、硬盘、镜像文件)
  • 其他参数:比如 bs(每次读写的字节数)、count(读取的次数),用于控制复制的细节

实战:5 个最常用的 dd 备份场景

1. 备份一个分区到镜像文件

比如要把 /dev/sdb1 这个分区(可以通过 lsblk 命令查看分区名)备份成一个镜像文件 sdb1.img,存到 /backup 目录:

dd if=/dev/sdb1 of=/backup/sdb1.img
  • 执行后,dd 会把 /dev/sdb1 里的所有数据(包括文件、分区表信息)原封不动地复制到 sdb1.img 中。
  • 终端会显示复制的进度(多少字节被复制,速度多少),耐心等待完成即可。

2. 把备份的镜像恢复到另一个分区

如果要把 sdb1.img 恢复到 /dev/sdb2 这个分区(注意:/dev/sdb2 要为空,且大小不小于原分区):

dd if=/backup/sdb1.img of=/dev/sdb2
  • 恢复完成后,/dev/sdb2 的内容会和原来的 /dev/sdb1 完全一样,就像”复制粘贴”了整个分区。

3. 直接克隆一个分区到另一个分区

如果不需要中间镜像文件,想直接把 /dev/sdb1 的内容复制到 /dev/sdb2(适合快速克隆):

dd if=/dev/sdb1 of=/dev/sdb2
  • 这种方式跳过了生成镜像文件的步骤,直接在两个分区之间复制数据,速度更快。
  • 注意:目标分区 /dev/sdb2 会被完全覆盖,一定要确认目标分区正确!

4. 克隆整个硬盘(包括启动功能)

如果要把旧硬盘 /dev/sda 完整克隆到新硬盘 /dev/sdb(比如换硬盘时迁移系统),需要两步:

第一步:复制启动扇区(MBR)

硬盘的前 446 字节是启动引导程序(MBR),决定了电脑能否从硬盘启动,必须先复制:

  • bs=446:每次读写 446 字节
  • count=1:只读取 1 次,也就是总共复制 446 字节
dd if=/dev/sda of=/dev/sdb bs=446 count=1

第二步:复制所有分区

确保新硬盘 /dev/sdb 的分区结构和旧硬盘一致(可以用 fdiskgparted 调整),然后逐个复制分区:

  • 完成后,新硬盘 /dev/sdb 就能像旧硬盘一样启动和使用了。
dd if=/dev/sda1 of=/dev/sdb1  # 复制第一个分区
dd if=/dev/sda2 of=/dev/sdb2  # 复制第二个分区

5. 备份和恢复硬盘的 MBR

MBR(主引导记录)是硬盘启动的关键,万一损坏会导致无法开机,建议备份:

# 备份 /dev/sda 的 MBR 到文件(MBR 共 512 字节)
dd if=/dev/sda of=/backup/backup-mbr-sda.img bs=512 count=1

如果需要恢复 MBR 到另一个硬盘 /dev/sdb,只需恢复前 446 字节(后面的分区表可能不需要覆盖):

dd if=/backup/backup-mbr-sda.img of=/dev/sdb bs=446 count=1

注意事项:这些坑一定要避开

  1. 确认分区/硬盘名:用 lsblkfdisk -l 确认 ifof 的路径(比如 /dev/sda/dev/sdb),输错可能会覆盖重要数据!
  2. 目标分区要足够大:恢复或克隆时,目标分区/硬盘的容量不能小于源分区/硬盘,否则数据会被截断损坏。
  3. 操作时别碰源数据:备份或克隆过程中,不要对源分区(比如 /dev/sdb1)进行读写操作(如复制文件、删除内容),否则可能导致数据不一致。
  4. 需要 root 权限:所有 dd 操作都需要管理员权限,记得在命令前加 sudo
  5. 耐心等待dd 命令没有进度条(可以用 pkill -USR1 dd 在另一个终端查看进度),大分区可能需要几十分钟,别强行中断。

总结:dd 命令的”复制粘贴”哲学

dd 命令的强大之处在于它的”底层复制”能力——不关心文件系统,不关心数据类型,只按字节精确复制,因此适合做完整备份和克隆。记住几个核心用法:

需求 命令
分区备份到镜像 dd if=/dev/sdb1 of=/backup/sdb1.img
镜像恢复到分区 dd if=/backup/sdb1.img of=/dev/sdb2
直接克隆分区 dd if=/dev/sdb1 of=/dev/sdb2
克隆硬盘(含启动) 先复制 MBR,再复制分区

https://www.88531.cn/?p=47065


新软师兄 » Linux 硬盘备份神器:用 dd 命令克隆分区和硬盘
50T免费网盘资源大集合【持续更中~~~~】:点击查看

dase kand pornhan.mobi xvideo desi gay pcso 2pm result today pinoytvfriends.com where i can watch bad romeo كلام فى النيك wfporn.com قصص محارم حديثة busporn porngugu.mobi indian sexx vedios sex ka video noticieroporno.com himachal pradesh sex com
nero hentai hentaitgp.com ламия хентай www.mom xxx.com alohaporn.me sahara knite mature fucking tubepatrolporn.com bhabi sex indian girl sex gotporn.mobi xnxx family strocks ang probinsyano july 20 2022 full episode youtube pilipinoteleserye.com ano ang pambansang sasakyan ng pilipinas
احلي سكس محارم pornxporn.org نيك فلاحى multi.xnxx alohaporn.net telugu sex chart سكس قصيرات arabysexy.org نيك نقاب www assames sex com umora.info desi sexy bhabi 8teenx bukaporn.com india hot sex videos