将默认启动项设置为 Windows 而不是 Fedora

将默认启动项设置为 Windows 而不是 Fedora

当我启动机器时,我的机器上的 Grub 中有以下选项:

Fedora (5.10.21-200.fc33.x86_64) 33 (Workstation Edition)
Fedora (5.10.19-200.fc33.x86_64) 33 (Workstation Edition)
Fefora (5.8.15-301.fc33.x86_64) 33 (Workstation Edition)
Fedora (0-rescue-af432317147a47c59c193b055d8a658f) 33 (Workstation Edition)
Windows Boot Manager (on /dev/nvme0n1p1)
System setup

我想将默认启动选项更改为 Windows。我读关于更改启动优先级的问题,但是当我运行以下命令时,没有任何结果:

grep "submenu\|^\smenuentry" /boot/efi/EFI/fedora/grub.cfg

当我在/boot/loader/entries/目录中查找*.conf文件时,唯一可见的是:

# ll /boot/loader/entries
total 16
-rw-r--r--. 1 root root 410 Mar  6 16:35 af432317147a47c59c193b055d8a658f-0-rescue.conf
-rw-r--r--. 1 root root 337 Mar  6 17:39 af432317147a47c59c193b055d8a658f-5.10.19-200.fc33.x86_64.conf
-rw-r--r--. 1 root root 337 Mar 12 09:27 af432317147a47c59c193b055d8a658f-5.10.21-200.fc33.x86_64.conf
-rw-r--r--. 1 root root 334 Mar  6 16:35 af432317147a47c59c193b055d8a658f-5.8.15-301.fc33.x86_64.conf

那么如何将Windows设置为默认启动选项呢?

答案1

在 Fedora 39 中,您可以这样做:

  1. 确保GRUB_DEFAULT=saved设置为/etc/default/grub
  2. awk -F\' '$1=="menuentry " {print $2}' /boot/grub2/grub.cfg应该输出类似的内容Windows Boot Manager (on /dev/sda4)
  3. sudo grub2-set-default "Windows Boot Manager (on /dev/sda4)"更改Windows Boot Manager (on /dev/sda4)为第二步的输出
  4. 应用该设置sudo grub2-mkconfig -o /boot/grub2/grub.cfg

与您在旧版本中所做的非常相似,但 grub.cfg 有一个新路径,最后一步现在至关重要。


以下内容与 Fedora 32/33/34 相关。就像 Linux 中经常发生的那样,本手册将来可能会过时。

  1. 首先确保GRUB_DEFAULT=saved已设置- 如有必要,请使用with , ,/etc/default/grub编辑文件。sudonanovijoe

  2. 跑步

awk -F\' '$1=="menuentry " {print $2}' /boot/efi/EFI/fedora/grub.cfg
Windows Boot Manager (on /dev/sda4)
System setup

查看您的非 Fedora/非 Linux 内核条目。该文件的 BIOS 路径是/boot/grub2/grub.cfg.

  1. 跑步:
sudo grub2-set-default "Windows Boot Manager (on /dev/sda4)"

grub2-set-default也接受一个数字作为参数。你完成了。


您还可以使用sudo efibootmgr --bootorder更改默认 EFI 启动选项,尽管它并不总是有效,因为许多现代 PC 的启动延迟为零,因此不允许按任何键来选择非默认 EFI 启动选项,即您可以无法访问您的 Fedora。


Fedora关于grub2的文档可以找到这里

相关内容