You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在initramfs中添加脚本自动解锁加密ZFS根池启动失败问题求助

在initramfs中添加脚本自动解锁加密ZFS根池启动失败问题求助

各位好,我遇到了一个ZFS根池自动解锁的问题,想请大家帮忙看看:

我装了一套带加密ZFS根池的系统,原本启动时需要手动输入密码解锁。为了实现自动解锁,我写了个initramfs的前置脚本,操作步骤如下:

sudo tee /etc/initramfs-tools/scripts/init-premount/unlock << 'EOF'
#!/bin/sh
PREREQ=""
prereqs() { echo "$PREREQ"; }
case "$1" in prereqs) prereqs && exit 0 ;; esac
. /scripts/functions

echo "unlock script" > /dev/console
modprobe zfs
zpool import -N rpool
key='my_password'  # 仅作演示用
echo $key | zfs load-key rpool
exit 0
EOF
sudo chmod +x /etc/initramfs-tools/scripts/init-premount/unlock
sudo update-initramfs -u -k all

现在的问题是:启动时脚本看似已经执行,但系统会报错说No pool imported. Manually import the root pool.,然后把我丢到initramfs的命令行提示符里。但我只要在提示符里输入exit,系统就能继续正常启动,所有组件都能正常工作。

我实在搞不懂哪里出问题了,明明脚本里已经执行了zpool import -N rpool和加载密钥的操作,为什么系统还是会提示没有导入池呢?有没有大佬能帮我分析下原因?

备注:内容来源于stack exchange,提问作者user579825

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.15 13:05:31