在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
相关产品推荐
相关产品推荐

