Ubuntu 22.04中如何搭配ZFS功能使用实时内核?
Ubuntu 22.04中如何搭配ZFS功能使用实时内核?
遇到这个问题太正常了,核心原因就是实时内核的模块目录和常规内核是完全分开的——你装的ZFS模块默认是给常规内核编译的,实时内核根本找不到对应的ZFS模块,而且/sbin/depmod zfs只是更新模块依赖清单,模块本身都没编译安装到实时内核的目录里,自然起不到作用。给你一步步捋清楚解决办法:
先回到能正常启动的常规内核系统(从GRUB启动菜单里选非RT的内核就行),先确认你的实时内核版本:
ls /lib/modules/ | grep rt会得到类似
5.15.0-78-rt-amd64这样的版本号,记下来。安装对应实时内核的头文件,编译ZFS模块必须依赖内核头文件:
sudo apt install linux-headers-你的实时内核版本比如版本是
5.15.0-78-rt-amd64,就执行sudo apt install linux-headers-5.15.0-78-rt-amd64用DKMS工具为实时内核重新编译并安装ZFS模块,DKMS会自动适配不同内核环境:
sudo dkms autoinstall这个命令会自动识别所有已安装的内核(包括实时内核),并为每个内核编译安装对应的ZFS模块。如果想指定实时内核版本单独处理,也可以用:
sudo dkms install zfs/$(modinfo zfs | grep -i version | awk '{print $2}') -k 你的实时内核版本验证ZFS模块是否已经安装到实时内核的目录里:
ls /lib/modules/你的实时内核版本/updates/dkms/zfs.ko如果能看到这个文件,说明模块安装成功了。
最后更新实时内核的initramfs,确保系统启动时能自动加载ZFS模块:
sudo update-initramfs -u -k 你的实时内核版本
做完这些步骤后,重启系统选择实时内核,应该就能正常进入系统,不会再出现ZFS模块未加载的提示了。
备注:内容来源于stack exchange,提问作者Muhammad Siddique
相关产品推荐
相关产品推荐

