多引导 EFI 笔记本电脑上的 Debian Jessie GRUB2 无法启动 Gentoo kernel-initramfs

多引导 EFI 笔记本电脑上的 Debian Jessie GRUB2 无法启动 Gentoo kernel-initramfs

我有一台 HP Pavillion Touch 14-N009LA 笔记本电脑,运行 AMD A8-4555M CPU、8 GB RAM 和 750 GB HD,目前运行在双启动 Windows 8.1 上,可通过系统的 EFI 启动管理器访问,并且可通过系统的 EFI 启动管理器访问 Debian Jessie我的启动菜单上有一个特殊选项,用于启动在传统 BIOS 模式下安装的操作系统。我正在尝试在 dm-crypt 分区上安装 Gentoo,并且我已经为系统根目录设置了一个加密分区,并为 Gentoo 内核、initramfs 和 GRUB 配置设置了明文分区。我已经安装了第 3 阶段文件 Portage,编译了内核并使用genkernel --luks all.

在从 Gentoo 的 GRUB2 引导系统失败后,我想我也可以通过在 Debian 的 GRUB 配置中添加一个条目来引导 Gentoo,所以我编辑了/etc/grub.d/40_custom以下内容:

menuentry "Gentoo Linux" {
set root=(hd0,9)
linux /kernel-genkernel-x86_64-3.12.21-gentoo-r1 cryptdevice=/dev/sda11:dm-root root=/dev/mapper/dm-root
initrd /initramfs-genkernel-x86_64-3.12.21-gentoo-r1
}

运行后,update-grub2该条目在 GRUB 配置上显示得很好。然而,当我尝试启动所述条目时,GRUB 声称它找不到指定的内核映像,即使我绝对确定我指定得很好。

Debian GRUB2 错误消息


有关我的系统配置的更多详细信息:

输出lsblk

NAME    MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda       8:0    0 698.7G  0 disk 
├─sda1    8:1    0   400M  0 part 
├─sda2    8:2    0   260M  0 part /boot/efi
├─sda3    8:3    0   128M  0 part 
├─sda4    8:4    0 183.1G  0 part /media/C <Windows 8.1>
├─sda5    8:5    0   350M  0 part 
├─sda6    8:6    0  25.2G  0 part 
├─sda7    8:7    0   1.6G  0 part /boot <Debian boot>
├─sda8    8:8    0   8.2G  0 part [SWAP]
├─sda9    8:9    0    40G  0 part / <Debian system root>
├─sda10   8:10   0   4.4G  0 part <Gentoo boot>
├─sda11   8:11   0 426.4G  0 part <Gentoo encrypted system root>
└─sda12   8:12   0   8.7G  0 part 
sr0      11:0    1  1024M  0 rom  

输出parted -l

Model: ATA WDC WD7500BPVX-6 (scsi)
Disk /dev/sda: 750GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt

Number  Start   End    Size    File system     Name                          Flags
 1      1049kB  420MB  419MB   ntfs            Basic data partition          hidden, diag
 2      420MB   693MB  273MB   fat32           EFI system partition          boot
 3      693MB   827MB  134MB                   Microsoft reserved partition  msftres
 4      827MB   197GB  197GB   ntfs            Basic data partition          msftdata
10      197GB   202GB  4719MB  ext2                                          msftdata
11      202GB   660GB  458GB                                                 msftdata
12      660GB   669GB  9343MB  linux-swap(v1)
 7      669GB   671GB  1709MB  ext2                                          msftdata
 8      671GB   680GB  8791MB  linux-swap(v1)
 9      680GB   723GB  42.9GB  ext4                                          msftdata
 5      723GB   723GB  367MB   ntfs                                          hidden, diag
 6      723GB   750GB  27.1GB  ntfs            Basic data partition          hidden, msftdata

/dev/sda10我的 Gentoo 启动分区的内容:

total 9436
drwxr-xr-x 4 root root    4096 Jul  1  2014 grub
-rw-r--r-- 1 root root 3916272 Jul  1  2014 initramfs-genkernel-x86_64-3.12.21-gentoo-r1
-rw-r--r-- 1 root root 3603216 Jul  1 17:16 kernel-genkernel-x86_64-3.12.21-gentoo-r1
drwx------ 2 root root   16384 Jun 30 17:09 lost+found
-rw-r--r-- 1 root root 2103510 Jul  1 17:16 System.map-genkernel-x86_64-3.12.21-gentoo-r1

答案1

我不记得 EFI GRUB2 是否使用LoadImage()(很可能现在已经使用,因为 RestrictedBoot 的故事基本上可以归结为“你的最后一英里引导加载程序必须或shim将把它炸毁”)——它将需要 EFI 驱动程序(比如那些可用重新寻找)如果是这样的话; GRUB 特定的文件系统驱动程序不可用于 EFI 固件。

您的内核/initrd 分区不是 FAT32,因此如果没有这些驱动程序就无法访问它。所以先尝试一下sda2。又见优秀罗德·史密斯系列

相关内容