我在带有 efi 分区的 nvme ssd 上安装了 Windows,并在一个干净的 ssd 上安装 Ubuntu 22.04。我按照这里的建议做了所有事情,即关闭boot
并esp
在Windows efi分区上标记,然后安装Ubuntu,安装gparted(无论出于何种原因它没有包括在内),检查两个标记,运行sudo update-grub
但重新启动后没有任何反应,它直接启动到ubuntu。Windows 是在 uefi 模式下安装的。我跑了sudo os-prober
,它确实看到了窗户。我也sudo grub-install
按照一个答案和update
之后的建议运行,但它也没有帮助。我关闭了 Windows 中的快速启动并再次运行install
,update
但没有帮助。可能有什么问题?这是我的磁盘partinoining 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
文件夹,那里/grub
有grub.cfg
,但/efi/efi/ubuntu/
那里也grubx64.efi
有grub.cfg
文件,这正常吗?我错过了什么?任何帮助表示赞赏,谢谢!
现在 grub 甚至还没有启动,只是直接启动到 ubuntu。sudo grub-probe -t device /boot/grub
显示/dev/sda2
但sudo 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
好吧,经过一些研究后我发现:
/efi/efi/ubuntu/grub.cfg
只是参考/boot/grub/grub.cfg
os-prober
出于某种原因不被使用。因此,为了解决这个问题,您需要添加:
GRUB_DISABLE_OS_PROBER=false
到/etc/default/grub
文件中,然后运行sudo update-grub
,之后将出现 Windows 并显示 grub 菜单。