為什麼 grub 不能通過 UUID 找到磁碟?
我正在嘗試解決我無法啟動到 Windows 的原因。
相關條目
grub.cfg
是:### BEGIN /etc/grub.d/30_os-prober ### menuentry 'Windows Boot Manager (on /dev/sda3)' --class windows --class os $menuentry_id_option 'osprober-efi-BC6E-0415' { insmod part_gpt insmod fat set root='hd0,gpt3' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt3 --hint-efi=hd0,gpt3 --hint-baremetal=ahci0,gpt3 BC6E-0415 else search --no-floppy --fs-uuid --set=root BC6E-0415 fi chainloader /efi/Microsoft/Boot/bootmgfw.efi }
盡我所能,這裡的一切都是正確的:
/dev/disk/by-uuid/BC6E-0415
確實是 Windows 啟動管理器分區。但是,我對引用感到有些困惑,
(hd0,gpt3)
因為這是完全不同的物理磁碟上的完全不同的分區。hd0
是安裝 grub 的磁碟,以防萬一。我嘗試啟動 Windows 時遇到的實際錯誤是:
error: no such device: BC6E-0415 error: file `/efi/Microsoft/Boot/bootmgfw.efi' not found
我確實注意到在 grub 中,如果我進入 grub 命令提示符並執行
ls
,我看到列出的唯一硬碟是hd0
我的系統實際上有 4 個硬碟。正如我上面提到的,hd0
是安裝了 grub 和我的 Linux 的硬碟。所以我想我的問題可能是:為什麼當我啟動到 grub 時,除了一個 grub 處於打開狀態之外,grub 看不到任何硬碟?
如果我啟動到 Linux(Ubuntu 20.04.1),我可以看到我所有的硬碟都很好。
Update1:引導修復輸出
正如@oldfred 建議的那樣,輸出在
boot-repair
這裡:
這裡的贈品是:
我確實注意到在 grub 中,如果我進入 grub 命令提示符並執行 ls,我看到列出的唯一硬碟是 hd0,而我的系統實際上有 4 個硬碟。正如我上面提到的,hd0 是安裝了 grub 和我的 Linux 的硬碟。
奇妙的是。過去的@oldfred 幫我解決了這個問題 :)
正如該執行緒中所討論的,問題在於我的 UEFI BIOS 中的“快速啟動”設置被設置為僅初始化啟動設備。因此,grub 無法使用其他設備(例如 /dev/sda3)。
通過將 Fast Boot 設置更改為“僅硬碟驅動器”,所有硬碟驅動器都可用於 grub。
ls
我可以通過在 grub 中執行來查看所有硬碟驅動器,現在可以啟動到 Windows。