Windows
Grub 辨識但不啟動視窗
我正在執行安裝在 M.2 SSD (nvme0n1) 上的 Manjaro 20。並且 Windows 安裝在單獨的 SSD (sdb) 上。
從 grub 啟動到 Linux 可以完美執行,但是當我想從 grub 啟動到 Windows 時,我收到以下錯誤:
error: no such device: 9287-5622 error: disk `hd1,gpt1` not found.
我已經嘗試過這篇文章中列出的解決方案,比如更新 grub、將 grub 移動到不同的磁碟、重新安裝 grub 等。但它們都沒有奏效。
奇怪的是,如果我使用啟動菜單 (F9) 啟動 Windows,Windows 啟動正常,如果我從 Windows 重新啟動到 grub,Windows 選項將正確啟動視窗。只有在啟動到 Manjaro 和 Windows 後,我才會收到錯誤消息。
編輯:
lsblk
輸出NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT loop0 7:0 0 3,3M 1 loop /var/lib/snapd/snap/exercism/5 loop1 7:1 0 30,9M 1 loop /var/lib/snapd/snap/snapd/9607 loop2 7:2 0 126,8M 1 loop /var/lib/snapd/snap/signal-desktop/331 loop3 7:3 0 97,7M 1 loop /var/lib/snapd/snap/core/10185 loop4 7:4 0 163,7M 1 loop /var/lib/snapd/snap/spotify/41 loop5 7:5 0 55,3M 1 loop /var/lib/snapd/snap/core18/1885 loop6 7:6 0 30,9M 1 loop /var/lib/snapd/snap/snapd/9721 loop7 7:7 0 161,4M 1 loop /var/lib/snapd/snap/gnome-3-28-1804/128 loop8 7:8 0 62,1M 1 loop /var/lib/snapd/snap/gtk-common-themes/1506 loop9 7:9 0 162,9M 1 loop /var/lib/snapd/snap/gnome-3-28-1804/145 loop10 7:10 0 55,4M 1 loop /var/lib/snapd/snap/core18/1932 loop11 7:11 0 126,9M 1 loop /var/lib/snapd/snap/signal-desktop/333 loop12 7:12 0 169,3M 1 loop /var/lib/snapd/snap/spotify/42 loop13 7:13 0 97,7M 1 loop /var/lib/snapd/snap/core/10126 sda 8:0 0 931,5G 0 disk └─sda1 8:1 0 931,5G 0 part sdb 8:16 0 223,6G 0 disk ├─sdb1 8:17 0 260M 0 part ├─sdb2 8:18 0 16M 0 part └─sdb3 8:19 0 223,3G 0 part nvme0n1 259:0 0 119,2G 0 disk ├─nvme0n1p1 259:1 0 300M 0 part /boot/efi ├─nvme0n1p2 259:2 0 101,9G 0 part / └─nvme0n1p3 259:3 0 17G 0 part [SWAP]
grub.cfg
視窗入口:menuentry 'Windows Boot Manager (on /dev/sdb1)' --class windows --class os $menuentry_id_option 'osprober-efi-9287-5622' { savedefault insmod part_gpt insmod fat set root='hd1,gpt1' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//disk@0,gpt1' --hint-bios=hd1,gpt1 --hint-efi=hd1,gpt1 --hint-baremetal=ahci1,gpt1 9287-5622 else search --no-floppy --fs-uuid --set=root 9287-5622 fi chainloader /efi/Microsoft/Boot/bootmgfw.efi } set timeout_style=menu if [ "${timeout}" = 0 ]; then set timeout=10 fi
**推測:**使用多個 EFI 分區是一種非標準方法,可能會導致一些問題。AFAIK,GRUB 應該仍然可以使用它 - 但是我在這裡找不到問題,並且我沒有可供參考的工作設置。
沒有 GRUB 的替代解決方案
rEFInd是一個引導管理器,我可以確認它能夠處理多個 EFI 分區。由於啟動時動態自動檢測,幾乎不需要配置。