You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从btrfs send生成的快照数据文件中获取UUID?

如何从btrfs send生成的.data文件中提取UUID

首先可以明确:完全可以直接从这些.data导出文件中提取UUID信息,不需要依赖原始快照。

具体操作方法

你可以借助btrfs send自带的--dump参数来解析导出文件的元数据,它会把文件里的btrfs send流内容转换成可读格式打印出来,其中就包含你需要的UUID相关信息:

  • 解析全量导出的snapshot_0.data:

    sudo btrfs send --dump snapshot_0.data
    

    在输出内容里,你会找到类似uuid <快照UUID>的行,这就是snapshot_0的UUID。

  • 解析增量导出的snapshot_0-1.data:

    sudo btrfs send --dump snapshot_0-1.data
    

    这里除了能找到snapshot_1的UUID,还会出现parent_uuid <snapshot_0的UUID>的行,对应父快照的UUID,和你用btrfs subvolume show拿到的信息完全一致。

补充说明

你提到的《Send/Receive设计说明》里应该也提到了btrfs send流的结构——这些.data文件本质是包含快照元数据和数据块的二进制流,--dump参数就是专门用来解析这个流的元数据部分的,全程不需要挂载或者依赖原始子卷。

如果只想快速提取UUID,还可以用grep过滤输出,节省时间:

# 提取snapshot_0的UUID
sudo btrfs send --dump snapshot_0.data | grep -E '^uuid'
# 提取snapshot_1的UUID和父UUID
sudo btrfs send --dump snapshot_0-1.data | grep -E '^uuid|^parent_uuid'

内容的提问来源于stack exchange,提问作者hiro protagonist

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 03:13:50