GRUB 无法启动到 nvme

GRUB 无法启动到 nvme

我有以下 EFI 分区(来自blkid):

/dev/nvme0n1p1: UUID="1EED-77FD" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="EFI system partition" PARTUUID="dbc4195e-bb68-4c68-b0f5-5283571d683b"
/dev/sdb1: LABEL_FATBOOT="EFI" LABEL="EFI" UUID="5750-AAC4" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="EFI System" PARTUUID="f97644b9-d1db-4912-93a5-e74ee1532393"

以及由 生成的以下条目grub-mkconfig

Generating grub configuration file ...
Found theme: /boot/grub/themes/Archlinux/theme.txt
Found linux image: /boot/vmlinuz-linux
Found initrd image: /boot/intel-ucode.img /boot/initramfs-linux.img
Found fallback initrd image(s) in /boot: initramfs-linux-fallback.img
Found Windows Boot Manager on /dev/nvme0n1p1@/efi/Microsoft/Boot/bootmgfw.efi
done

但是当我尝试启动 Windows 操作系统时,grub 抛出了以下错误:

error: null src bitmap in grub_video_bitmap_create_scaled. 
error: no such device: 1EED-77FD.
error: file `/EFI/Microsoft/Boot/bootingfw.efi' not found.

Press any key to continue..._

挂载并浏览具有该 UUID 的分区显示该文件存在:

$ ls -lFh /mnt/win/EFI/Microsoft/Boot/bootmgfw.efi
.rwxr-xr-x root root 1.5 MB Sat Dec  7 06:38:48 2019  bootmgfw.efi*

这是 grub.cfg 文件中的条目:

menuentry 'Windows Boot Manager (on /dev/nvme0n1p1)' --class windows --class os $menuentry_id_option 'osprober-efi-1EED-77FD' {
        savedefault
        insmod part_gpt
        insmod fat
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root  1EED-77FD
        else
          search --no-floppy --fs-uuid --set=root 1EED-77FD
        fi
        chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}

1EED-77FD为什么 grub 会报告未找到具有 UUID 的设备?

答案1

这个帖子华硕 ROG 论坛对我有帮助:

我通过执行以下操作来启动它:

  1. 启用 CSM 并为 PCIe 组件设置 UEFI
  2. 禁用快速启动
  3. 拔下我的 USB3 备份驱动器

我的 BIOS 设置上禁用了 CSM 模块,导致 GRUB 无法在启动时检测到 nvme 驱动器。

启用 CSM 并将所有启动组件设置为仅 UEFI 后,我就能够从 grub 启动到 Windows。

相关内容