项目主页及详细技术细节:
👉 https://github.com/limitcool/synology-btrfs-kernel-patch
(建议前往 GitHub 获取最新的补丁文件及一键自动化编译脚本)
如果你尝试将群晖(DSM 7.x)的硬盘直接挂载到飞牛云、Ubuntu 或其他 Linux 系统,可能会报错:
BTRFS critical: corrupt leaf... invalid root flags, have 0x400000000
✅ 核心解决方案
这是因为群晖 Btrfs 的自定义 Flag 被原生 Linux 内核拦截。通过本仓库提供的驱动补丁,可以绕过校验,实现无损挂载。
🛠️ 快速操作指引
1. 编译环境准备
在飞牛云终端执行:
Bash
sudo apt update
sudo apt install -y build-essential bc kmod cpio flex libncurses5-dev libelf-dev libssl-dev dwarves bison
2. 获取补丁并编译
你需要下载对应内核版本的源码,并应用本项目的 btrfs-synology-compat.patch。
详细的补丁手动修改位置及自动化编译指令,请参考 GitHub README。
3. 替换内核驱动模块 (.ko) —— 关键步骤
编译生成的 btrfs.ko 需要替换系统原有的驱动才能生效:
Bash
# 1. 定位系统驱动路径
MOD_PATH=$(modinfo btrfs | grep filename | awk '{print $2}')
# 2. 备份原驱动 (防止意外)
sudo cp "$MOD_PATH" "${MOD_PATH}.backup"
# 3. 替换为带补丁的驱动
sudo cp fs/btrfs/btrfs.ko "$MOD_PATH"
# 4. 重新加载驱动
sudo depmod -a
sudo modprobe -r btrfs
sudo modprobe btrfs
4. 激活并挂载
Bash
sudo vgchange -ay # 激活群晖 LVM 卷组
sudo lvs # 查看卷路径
sudo mount /dev/mapper/vgX-volume_X /mnt/syno_data
🔗 更多内容请访问 GitHub 仓库
如果你遇到以下情况,请务必前往 GitHub 查看详细文档:
- 需要使用一键重建脚本 (
rebuild-btrfs-module.sh)
- 内核版本不是 6.12.x,需要针对旧版本内核打补丁
- 替换驱动后无法正常卸载旧模块的解决方法
👉 传送门:limitcool/synology-btrfs-kernel-patch