我的机器是启用 UEFI 的 ubuntu 20.04,具有三个分区:
/dev/nvme0n1p1 启动 (grub2+initrd+kernel)
/dev/nvme0n1p2 操作系统
/dev/nvme0n1p3 home
我遇到的情况是,有时我需要连接辅助 USB HDD(这是我的集成主 NVME 驱动器的旧副本)并重新启动 PC。
问题是,从集成主 NVME HDD 启动 GRUB2 时,两个 HDD 和 UEFI BIOS 上的所有分区名称、它们的 UUID 等都是相同的,将其标记为 HD1,USB HDD 标记为 HD0,因此 initrd 和内核从 USB HDD 启动,而不是 NVME HDD,它具有最新的 initrd 和内核。这是我的 grub.cfg 中的行,这导致了问题
insmod efi_uga
insmod efi_gop
insmod gzio
insmod ext2
insmod search_label
insmod search_part_label
search --no-floppy --set root --part-label some_boot_label --hint-efi=hd0,gpt1
您是否知道一种动态方法来识别(搜索)nvme0n1p1 并使用它,而不是静态的 hd0、gpt1?
device.map 将不起作用,因为它是静态文件 (hostdisk//dev/nvme0n1,gpt1),并且插入 USB 时会发生重新排序。我唯一的猜测是禁用 *hci.mod 模块,该模块加载 USB 设备,但不确定这是否是一个好主意。
非常欢迎您的帮助