我安裝了帶有標準雙啟動程式的最新 ubuntu 以及預先安裝的 Windows。
產生的分區是:
Disk /dev/nvme0n1: 238.5 GiB, 256060514304 bytes, 500118192 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 1FD93AC5-481F-46E4-8743-4C1B0493E4D3
Device Start End Sectors Size Type
/dev/nvme0n1p1 2048 206847 204800 100M EFI System
/dev/nvme0n1p2 206848 239615 32768 16M Microsoft reserved
/dev/nvme0n1p3 239616 217887637 217648022 103.8G Microsoft basic data
/dev/nvme0n1p4 498020352 500117503 2097152 1G Windows recovery environment
/dev/nvme0n1p5 217888768 498020351 280131584 133.6G Linux filesystem
Partition table entries are not in disk order.
我首先在 UEFI 中配置了 ubuntu (grub) 的啟動順序。
最終的 EFI 配置為:
Timeout: 0 seconds
BootOrder: 0001,0002,2001,2002,2003
Boot0001* ubuntu
Boot0002* Windows Boot Manager
Boot2001* EFI USB Device
Boot2002* EFI DVD/CDROM
Boot2003* EFI Network
啟動時,grub 通常會顯示並選擇預設選項「ubuntu」。另一個選項是「Windows 啟動管理員」。
ubuntu 正常啟動,如果我關閉系統並稍後重新啟動,一切都會繼續工作。但如果我嘗試從 ubuntu 重新啟動,則會出現「無啟動裝置」螢幕,我必須使用電源按鈕硬關機。下次啟動時,Windows 將直接啟動(不透過 grub)。如果我隨後進入 UEFI Bios,啟動順序將首先與 Windows 顛倒。我必須重新反轉它才能再次啟動 ubuntu,這很煩人。
Fastboot 已在 Windows 中停用。當我從 grub 啟動 Windows,然後從 Windows 重新啟動時,機器現在正常轉為 grub。所以唯一不起作用的是從 ubuntu 重新啟動。
讓我困惑的是,efibootmgr 沒有像我見過的所有範例一樣顯示分割區 Boot0000。也許這與我的問題無關,但我明白這是唯一的區別。
我只能假設,在 ubuntu 重新啟動時,系統嘗試直接從 /dev/nvme0n1p5 (linux 檔案系統)啟動,而該系統完全沒有標記為可啟動。但我找不到任何影響這種行為的設定。
還有其他想法嗎?先非常感謝。
更多細節:
root@JensNewLap:/boot/efi/EFI# ls -la
insgesamt 7
drwx------ 7 root root 1024 Jun 9 13:02 .
drwx------ 4 root root 1024 Jan 1 1970 ..
drwx------ 2 root root 1024 Jun 13 19:25 Boot
drwx------ 2 root root 1024 Jun 9 13:02 Insyde
drwx------ 4 root root 1024 Mär 28 15:48 Microsoft
drwx------ 4 root root 1024 Jun 10 15:50 OEM
drwx------ 3 root root 1024 Jun 6 23:33 ubuntu
root@JensNewLap:/boot/efi/EFI# ls Boot/
bootx64.efi fbx64.efi
root@JensNewLap:/boot/efi/EFI# ls Insyde
root@JensNewLap:/boot/efi/EFI# ls Microsoft
Boot Recovery
root@JensNewLap:/boot/efi/EFI# ls OEM
Boot Recovery
root@JensNewLap:/boot/efi/EFI# ls ubuntu
BOOTX64.CSV fw fwupx64.efi grub.cfg grubx64.efi mmx64.efi shimx64.efi
root@JensNewLap:/boot/efi/EFI#
答案1
似乎有一個解決方法。我需要指定內核啟動參數“reboot=pci”。為此,您可以編輯 /etc/default/grub:
GRUB_CMDLINE_LINUX="reboot=pci"
並更新 grub:
sudo update-grub
就是這樣。重啟似乎會持續很長時間,但至少有效。
為了在 linux 核心新增一個條目,可能值得向 linux 核心提交一個 bug。重新啟動_dmi_表?