我的电脑上有基本操作系统。我擦除了硬盘并安装了 Windows 10,没有任何问题。然后我缩小了它正在使用的实际分区,我在那个空分区中安装了 Pardus。为了安装它,我必须在 BIOS 中禁用安全启动。它也安装正确。
当我最终启动计算机时,GRUB 菜单中没有 Windows 10 选项。奇怪的是,当从 BIOS 启用安全启动时,它无法启动 Pardus,因此它启动到 Windows!
到目前为止我已经尝试过os-prober
没有找到任何其他操作系统,我已经尝试过这个链接,它说ntldr not found
或类似的话。我已经替换ntldr /bootmgr
为chainloader +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 磁盘上检测它们。