怎样用【ok】【dd】备份+恢复单个 Btrfs 分区

怎样用【dd】备份+恢复单个 Btrfs 分区



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

看所有磁盘、分区和挂载点

【lsblk 】

------------------------------------------------

看文件系统和磁盘使用情况/查看路径:df -h

=================----------------------=========================

能直接看到「未分配空间」的命令

方案 1:直接看单块磁盘的完整分区和空闲空间,一步到位:


sudo parted /dev/sda print free

# 把 /dev/sda 换成你要查的磁盘(比如你 lsblk 里的 /dev/sda、/dev/sdb) sudo parted /dev/sda print free


  • 输出里会直接标出来Free Space,显示它在磁盘上的起始位置、大小,一眼就能看到哪部分是没分配的。

方案 2:用fdisk查看

【sudo fdisk -l /dev/sda】
  • 输出里会列出所有分区,同时你可以手动计算:磁盘总大小 - 所有分区大小之和 = 未分配空间。



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

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


备份单个 Btrfs 分区

【sudo dd if=/dev/sdw2 of=/mnt/备份盘/分区A2备份.img bs=4M status=progress】===========================

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

【sudo dd if=/mnt/备份盘/分区A2备份.img of=/dev/sdw2 bs=4M status=progress】=================



实战:

存放路径【 /media/ubunto/LEROMS1/bak001/SHARE】
目标分区【/dev/sdc3

需要备份的镜像盘备份成.img【'/media/ubunto/SHARE/'】
======================
  • 要备份的分区:/dev/sdc3✅
  • 要存到的文件夹:/media/ubunto/LEROMS1/bak001/SHARE
  • 镜像名字:share-burfs_bak.img

  • 【sudo dd if=/dev/sdc3 of=/media/ubunto/LEROMS1/bak001/share-burfs_bak.img bs=4M status=progress】
    =========================

    这个命令的意思(大白话)

    • if=/dev/sdc3= 备份 sdc3 这个分区
    • of=...= 备份到 你指定的文件夹,名字叫 share_bak.img
    • bs=4M= 速度快
    • status=progress= 显示进度
    • ====================================
      浓缩成永久记住的简单规则,以后再也不会混淆:

      1./mnt和/media

      两个都是系统自带的「文件夹位置」,纯路径,不是命令
      • /mnt:一般给手动自己挂载的硬盘用(服务器、老玩家常用)
      • /media:Ubuntu 桌面自动用的,插移动硬盘、U 盘、外置盘,全部自动挂在这里
        你日常用的,全部都是/media/你的用户名/磁盘名/

      2. dd 命令里两个核心

      bash
      运行
      dd if=源头 of=保存位置
      • if=后面:写 设备路径 例:/dev/sdc3
      • of=后面:写 文件夹完整路径 + 文件名
        例:/media/ubunto/LEROMS1/bak001/xxx.img

      3. 最简单记忆口诀

      1. 硬盘分区:都是/dev/xxx
      2. 外接 U 盘 / 移动硬盘文件:都是/media/xxx
      3. 自己手动挂载的盘:才用/mnt/xxx

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

    ======分割线-后面的都是没有用的废话========================================


    错误 1:路径多了个 mnt你写的是/mnt/media/xxx正确是 /media/xxx(没有前面的 mnt)
    错误 2:镜像文件名没写你写的是/.img→ 这是非法文件名必须写成:/xxx.img,比如share_bak.img
    --------------------------




    ✅ 如果你想镜像名字简单点,也可以用

    bash
    运行
    sudo dd if=/dev/sdc3 of=/media/ubunto/LEROMS1/bak001/SHARE/sdc3_bak.img bs=4M status=progress

    最重要的安全提醒(只说一次)

    • 这个命令只会备份 sdc3,不会影响其他盘
    • 跑完会得到一个完整的分区镜像文件 .img
    • 以后要恢复,我也可以给你恢复命令

    你直接复制我上面给的 正确命令 跑就行!跑的时候会显示进度,跑完就备份成功了!





    1. 最推荐:lsblk

    专门看所有磁盘、分区和挂载点,最直观!
    bash
    运行
    lsblk
    输出里直接能看到:
    • 硬盘名(比如sdw)
    • 分区(比如sda1、sdw2)
    • 大小、类型、挂载点(MOUNTPOINT)

    2. 看当前所有挂载的详细信息:mount

    bash
    运行
    mount 
    会列出每一个设备对应的挂载路径,包括 Btrfs、EXT4 等所有文件系统。

    3. 看文件系统和磁盘使用情况:df -h

    bash
    运行
    df -h 
    会显示每个挂载盘的:文件系统、大小、已用 / 可用、挂载点,适合快速看哪个盘挂在哪里、用了多少空间。


    1. 先敲lsblk,找到你的 Btrfs 分区(比如sda3)
    2. 再敲df -h,确认它的挂载路径(比如/mnt/data)
    3. 这样你就完全清楚,不会选错分区了。

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


    一、为什么lsblk看不到未分配空间?

    lsblk只能显示已经存在的分区和挂载的文件系统,而 “未分配空间” 是磁盘上还没被分区表记录的部分,它没有对应的分区节点,所以lsblk根本不会显示它。

    二、给你两个能直接看到「未分配空间」的命令

    方案 1:最直观(推荐)——parted命令

    直接看单块磁盘的完整分区和空闲空间,一步到位:
    bash
    # 把 /dev/sda 换成你要查的磁盘(比如你 lsblk 里的 /dev/sda、/dev/sdb) sudo parted /dev/sda print free 
    • 输出里会直接标出来Free Space,显示它在磁盘上的起始位置、大小,一眼就能看到哪部分是没分配的。

    方案 2:用fdisk查看

    bash
    sudo fdisk -l /dev/sda
    • 输出里会列出所有分区,同时你可以手动计算:磁盘总大小 - 所有分区大小之和 = 未分配空间。

    三、举个你现在这张图的例子

    你lsblk里的/dev/sda是 465.8G,下面的sda1280G +sda2185.8G,加起来正好 465.8G,说明这块盘没有未分配空间。而/dev/sdb14.6T,下面的分区加起来如果不到 14.6T,用上面的命令就能看到剩下的空闲空间在哪。

    四、给你一个傻瓜式操作流程

    1. 先敲lsblk,找到你要查的磁盘(比如/dev/sdb)
    2. 再敲sudo parted /dev/sdb print free
    3. 看输出里的Free Space行,就是未分配的空间了
    你把要查的磁盘名(比如/dev/sdb)告诉我,我给你一条复制就能跑的命令,你直接贴到终端里就能看到结果。











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

    联系我们 订单查询