Ubuntu 22.04 Server在UEFI BIOS环境下配置RAID 1+LVM+加密分区后重启进入GRUB提示符问题求助
Ubuntu 22.04 Server在UEFI BIOS环境下配置RAID 1+LVM+加密分区后重启进入GRUB提示符问题求助
看起来你已经把核心的分区、加密、LVM配置都搭好了,但GRUB还是没法正确引导到加密系统里,我帮你梳理几个最可能的问题点和对应的解决步骤:
1. GRUB仅安装到了单个EFI分区(未同步RAID1的第二个系统盘EFI)
你的RAID1系统有两个系统盘(sda和sdd),各自都带独立的EFI分区(sda1和sdd1),但目前你只把sda1挂载到了/boot/efi,GRUB仅安装在了这个分区上。这种情况下GRUB可能无法识别RAID环境下的加密分区,而且单盘EFI也存在故障风险。
解决步骤(在chroot到/target的环境下操作):
# 创建临时挂载点并挂载第二个EFI分区 mkdir /mnt/tmp-efi mount /dev/sdd1 /mnt/tmp-efi # 把GRUB安装到第二个EFI分区 grub-install --efi-directory=/mnt/tmp-efi # 同步两个EFI分区的内容,确保引导文件一致 rsync -av /boot/efi/ /mnt/tmp-efi/ # 清理临时挂载点 umount /mnt/tmp-efi rmdir /mnt/tmp-efi
2. GRUB配置未正确包含加密与RAID的引导参数
GRUB需要明确的参数才能识别加密分区和RAID阵列,否则找不到根分区就会停在提示符。
检查并修改GRUB配置:
- 编辑
/etc/default/grub,找到GRUB_CMDLINE_LINUX行,确保包含以下参数:
GRUB_CMDLINE_LINUX="cryptdevice=UUID=58f96d67-465c-400f-bb07-145330231c9f:dm_crypt-0 raid1"
(这里的UUID是你/dev/md0p1的LUKS UUID,和/etc/crypttab里的配置保持一致)
- 重新生成GRUB配置文件:
update-grub
3. Initramfs可能缺少RAID/加密/LVM模块
虽然你已经运行了update-initramfs,但可以验证下initramfs是否包含必要的驱动模块:
# 检查当前内核的initramfs是否包含关键模块 lsinitramfs /boot/initrd.img-$(uname -r) | grep -E '(mdraid|dm_crypt|lvm2)'
如果输出为空或缺少部分模块,手动添加后重新生成:
- 编辑
/etc/initramfs-tools/modules,加入以下内容:
raid1 dm_crypt lvm2
- 重新生成initramfs:
update-initramfs -u -k all
4. 验证UEFI BIOS的引导顺序
重启后进入UEFI BIOS设置,确认两个系统盘的Ubuntu EFI引导项都存在,并且将任意一个Ubuntu引导项设为第一启动顺序。
完成以上步骤后再重启系统,应该就能正常进入加密分区的解锁界面,而不是停在GRUB提示符了。
备注:内容来源于stack exchange,提问作者Bob R
相关产品推荐
相关产品推荐

