Windows 10 在 Grub 上不可见

Windows 10 在 Grub 上不可见

我的电脑上有基本操作系统。我擦除了硬盘并安装了 Windows 10,没有任何问题。然后我缩小了它正在使用的实际分区,我在那个空分区中安装了 Pardus。为了安装它,我必须在 BIOS 中禁用安全启动。它也安装正确。

当我最终启动计算机时,GRUB 菜单中没有 Windows 10 选项。奇怪的是,当从 BIOS 启用安全启动时,它无法启动 Pardus,因此它启动到 Windows!

到目前为止我已经尝试过os-prober没有找到任何其他操作系统,我已经尝试过这个链接,它说ntldr not found或类似的话。我已经替换ntldr /bootmgrchainloader +1,然后它说 EFI 文件路径无效。我尝试使用最大分区(名为“Microsoft Basic Data”)和使用名为“EFI System”的分区的 UUID。两者都给我带来了同样的错误:“EFI 文件路径。”

这是我的/etc/grub.d/40_custom

# Skipping the initial part of the file
menuentry "Windows 10" --class windows --class os {
   insmod ntfs
   search --no-floppy --set=root --fs-uuid FA53-79CA
   chainloader +1
}

这是我的结果fdisk -l

Disk /dev/sda: 465,8 GiB, 500107862016 bytes, 976773168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: # some hex identifier here

Device         Start       End   Sectors   Size Type
/dev/sda1       2048   1023999   1021952   499M Windows recovery environment
/dev/sda2    1024000   1226751    202752    99M EFI System
/dev/sda3    1226752   1259519     32768    16M Microsoft reserved
/dev/sda4    1259520 490168319 488908800 233,1G Microsoft basic data
/dev/sda5  490168320 968570879 478402560 228,1G Linux filesystem
/dev/sda6  968570880 976771071   8200192   3,9G Linux swap

我想我可能已经删除了 Windows 引导加载程序,但正如我所提到的,当我从 BIOS 启用安全引导时,它会引导到 Windows。

答案1

首先,Windows 启动表明您有 UEFI,并且您可以使用主板启动选择器来启动 Windows 而不是 GRUB。启动时通常按 F2 或 F12。

您的 Windows 10 菜单项正在使用

chainloader +1

这意味着加载根设备的第一个扇区。这不起作用,因为系统是 UEFI 而不是传统 BIOS。

相反,将根设备设置为 EFI 系统并链式加载 Windows 的 EFI:

insmod part_gpt
insmod search_fs_uuid
insmod chain
search --no-floppy --set=root --fs-uuid FA53-79CA
chainloader (${root})/EFI/Microsoft/Boot/bootmgfw.efi

还要确认 blkid 的 UUID 正确且适用于 EFI 系统。

GRUB 应该自动检测 Windows,但不会在 RAID 磁盘上检测它们。

相关内容