在 Debian 上挂载 Btrfs 文件系统,有几个常见点和坑要注意,下面按「必看 → 常见 → 进阶」给你梳理一下。
Debian 默认内核 一般已支持 Btrfs(ext4/btrfs 都是内置或模块)。
确认:
cat /proc/filesystems | grep btrfs
或
lsmod | grep btrfs
如果没有:
modprobe btrfs
(Debian 通常不需要额外装内核模块)
只挂载不装工具问题不大,但 subvolume / scrub / balance 都会失败
apt update
apt install btrfs-progs
mount /dev/sdb1 /mnt/data
或指定类型:
mount -t btrfs /dev/sdb1 /mnt/data
Btrfs 是 多设备文件系统,建议用:
mount /dev/sdb1 /mnt/data
而不是只认某个分区(尤其是 RAID / 多盘情况)
查看 Btrfs 设备:
btrfs filesystem show
推荐 /etc/fstab 用 UUID:
blkid
fstab 示例:
UUID=xxxx-xxxx /mnt/data btrfs defaults 0 0
⚠️ /dev/sdX 可能变,UUID 不会
Btrfs 默认有 @ 或 @home 子卷(尤其 Debian 安装器创建的)
查看子卷:
btrfs subvolume list /
挂载指定子卷:
mount -o subvol=@ /dev/sda2 /mnt/root
fstab 示例:
UUID=xxx / btrfs subvol=@,defaults 0 0
UUID=xxx /home btrfs subvol=@home,defaults 0 0
discardBtrfs 默认不推荐立即 discard
✅ 推荐:
defaults
或
discard=async
❌ 避免:
discard
(老内核/老 SSD 可能卡)
mount -o compress=zstd /dev/sdb1 /mnt/data
或 fstab:
UUID=xxx /mnt/data btrfs compress=zstd 0 0
支持:
zlib(慢但压得多)lzo(快)zstd(推荐)如果是 Btrfs RAID:
mount -o degraded /dev/sdb1 /mnt/data
(一块盘坏了也能挂)
⚠️ 不要用 mdadm + btrfs 和 btrfs raid 混用
UUID=xxxx /mnt/data btrfs defaults,compress=zstd 0 0
UUID=xxxx / btrfs subvol=@,defaults 0 0
UUID=xxxx /home btrfs subvol=@home,defaults 0 0
dmesg | tail
btrfs check /dev/sdb1
btrfs filesystem usage /mnt/data
btrfs scrub start /mnt/data
Debian 挂 Btrfs:装 btrfs-profs → 用 UUID → 注意 subvolume → 别乱用 discard → SSD 用 zstd 压缩
如果你愿意,可以告诉我:
我可以直接给你一份可复制的 fstab 或排错步骤。