Boot

Windows 10 在 Grub 上不可見

  • November 18, 2018

我的電腦上有基本的作業系統。我擦拭了我的硬碟驅動器並安裝了 Windows 10 沒有任何問題。然後我縮小了它使用的實際分區,我在那個空分區中安裝了 Pardus。為了安裝它,我不得不在 BIOS 中禁用安全啟動。它也安裝正確。

當我最終啟動電腦時,在 GRUB 菜單中沒有 Windows 10 選項。奇怪的是,當從 BIOS 啟用安全啟動時,它無法啟動 Pardus,所以它啟動到 Windows!

到目前為止,我已經嘗試過os-prober沒有找到任何其他作業系統,我已經嘗試過這個連結,它說ntldr not found或類似的東西。我已經替換ntldr /bootmgrchainloader +1,然後它說無效的 EFI 文件路徑。我嘗試使用名為“Microsoft Basic Data”的最大分區的 UUID,並使用名為“EFI System”的分區。兩者都給我同樣的錯誤:“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。

首先,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 磁碟上檢測到它們。

引用自:https://unix.stackexchange.com/questions/403462