【透明压缩】btrfs格式化磁盘后怎样设置回来默认透明压缩



格式化时设置 Btrfs 默认透明压缩属性,只有命令行方式能直接写入永久属性,图形界面(GParted)做不到。


1. 格式化时直接设置(一步到位,永久生效)

用mkfs.btrfs命令格式化分区,同时把zstd透明压缩设为分区的永久默认属性(写入分区元数据,任何系统挂载都会自动启用):
bash
运行
sudo mkfs.btrfs -f -O compress-force=zstd /dev/sdX
  • 把/dev/sdX换成你的目标分区设备名(比如/dev/sdc4)
  • 关键参数说明:
    • -f:强制格式化(覆盖现有数据)
    • -O compress-force=zstd:把 zstd 透明压缩设为分区默认属性,永久写入元数据

2. 图形界面(GParted)的限制

GParted 格式化 Btrfs 时,没有直接设置默认压缩属性的选项,所以用 GParted 格式化的 Btrfs 分区,默认不带压缩属性,必须再用上面的命令补设(或格式化后手动挂载时加压缩参数)。

3. 如何验证是否成功设置了默认属性

格式化后,用任意系统挂载分区,执行以下命令,看到输出包含compress=zstd即表示永久属性已生效:
bash
运行
mount | grep /你的挂载点


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






分两种情况说清楚,别搞混:

  1. 在 Ubuntu 里:没有固定默认挂载点你这个 146G 的 Btrfs 分区是移动存储,Ubuntu 不会自动挂载它。之前你临时用的/mnt/test_btrfs是手动创建的测试挂载点,用完卸载后就失效了,现在它在 Ubuntu 里没有固定挂载点,想再看的话,得重新手动挂载:
    bash
    运行
    sudo mkdir -p /mnt/test_btrfs sudo mount /dev/sdc4 /mnt/test_btrfs
  2. 在 Batocera 里:固定挂载点就是/userdata/roms你写在system/fstab里的配置已经定死了:
    text
    UUID=你的UUID /userdata/roms btrfs defaults,nofail 0 0
    所以进 Batocera 系统后,它会自动挂载到/userdata/roms,这是永久生效的正式挂载点,游戏前端会直接识别这里的文件。



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

联系我们 订单查询