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

Xubuntu加密安装后直接进入initramfs,未提示输入加密密码

Xubuntu加密安装后直接进入initramfs,未提示输入加密密码

这个问题在手动配置LUKS加密根分区的Ubuntu系发行版里确实挺常见的,核心原因是系统启动流程里没加入加密分区的解密步骤——它直接去寻找解密后的根分区UUID,但此时分区还没解密,自然找不到,所以直接掉进initramfs,连密码输入提示都不会出现。

我给你一步步梳理修复步骤,先从initramfs里临时进入系统,再彻底解决问题:

第一步:在initramfs里手动解密并挂载系统

  1. 先查看所有分区的UUID和类型,找到你的原始加密分区(也就是nvme0n1p3):

    blkid
    

    注意找类型为crypto_LUKS的那一行,它的UUID才是我们后续需要的(你之前报错的UUID是解密后的ext4分区UUID,这是关键错误!)。

  2. 手动解密加密分区,输入你的LUKS密码:

    cryptsetup luksOpen /dev/nvme0n1p3 cryptroot
    

    执行后会创建一个映射设备/dev/mapper/cryptroot,这就是解密后的根分区。

  3. 挂载解密后的根分区:

    mount /dev/mapper/cryptroot /root
    
  4. 挂载boot和EFI分区,确保后续修改能生效:

    mount /dev/nvme0n1p2 /root/boot
    mount /dev/nvme0n1p1 /root/boot/efi
    
  5. 切换到正常系统环境:

    chroot /root
    

第二步:修复加密分区配置文件

编辑/etc/crypttab文件,里面应该有一行类似下面的内容:

cryptroot UUID=xxxxxx-xxxx-xxxx-xxxx-xxxxxx none luks

这里的UUID必须替换成你刚才用blkid查到的crypto_LUKS类型分区的UUID,而不是解密后的ext4分区UUID。保存退出即可。

第三步:更新启动相关配置

  1. 更新initramfs,把加密解密逻辑重新打包进启动镜像:
    update-initramfs -u -k all
    
  2. 更新GRUB配置,让启动项识别加密分区参数:
    update-grub
    

第四步:验证并重启

  1. 退出chroot环境:
    exit
    
  2. 依次卸载挂载的分区:
    umount /root/boot/efi
    umount /root/boot
    umount /root
    
  3. 重启系统:
    reboot
    

这时候系统应该会正常弹出LUKS密码输入框,输入后就能正常进入系统了。

额外排查点

如果重启后还是有问题,可以检查:

  • GRUB启动项里的linux行是否包含cryptdevice=UUID=xxxx:cryptroot参数(xxxx是加密分区的UUID),这个参数告诉系统启动时需要解密哪个分区。
  • /etc/fstab里的根分区是否指向/dev/mapper/cryptroot或者解密后的分区UUID,这部分如果安装时没出错应该是正确的。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.22 14:08:02