Grub

如何確保預設啟動 GRUB,而不是 Windows

  • October 25, 2019

我有一台裝有 Windows 10 和 Ubuntu 16.04 的戴爾 G5 筆記型電腦,安裝在 NVME 驅動器上,硬碟上安裝了 /home 和 D: 分區

以前,當我打開筆記型電腦時,它會預設進入 GRUB,我可以選擇要啟動的作業系統。我剛剛啟動到 Windows 並執行了戴爾韌體更新工具,發現這改變了我的啟動優先級,現在 Windows 將自動啟動。

我的 efi 啟動優先級是:

$ sudo efibootmgr 
BootCurrent: 0001
Timeout: 0 seconds
BootOrder: 0002,0001,0000
Boot0000* Windows Boot Manager
Boot0001* ubuntu
Boot0002* UEFI: KBG30ZMS128G NVMe TOSHIBA 128GB, Partition 1

$ lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
loop1         7:1    0    89M  1 loop /snap/core/7713
nvme0n1     259:0    0 119.2G  0 disk 
├─nvme0n1p7 259:7    0  48.8G  0 part /
├─nvme0n1p5 259:5    0  12.7G  0 part 
├─nvme0n1p3 259:3    0  54.9G  0 part 
├─nvme0n1p1 259:1    0   650M  0 part /boot/efi
├─nvme0n1p6 259:6    0   1.1G  0 part 
├─nvme0n1p4 259:4    0   990M  0 part 
└─nvme0n1p2 259:2    0   128M  0 part 
loop4         7:4    0 172.5M  1 loop /snap/skype/92
loop2         7:2    0 159.8M  1 loop /snap/vott/x1
loop0         7:0    0  89.1M  1 loop /snap/core/7917
sda           8:0    0 931.5G  0 disk 
├─sda4        8:4    0 907.2G  0 part /home
├─sda2        8:2    0   9.3G  0 part 
├─sda3        8:3    0  14.9G  0 part [SWAP]
└─sda1        8:1    0   128M  0 part 
loop3         7:3    0 172.6M  1 loop /snap/skype/96

$ sudo update-grub
[sudo] password for luke: 
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.15.0-66-generic
Found initrd image: /boot/initrd.img-4.15.0-66-generic
Found linux image: /boot/vmlinuz-4.15.0-65-generic
Found initrd image: /boot/initrd.img-4.15.0-65-generic
Found linux image: /boot/vmlinuz-4.4.0-166-generic
Found initrd image: /boot/initrd.img-4.4.0-166-generic
Found Windows Boot Manager on /dev/nvme0n1p1@/EFI/Microsoft/Boot/bootmgfw.efi
Adding boot menu entry for EFI firmware configuration
done

如果我在 POST 之後打開引導菜單並手動選擇第二個“ubuntu”條目,GRUB 會按預期啟動。所以我嘗試進入 UEFI 並將“ubuntu”提升為第一個預設啟動選項 - 結果是電腦啟動到某種戴爾救援實用程序並且不會載入任何一個系統 - 通知我啟動已損壞。將啟動順序返回到上述狀態允許我啟動 Windows 或 GRUB。

預設情況下如何引導到 GRUB?

只需執行 update-grub(然後將“ubuntu”設置為第一個 UEFI 啟動優先級)即可解決問題。

efibootmgr -o 0001 此命令會將您的第一個引導選項設置為 ubuntu。

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