如何在ZFS根分区上安装24.04双系统?
如何在ZFS根分区上安装24.04双系统?
我太懂你这种头疼的感觉了——Windows 11稳稳装在NVMe分区里,想给同一块盘的另一个分区安排Ubuntu 24.04,还想用ZFS当根文件系统,结果官方安装向导要么一上来就擦整个盘,自定义模式里又找不到给分区格式化ZFS的选项,属实有点坑。下面给你两个亲测可行的小技巧,帮你搞定这个问题:
方法一:手动提前创建ZFS池,再用安装向导完成部署
这个方法最稳妥,全程自己掌控,不会误删Windows分区:
- 先启动Ubuntu 24.04的Live USB,打开终端(按Ctrl+Alt+T就能调出)
- 用
lsblk或者fdisk -l命令确认磁盘分区情况,找到你预留出来的那个空闲分区(比如假设是/dev/nvme0n1p3,千万别选错成Windows的分区哦) - 创建ZFS池,记得指定分区而非整个磁盘:
这里sudo zpool create -f -o ashift=12 rpool /dev/nvme0n1p3rpool是池的名字,你可以改成自己喜欢的;ashift=12是针对NVMe磁盘的优化参数,建议加上 - 接着创建Ubuntu需要的ZFS数据集结构:
sudo zfs create -o mountpoint=none rpool/ROOT sudo zfs create -o mountpoint=/ rpool/ROOT/ubuntu_2404 sudo zfs create -o mountpoint=/home rpool/home - 现在启动Ubuntu安装向导,到「安装类型」步骤时选「其他选项」:
- 找到刚才创建的
rpool/ROOT/ubuntu_2404,把它挂载到/(根目录) - 把
rpool/home挂载到/home - 别忘了把Windows用的EFI分区(一般是
/dev/nvme0n1p1)挂载到/boot/efi - 所有挂载设置好后直接继续安装,千万别勾选格式化这些分区!
- 找到刚才创建的
方法二:用社区维护的ZFS自动安装脚本简化操作
如果你嫌手动敲命令麻烦,可以试试社区大佬做的自动安装脚本(注意:脚本是社区维护的,运行前一定要仔细看参数说明,避免误操作):
- 启动Live USB后先联网,打开终端
- 下载脚本并给它执行权限:
# 这里假设你找到的脚本文件名是zfs-autoinstall,具体以你获取的为准 chmod +x zfs-autoinstall - 运行脚本时一定要指定你要使用的目标分区和Windows的EFI分区,比如:
这样脚本会只在指定的分区创建ZFS池,同时复用Windows的EFI分区来配置引导,不会触碰你的Windows系统./zfs-autoinstall --disk /dev/nvme0n1p3 --efi /dev/nvme0n1p1
几个重要的注意事项
- 数据备份优先:操作前一定要把Windows和目标分区里的重要数据备份好,不怕一万就怕万一
- 如果你安装后出现引导失败的情况,可以试试在BIOS/UEFI里关闭Secure Boot(Ubuntu 24.04理论上支持Secure Boot+ZFS,但个别机型可能有兼容性问题)
- 安装完成重启后,如果GRUB菜单里没显示Windows选项,在Ubuntu里运行
sudo update-grub就能更新引导列表了
备注:内容来源于stack exchange,提问作者Olindo Pindaro




