【ok】partclone.btrfs 完整教程(对标 Windows 磁盘精灵 + 保留全部原文 + 加重点注意事项 + 排版清晰永久可用)
partclone.btrfs 完整教程(对标 Windows 磁盘精灵 + 保留全部原文 + 加重点注意事项 + 排版清晰永久可用)
===================================前置承诺(原文保留)
partclone.btrfs 完全等同于 Windows 磁盘精灵✅ 备份成单个压缩镜像文件✅ 只存实际数据,空白空间自动跳过,绝对不膨胀✅ Btrfs 原生支持✅ 以后随时可以把这个镜像,恢复到任意 U 盘 / 同大小分区✅ 不是 DD、不是文件复制、不是快照,就是纯正分区镜像
一、安装工具(原文保留)
打开终端,粘贴回车:
==【sudo apt update && sudo apt install partclone -y 】==============
sudo apt update && sudo apt install partclone -y
装完就完事,不用配置。
二、先确认你的分区(原文保留)
终端输入:
==【lsblk 】==============
lsblk
你认准这两个:
- 要备份的 Btrfs 分区:/dev/sdd1
- 存放镜像的分区:/dev/sdc2
三、完整备份流程(原文一字不改 + 插入重点提醒)
- 切管理员权限
==【sudo -i 】==============
sudo -i
-
先卸载要备份的/dev/sdd1
✅ 重点注意 1:必须卸载!要备份的分区绝对不能挂载着备份,一旦挂载系统占用读写,做出来的镜像会损坏,以后恢复用不了。
==【umount /dev/sdd1 】==============
umount /dev/sdd1
-
建目录、挂载用来存镜像的 sdc2
✅ 重点注意 2:建文件夹 + 挂载缺一不可!Linux 里分区只是硬件标识/dev/sdc2,不挂载到自建空文件夹,命令找不到镜像保存路径,直接报错。
==【mkdir -p /mnt/backup
mount /dev/sdc2 /mnt/backup 】
mkdir -p /mnt/backup mount /dev/sdc2 /mnt/backup
==========如下如果新建空文件夹+挂载镜像包看不懂就看如下分开的步骤==============================第 2 步:卸载要恢复的新 U 盘分区【可以用GParped卸载】
把下面/dev/sdf1换成你自己要恢复的目标分区
==【umount /dev/sdf1 】==============
umount /dev/sdf1
作用:先安全弹出新 U 盘,防止系统占用,避免写坏分区数据。
第 3 步:新建一个空文件夹(随便起名)
======================【mkdir -p /mnt/huifu 】============
==也可以这样名字随便叫===【mkdir -p /mnt/batocera-share 】==============
mkdir -p /mnt/huifu作用:专门用来挂载存放备份的分区,文件夹名字可以随便改。
把下面/dev/sdc2换成你存备份包的分区
=====================【mount /dev/sdc2 /mnt/huifu 】==========
=也可以这样名字随便叫===【mount /dev/sdc2 /mnt/batocera-share 】==============
mount /dev/sdc2 /mnt/huifu
作用:不挂载,系统找不到那个.img.gz备份大包,这一步不能省。
====================================================
=============如上如果新建空文件夹+挂载镜像包看不懂就看如下分开的步骤===========================================
- 核心:备份 sdd1 为压缩镜像(不膨胀、单文件)
==【partclone.btrfs -c -s /dev/sdd1 -o /mnt/backup/sdd1_btrfs.img.gz 】==============
partclone.btrfs -c -s /dev/sdd1 -o /mnt/backup/sdd1_btrfs.img.gz
参数讲解(原文保留)
- -c= 开启压缩,体积最小
- -s /dev/sdd1= 源分区(要备份的)
-
-o= 输出到 sdc2 下面,生成单个镜像文件sdd1_btrfs.img.gz
跑完有进度条,结束没报错就是成功。
-
备份完卸载
等同于 Windows「安全弹出 U 盘」,防止镜像文件缓存没写完导致损坏。
==【umount /mnt/backup
exit 】==============
umount /mnt/backup exit
四、恢复命令参数逐句大白话详解(原文完整保留)
恢复命令固定格式
==【partclone.btrfs -r -s 镜像文件路径 -o 要恢复到的目标分区 】==============
partclone.btrfs -r -s 镜像文件路径 -o 要恢复到的目标分区
逐个参数解释
-
partclone.btrfs专门处理 Btrfs 分区 的备份 / 恢复工具,固定不变,不用改。
-
-r= Restore 恢复模式对应备份时的-c(压缩备份模式)。只要是往 U 盘 / 分区写镜像,就必须带-r,固定不改。
-
-s= Source 源头后面跟的是:你之前备份好的那个压缩镜像文件 的完整路径相当于磁盘精灵里:选择你保存好的备份镜像文件。
-
-o= Output 写入目标后面跟的是:你要把镜像恢复进去的 新 U 盘分区相当于磁盘精灵里:选中要还原的目标 U 盘分区。
恢复前置命令作用(原文保留)
==【sudo -i 】==============
sudo -i
切到最高管理员权限,恢复必须要,固定不改。
==【umount /dev/sdd1 】==============
umount /dev/sde1
✅ 重点注意 3:恢复目标分区必须先卸载把要恢复的新 U 盘分区先卸载(安全弹出),不能挂载着恢复,强行写入会搞坏分区、丢失数据。
==【mkdir -p /mnt/backup 】==============
mkdir -p /mnt/backup
建一个空文件夹,专门用来挂载存放备份的分区,文件夹名字随便自己起名都行。
==【mount /dev/sdc2 /mnt/backup 】==============
mount /dev/sdc2 /mnt/backup
✅ 重点注意 4:不挂载就找不到备份包把存放你备份镜像的分区,挂载到这个文件夹里;不挂载,命令根本找不到那个 .img.gz 备份大包,直接报错。
五、三种场景修改方法(原文完整保留)
情况 1:要恢复的新 U 盘变了
原来/dev/sde1,现在变成/dev/sdf1只改-o后面的设备名就行:原来:-o /dev/sde1改成:-o /dev/sdf1
情况 2:备份镜像换了存放位置
举例:原来存在/dev/sdc2挂载到/mnt/backup现在挪到/dev/sdg2,挂载到/mnt/newbak只改两处:
- 挂载命令:mount /dev/sdg2 /mnt/newbak
- 镜像路径:-s /mnt/newbak/sdd1_btrfs.img.gz
情况 3:备份镜像改了文件名
原名:sdd1_btrfs.img.gz改名后:我的U盘备份.img.gz只改-s后面文件名:-s /mnt/backup/我的U盘备份.img.gz
六、恢复万能模板(可永久套用 原文保留)
把【括号内容】换成自己的,其他一字不动:
==【sudo -i
# 1. 卸载要恢复的新分区【改这里:新U盘分区名】
umount /dev/【新U盘分区名】
# 2. 挂载存放备份镜像的分区【改这里:存备份分区名 + 文件夹随便起名】
mkdir -p /mnt/随便起名
mount /dev/【存放备份的分区名】 /mnt/随便起名
# 3. 恢复命令
partclone.btrfs -r -s /mnt/随便起名/【备份镜像全名.img.gz】 -o /dev/【新U盘分区名】
umount /mnt/随便起名
exit 】==============
sudo -i # 1. 卸载要恢复的新分区【改这里:新U盘分区名】 umount /dev/【新U盘分区名】 # 2. 挂载存放备份镜像的分区【改这里:存备份分区名 + 文件夹随便起名】 mkdir -p /mnt/随便起名 mount /dev/【存放备份的分区名】 /mnt/随便起名 # 3. 恢复命令 partclone.btrfs -r -s /mnt/随便起名/【备份镜像全名.img.gz】 -o /dev/【新U盘分区名】 umount /mnt/随便起名 exit
七、实际套用例子(原文保留)
假设:存备份的分区:/dev/sdc2新恢复 U 盘分区:/dev/sdf1备份文件名:sdd1_btrfs.img.gz直接复制用:
==【sudo -i
# 1. 卸载要恢复的新分区【改这里:新U盘分区名】
umount /dev/【新U盘分区名】
# 2. 挂载存放备份镜像的分区【改这里:存备份分区名 + 文件夹随便起名】
mkdir -p /mnt/随便起名
mount /dev/【存放备份的分区名】 /mnt/随便起名
# 3. 恢复命令
partclone.btrfs -r -s /mnt/随便起名/【备份镜像全名.img.gz】 -o /dev/【新U盘分区名】
umount /mnt/随便起名
exit 】==============
sudo -i umount /dev/sdf1 mkdir -p /mnt/huifu mount /dev/sdc2 /mnt/huifu partclone.btrfs -r -s /mnt/huifu/sdd1_btrfs.img.gz -o /dev/sdf1 umount /mnt/huifu exit
八、核心口诀 + 必记注意事项(新增 一眼看懂 防止以后忘)
1. 两条铁律绝对不能忘
- 不管备份还是恢复:要操作的那个分区,必须先卸载,挂载着必出问题、镜像必坏;
- 找备份镜像必须挂载:存放备份包的分区,一定要自建空文件夹挂载,不挂载命令找不到备份文件。
2. 恢复命令永久口诀
- -s后面:永远是 备份镜像文件完整路径
- -o后面:永远是 要覆盖恢复的新 U 盘分区
- partclone.btrfs、-r永远不用改
3. 常见忘记步骤导致的报错
- 忘记卸载源盘 / 目标盘:提示打开设备失败、镜像损坏;
- 忘记挂载存备份的分区:提示找不到镜像文件、路径不存在;
- 恢复选错-o分区:会覆盖错硬盘数据,一定要先用lsblk看好盘符。