在不同的磁盘和 esp 上进行双启动:grub 无法启动,也无法看到窗口

在不同的磁盘和 esp 上进行双启动:grub 无法启动,也无法看到窗口

我在带有 efi 分区的 nvme ssd 上安装了 Windows,并在一个干净的 ssd 上安装了 Ubuntu 22.04。我按照以下方法做了一切在这里建议即关闭bootesp标记 windows efi 分区,然后安装 Ubuntu,安装 gparted(无论出于什么原因它都没有包括在内),检查两个标志,运行sudo update-grub但重启后什么也没发生,它直接启动到 ubuntu。Windows 安装在 uefi 模式下。我运行它sudo os-prober,它确实看到了 windows。我也sudo grub-install按照一个答案中的建议运行update,但也没有帮助。我关闭了 Windows 中的快速启动并再次运行installupdate没有帮助。可能是什么问题?这是我的磁盘分区lsblk

sda           8:0    0 232,9G  0 disk 
├─sda1        8:1    0  18,6G  0 part [SWAP]
├─sda2        8:2    0   954M  0 part /boot
├─sda3        8:3    0   286M  0 part /boot/efi ###idk, maybe it's because I placed efi right after /boot partition when installing?
├─sda4        8:4    0  27,9G  0 part /home
└─sda5        8:5    0 185,1G  0 part /var/snap/firefox/common/host-hunspell
                                      /
nvme0n1     259:0    0 476,9G  0 disk 
├─nvme0n1p1 259:1    0   100M  0 part ### this is efi windows
├─nvme0n1p2 259:2    0    16M  0 part 
├─nvme0n1p3 259:3    0 476,3G  0 part 
└─nvme0n1p4 259:4    0   533M  0 part 

现在,如果我进入/boot文件夹,里面有/efi/grub文件夹,里面/grubgrub.cfg,但里面/efi/efi/ubuntu/grubx64.efigrub.cfg文件,这正常吗?我错过了什么?任何帮助都非常感谢,谢谢!
现在 grub 甚至没有启动,只是直接启动到 ubuntu。sudo grub-probe -t device /boot/grub显示/dev/sda2sudo debconf-show grub-pc行中显示为空,grub-pc/install_devices因为它说这里。我也尝试运行sudo grub-install dev/sda,它没有返回任何错误,但也没有帮助。输出sudo update-grub

Sourcing file `/etc/default/grub'
Sourcing file `/etc/default/grub.d/init-select.cfg'
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-6.2.0-32-generic
Found initrd image: /boot/initrd.img-6.2.0-32-generic
Found linux image: /boot/vmlinuz-5.19.0-32-generic
Found initrd image: /boot/initrd.img-5.19.0-32-generic
Memtest86+ needs a 16-bit boot, that is not available on EFI, exiting
Warning: os-prober will not be executed to detect other bootable partitions.
Systems on them will not be added to the GRUB boot configuration.
Check GRUB_DISABLE_OS_PROBER documentation entry.
Adding boot menu entry for UEFI Firmware Settings ...
done

答案1

好的,经过一些研究后我发现:

  1. /efi/efi/ubuntu/grub.cfg仅供参考/boot/grub/grub.cfg
  2. 问题是 grub 没有检测到窗口,因为默认情况下,os-prober无论出于什么原因,现在都不使用窗口。
    因此,为了解决这个问题,您需要添加: GRUB_DISABLE_OS_PROBER=false/etc/default/grub文件,然后运行sudo update-grub,之后 Windows 就会出现,并且 grub 菜单也会显示。

相关内容