DD备份单个 Btrfs 分区到镜像文件

备份单个 Btrfs 分区到镜像文件

==============================


像 Windows 下 DiskGenius 那样,把整个 Btrfs 分区备份成一个独立的镜像文件(.img/.backup),以后直接恢复回分区,对吧?
下面给你两种一步到位、零概念、照着敲就行的方法,按你 Ubuntu 环境直接给命令,不用懂任何原理。

方法一:用dd做「整盘镜像备份」(最像 DiskGenius,一条命令搞定)

它的效果就是把整个分区原封不动打包成一个镜像文件,和你用 Ghost/DiskGenius 做的分区镜像完全一样,以后可以直接写回分区恢复。

1. 先找到你的 Btrfs 分区设备名

打开终端,执行:
bash
运行
lsblk
你会看到类似这样的输出,找到你的 Btrfs 分区(一般是/dev/sda1这种格式):
plaintext
NAME   MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINTS
sda      8:0    0 238.5G  0 disk  
└─sda1   8:1    0 238.5G  0 part  /
这里你的 Btrfs 分区就是/dev/sda1,记下来这个名字。

2. 备份成镜像文件(直接复制修改即可)

假设:
  • 你的 Btrfs 分区是/dev/sda1
  • 你要把镜像文件存到外接盘,路径是/media/你的用户名/你的外接盘/backup.img
执行下面这条命令,开始备份:
bash
运行
sudo dd if=/dev/sda1 of=/media/你的用户名/你的外接盘/backup.img bs=4M status=progress
  • if=/dev/sda1:要备份的源分区
  • of=xxx/backup.img:备份生成的镜像文件
  • bs=4M:提高读写速度
  • status=progress:实时显示备份进度
备份完成后,你就得到了一个和 DiskGenius 生成的分区镜像一模一样的文件,以后恢复直接用dd写回去就行。

3. 恢复镜像到分区(以后要用的时候)

把你的外接盘插上,执行:
bash
运行
sudo dd if=/media/你的用户名/你的外接盘/backup.img of=/dev/sda1 bs=4M status=progress
⚠️ 注意:恢复会把/dev/sda1上的所有数据覆盖,一定要确认设备名没错!

方法二:用 Clonezilla(再生龙)图形化备份,全程点鼠标

如果你不想敲命令,就用这个,和 Windows 下的 DiskGenius 操作逻辑完全一样:
  1. 下载 Clonezilla Live ISO:
    https://clonezilla.org/downloads/download.php?branch=stable
  2. 用 Rufus 把它写到一个 U 盘里。
  3. 电脑从这个 U 盘启动,进入 Clonezilla 界面。
  4. 按下面的路径点:
    • 语言选中文,键盘选默认,然后选Start Clonezilla
    • 选device-image(分区 / 磁盘备份成镜像)
    • 选local_dev(把镜像存到本地 / 外接盘)
    • 按提示选你要存镜像的外接盘目录
    • 选saveparts(备份单个分区)
    • 给镜像起个名字,然后选你要备份的 Btrfs 分区
    • 一路回车,它就会把分区备份成一个镜像文件存在你的外接盘里。
恢复的时候,就选restparts,选你的镜像文件,然后选要恢复到的分区,点确认就行,和 DiskGenius 完全一样。

给你一句话总结

  • 不想敲命令、想图形化操作:用 Clonezilla,点鼠标备份 / 恢复,和 DiskGenius 一模一样。
  • 想直接在 Ubuntu 终端里敲命令:用 dd命令,一条命令备份成镜像,一条命令恢复。
你把你的 Btrfs 分区设备名(比如/dev/sda1)和外接盘的路径发给我,我直接给你一条可以复制粘贴执行的dd命令,不用你自己改任何东西。
=========================================================================================================================



dd可以精准备份 / 恢复单个分区,不会碰其他分区,我给你讲得明明白白。

一、dd到底是什么?

它是 Linux 里一个最基础的 **「字节复制工具」**,你可以把它理解成一把「字节级的剪刀 + 胶水」:
  • 你指定从哪里读数据(if=,输入源)
  • 再指定写到哪里去(of=,输出目标)
  • 它就会把源的字节原封不动复制到目标,不多不少,完全按你指定的范围来。
你之前用它写整个 U 盘,是因为你当时指定的输入 / 输出是整个磁盘设备(比如/dev/sdb),不是分区。

二、重点:dd怎么实现「只备份 / 恢复单个分区」?

关键就在于设备名的写法,这是区分「整个磁盘」和「单个分区」的核心:
表格
设备路径 含义 操作影响范围
/dev/sda 整个物理硬盘(比如你的 1T 硬盘) 操作它会覆盖整个硬盘的所有分区和数据
/dev/sda1 这个硬盘上的第 1 个分区(比如你分的 500G Btrfs 分区) 只读写这个分区,不会碰其他分区
所以,只要你在dd命令里,输入和输出都用「带数字的分区路径」,就只会操作单个分区,和你用 DiskGenius 备份单个分区完全一样。

三、给你一套完整的「单分区备份 + 恢复」命令(不会误操作)

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

bash
运行
# 语法:sudo dd if=分区路径 of=镜像文件路径 bs=4M status=progress sudo dd if=/dev/sda1 of=/media/你的外接盘/我的Btrfs分区备份.img bs=4M status=progress
  • if=/dev/sda1:只读取/dev/sda1这个分区的数据(你的 Btrfs 分区)
  • of=xxx.img:把数据写入一个镜像文件,不会碰任何其他磁盘
  • 备份完成后,你会得到一个独立的.img文件,就是这个分区的完整镜像

2. 把镜像恢复回单个分区

bash
运行
# 语法:sudo dd if=镜像文件路径 of=分区路径 bs=4M status=progress sudo dd if=/media/你的外接盘/我的Btrfs分区备份.img of=/dev/sda1 bs=4M status=progress
  • 这里of=指定的还是/dev/sda1,所以只会把数据写回这个分区,绝对不会影响硬盘上的其他分区

四、你之前担心的问题,为什么不会发生?

你之前恢复整个 U 盘,是因为当时用的命令类似:
bash
运行
sudo dd if=系统镜像.iso of=/dev/sdb bs=4M
这里的of=/dev/sdb是整个 U 盘设备,所以它会把整个 U 盘都覆盖掉。
而你现在的命令,of=用的是带数字的分区路径/dev/sda1,dd只会往这个分区里写数据,不会跑到硬盘的其他分区去。

五、给你一个安全检查步骤,避免写错路径

  1. 先执行lsblk,确认你的 Btrfs 分区路径:
    bash
    运行
    lsblk
    输出里,带part标识、且挂载了 Btrfs 文件系统的就是你的目标分区,比如/dev/sda1。
  2. 再确认备份目标路径,比如/media/你的用户名/你的外接盘/backup.img,确保路径存在。
  3. 最后执行备份命令,status=progress会显示实时进度,方便你确认命令是否正常运行。

如果你把你的 Btrfs 分区路径(比如/dev/sda1)和外接盘的备份路径发给我,我直接给你一条可以复制粘贴的完整命令,不用你自己改任何东西。



================================分割线-下面的完全不用看都是解释法废话================================================================================



大白话、最简单给你讲,一点不绕,彻底打消你顾虑。

1. dd 是什么?

dd = Linux 原生万能字节复制工具诞生几十年,系统自带、不需要安装任何软件。作用就一句话:你指定哪一块,它就纯原封不动复制哪一块,1 字节都不会多、不会少。

2. 误区,直接点破

  • /dev/sda 整块硬盘(全盘)
  • /dev/sda2 仅仅这一个单独分区

关键结论:

dd 写 分区 /dev/sda2 = 只搞这一个区,其他分区完全没事❌ 只有你选错成整块硬盘/dev/sda,才会全盘清空
你以前把整个 U 盘写废,是因为你当时选的是整盘,不是分区。

3. dd 是不是真的能单独备份一个 Btrfs 分区?

百分百可以,完全满足你想要的:
  1. 把 Btrfs 单个分区 A2,打包成 一个单独 .img 镜像文件
  2. 以后恢复时,只写回 A2 这个分区
  3. 别的分区纹丝不动,完全不影响
效果 = Windows 磁盘精灵 / 分区助手 「备份单个分区镜像」一模一样。

4. 那之前装的 btrfs-progs 能干啥?

它和你要的完全是两条路:
  • btrfs-progs:给 Btrfs 专用的快照、子卷、增量备份(复杂,你不需要)
  • dd:通用万能,不管什么格式:EXT4、NTFS、Btrfs、都能直接整分区打包镜像
你要的简单分区打包,直接用 dd 就行,btrfs-progs 压根用不上。

5. 最简对照,一看就懂

备份单个 Btrfs 分区(你要的)

bash
运行
sudo dd if=/dev/sda2 of=/mnt/备份盘/分区A2备份.img bs=4M status=progress

以后恢复,只还原这个分区

bash
运行
sudo dd if=/mnt/备份盘/分区A2备份.img of=/dev/sda2 bs=4M status=progress

6. 一句话总结

  1. dd 非常强大,系统自带,不用装任何软件
  2. 选「带数字的分区」就只操作单个区,不会搞坏整盘
  3. 你要的:单分区打包成一个镜像文件、按需恢复单分区
    dd 完美实现,最简单、最贴合你的需求
你发我两个信息:
  1. 你的 Btrfs 分区是 /dev/sda 几?
  2. 你要存备份文件的文件夹路径




















刀神道一奶-商品自动发货系统

联系我们 订单查询