![如果启动分区位于 NVME 驱动器上,则将 MemTest86 添加到 Grub](https://linux22.com/image/942091/%E5%A6%82%E6%9E%9C%E5%90%AF%E5%8A%A8%E5%88%86%E5%8C%BA%E4%BD%8D%E4%BA%8E%20NVME%20%E9%A9%B1%E5%8A%A8%E5%99%A8%E4%B8%8A%EF%BC%8C%E5%88%99%E5%B0%86%20MemTest86%20%E6%B7%BB%E5%8A%A0%E5%88%B0%20Grub.png)
我想将 MemTest86 添加到 Ubuntu 20.04 grub 菜单中。我按照MemTest86 官方指南,但他们假设系统 EFI 分区位于 SATA 驱动器 (/dev/sdX) 上。我的系统分区有 NVME 驱动器,因此下面的条目不起作用。如果我在 grub 菜单中选择了“MemTest86”条目,它就找不到该位置。我应该如何修改/etc/grub.d/40_custom
?
df | grep efi
#/dev/nvme0n1p1 98304 30865 67439 32% /boot/efi
sudo nano /etc/grub.d/40_custom
menuentry 'MemTest86' {
insmod part_gpt
insmod fat
set root='nvme0n1,gpt1'
chainloader ($root)/EFI/memtest86/BOOTX64.efi
}
答案1
我最近自己也这么做了。在 grub 菜单上输入“c”以获取命令行。然后输入“ls”以获取所有驱动器的列表。驱动器/分区都是 (hd#,gpt#),无论它们的物理位置如何。所以,我所做的就是列出每个驱动器的根目录,直到找到 efi。我的 (hd0) 是 Ubuntu HD。(hd1) 是一个用于备份的 2TB HD。(hd2) 是我的 Windows nvme 驱动器。我用“ls (hd2,gpt1)/”找到了 efi。我将 root 设置为它,它成功了。我还在开头放了“insmod gzio”,但这可能没有必要。
答案2
我读到 (hd#,gpt#) 的格式称为 Grub Legacy Device Naming Scheme 或 IDE Legacy Device Naming Scheme。
在启动过程中,在 Grub 菜单中输入“c”进入 Grub 命令行模式,然后输入“ls”获取设备名称列表。
此外,输入“ls -l”查看更多详细信息,包括可以与磁盘或 Gparted 信息匹配的 UUID,以查找特定磁盘和分区。
看: https://docs.oracle.com/cd/E36784_01/html/E36801/gkvii.html
并在“对于 NVMe 驱动器:”子标题下