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

Ubuntu 16.04 LUKS系统迁移后/boot加密需两次输密码求助

解决Ubuntu 16.04 LUKS加密分区双重密码提示问题

我来帮你搞定这个两次输密码的麻烦——核心思路是让GRUB一次性解锁所有需要的加密分区,再把解锁状态传递给initramfs,这样就能避免重复输入密码了。具体步骤如下:

1. 获取加密分区的UUID

先拿到你/boot和根分区对应的LUKS加密UUID,运行命令:

blkid

在输出里找**TYPE="crypto_LUKS"**的条目,分别记下:

  • /boot加密分区的UUID(对应原始分区比如/dev/sdbX)
  • 根加密分区的UUID

2. 配置GRUB支持加密磁盘

编辑GRUB的主配置文件:

sudo nano /etc/default/grub

做两个关键修改:

  • 添加一行启用GRUB的加密磁盘支持:
    GRUB_ENABLE_CRYPTODISK=y
    
  • 修改GRUB_CMDLINE_LINUX参数,把两个加密分区的信息加进去(替换成你刚才拿到的UUID):
    GRUB_CMDLINE_LINUX="cryptdevice=UUID=<根加密UUID>:cryptroot cryptdevice=UUID=<boot加密UUID>:cryptboot ro quiet splash"
    
    这里的cryptroot和cryptboot是分区映射名,要和后续crypttab配置对应。

3. 配置crypttab(如果还没设置)

编辑加密分区映射配置文件:

sudo nano /etc/crypttab

添加以下两行(替换成你的UUID):

cryptroot UUID=<根加密UUID> none luks
cryptboot UUID=<boot加密UUID> none luks

none表示用密码直接解锁,无需额外密钥文件;luks指定加密类型。

4. 重新生成initramfs

确保initramfs包含加密相关工具和配置:

sudo update-initramfs -u

5. 更新GRUB配置

让GRUB加载新的加密配置:

sudo update-grub

验证重启

现在重启系统,应该只会看到一次GRUB的密码提示——输入后GRUB会同时解锁/boot和根分区,直接进入系统,不用再输第二次密码了。

如果还是有问题,检查这几点:

  • 确认GRUB_ENABLE_CRYPTODISK=y已经正确添加(没加的话GRUB不会处理加密分区)
  • crypttab里的UUID和映射名,要和GRUB_CMDLINE_LINUX里的完全一致
  • /etc/fstab里的挂载点,是否正确指向/dev/mapper/cryptboot和/dev/mapper/cryptroot
  • 执行update-grub和update-initramfs时有没有报错

内容的提问来源于stack exchange,提问作者Daniel Niemczok

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 08:32:33