使用加密的根 LUKS 分区修复 Grub2 启动

使用加密的根 LUKS 分区修复 Grub2 启动

我目前有 3 个不同的启动分区:

  1. Windows 11 上nvme0n1
  2. Fedora 35nvme1n1
  3. Ubuntu 22.04南达科他州带有加密的根分区sdc4

当我最初配置系统时视窗分区和Ubuntu分区双重启动在同一个/启动nvme0n1p1)。由于系统错误,我不得不重新安装 Windows,导致我的 Ubuntu 分区无法启动,使用引导修复我能够在 grub 条目中重新创建菜单项Fedora分割。

我能够从 Fedora 启动分区启动到 Ubuntu(从 Ubuntu 启动分区启动也是一样),但我总是提示初始化内存文件系统我必须输入:

(initramfs) > cryptoSetup luksOpen /dev/sdc4 myVolume
(initramfs) > exit

然后Ubuntu启动画面再次出现,要求解锁我的分区。

有什么想法可以避免 initramfs 出现吗?

我的 grub2 条目Ubuntu看起来像这样:

insmod part_gpt
insmod ext2
set root='hd2,gpt3'
if [ x$feature_platform_search_hint = xy ]; then
    search --no-floppy --fs-uuid --set=root --hint-bios=hd2,gpt3 --hint-efi=hd2,gpt3 --hint-baremetal=ahci2,gpt3  07baf26d-6f32-4a0d-b264-336d15177aba
else
    search --no-floppy --fs-uuid --set=root 07baf26d-6f32-4a0d-b264-336d15177aba
fi
linux /vmlinuz-5.15.0-56-generic root=/dev/mapper/vg0-root ro quiet splash $vt_handoff
initrd /initrd.img-5.15.0-56-generic

我的启动分区如下所示:

Disk /dev/nvme0n1: (Windows)

Device             Start       End   Sectors  Size Type
/dev/nvme0n1p1      2048    206847    204800  100M EFI System
/dev/nvme0n1p2    206848    239615     32768   16M Microsoft reserved
/dev/nvme0n1p3    239616 975491071 975251456  465G Microsoft basic data
/dev/nvme0n1p4 975491072 976771071   1280000  625M Windows recovery environment


Disk /dev/nvme1n1: (Fedora)

Device           Start       End   Sectors   Size Type
/dev/nvme1n1p1    2048   1230847   1228800   600M EFI System        -> /efi
/dev/nvme1n1p2 1230848   3327999   2097152     1G Linux filesystem  -> /boot
/dev/nvme1n1p3 3328000 976773119 973445120 464.2G Linux filesystem  -> /


Disk /dev/sdc: (Ubuntu)

Device       Start       End   Sectors   Size Type
/dev/sdc1     2048      4095      2048     1M BIOS boot
/dev/sdc2     4096    503807    499712   244M EFI System        -> /efi
/dev/sdc3   503808   8503295   7999488   3.8G Linux filesystem  -> /boot
/dev/sdc4  8503296 976771071 968267776 461.7G Linux filesystem  -> /

任何想法都值得赞赏。

谢谢

相关内容