Xubuntu加密安装后直接进入initramfs,未提示输入加密密码
Xubuntu加密安装后直接进入initramfs,未提示输入加密密码
这个问题在手动配置LUKS加密根分区的Ubuntu系发行版里确实挺常见的,核心原因是系统启动流程里没加入加密分区的解密步骤——它直接去寻找解密后的根分区UUID,但此时分区还没解密,自然找不到,所以直接掉进initramfs,连密码输入提示都不会出现。
我给你一步步梳理修复步骤,先从initramfs里临时进入系统,再彻底解决问题:
第一步:在initramfs里手动解密并挂载系统
先查看所有分区的UUID和类型,找到你的原始加密分区(也就是
nvme0n1p3):blkid注意找类型为
crypto_LUKS的那一行,它的UUID才是我们后续需要的(你之前报错的UUID是解密后的ext4分区UUID,这是关键错误!)。手动解密加密分区,输入你的LUKS密码:
cryptsetup luksOpen /dev/nvme0n1p3 cryptroot执行后会创建一个映射设备
/dev/mapper/cryptroot,这就是解密后的根分区。挂载解密后的根分区:
mount /dev/mapper/cryptroot /root挂载boot和EFI分区,确保后续修改能生效:
mount /dev/nvme0n1p2 /root/boot mount /dev/nvme0n1p1 /root/boot/efi切换到正常系统环境:
chroot /root
第二步:修复加密分区配置文件
编辑/etc/crypttab文件,里面应该有一行类似下面的内容:
cryptroot UUID=xxxxxx-xxxx-xxxx-xxxx-xxxxxx none luks
这里的UUID必须替换成你刚才用blkid查到的crypto_LUKS类型分区的UUID,而不是解密后的ext4分区UUID。保存退出即可。
第三步:更新启动相关配置
- 更新initramfs,把加密解密逻辑重新打包进启动镜像:
update-initramfs -u -k all - 更新GRUB配置,让启动项识别加密分区参数:
update-grub
第四步:验证并重启
- 退出chroot环境:
exit - 依次卸载挂载的分区:
umount /root/boot/efi umount /root/boot umount /root - 重启系统:
reboot
这时候系统应该会正常弹出LUKS密码输入框,输入后就能正常进入系统了。
额外排查点
如果重启后还是有问题,可以检查:
- GRUB启动项里的
linux行是否包含cryptdevice=UUID=xxxx:cryptroot参数(xxxx是加密分区的UUID),这个参数告诉系统启动时需要解密哪个分区。 /etc/fstab里的根分区是否指向/dev/mapper/cryptroot或者解密后的分区UUID,这部分如果安装时没出错应该是正确的。
备注:内容来源于stack exchange,提问作者tai
相关产品推荐
相关产品推荐

