使用 efibootmgr 将 Windows 设置为默认条目,但显示菜单

使用 efibootmgr 将 Windows 设置为默认条目,但显示菜单

我有这个菜单启动我的笔记本电脑。正如你所看到的,我有多个 CentOS 8 条目。但是,我想设置为默认值,我的Windows Boot Manager (on /dev/nvme01p1)条目...

我在想efibootmgr

读这篇文章https://www.lifewire.com/change-the-efi-boot-order-efibootmgr-4028027和这篇文章https://www.linuxbabe.com/command-line/how-to-use-linux-efibootmgr-exampleshttps://www.runscripts.com/support/guides/tools/multiboot-usb/dual-booting-repair

ESP(EFI系统分区)

是否可以保留菜单项,更改为 Windows efibootmgr

在此输入图像描述

这是我的efibootmgr -v

[root@centos /]# efibootmgr -v
BootCurrent: 0000
Timeout: 0 seconds
BootOrder: 0000,0017,0001,0012,0014,0015,0016,0018,0019,001A
Boot0000* CentOS Linux  HD(6,GPT,5291c15b-2f5c-42a0-b3e3-2c69f27b801b,0x1b7ec800,0x200000)/File(\EFI\centos\shimx64.efi)
Boot0001* Windows Boot Manager  HD(1,GPT,31ebd6ef-ec98-42c7-a57b-7855c2c9a1f3,0x800,0x82000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}...7................
Boot0010  Setup FvFile(721c8b66-426c-4e86-8e99-3457c46ab0b9)
Boot0011  Boot Menu FvFile(86488440-41bb-42c7-93ac-450fbf7766bf)
Boot0012* NVMe: SKHynix_HFM512GDHTNI-87A0B              PciRoot(0x0)/Pci(0x1d,0x0)/Pci(0x0,0x0)/NVMe(0x1,AC-E4-2E-00-0A-25-B5-D3)....2.LN........
Boot0013  UEFI Diagnostics  FvFile(f8397897-e203-4a62-b977-9e7e5d94d91b)
Boot0014* ATA HDD:  VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,91af625956449f41a7b91f4f892ab0f604)
Boot0015* ATA HDD:  VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,91af625956449f41a7b91f4f892ab0f605)
Boot0016* ATAPI CD: VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,aea2090adfde214e8b3a5e471856a354)
Boot0017* USB HDD:  VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,33e821aaaf33bc4789bd419f88c50803)
Boot0018* PCI LAN:  VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,78a84aaf2b2afc4ea79cf5cc8f3d3803)
Boot0019* USB FDD:  VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,6ff015a28830b543a8b8641009461e49)
Boot001A* USB CD:   VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,86701296aa5a7848b66cd49dd3ba6a55)
[root@centos /]#

在此输入图像描述

/etc/default/grub以及我的文件的内容

[root@centos /]# cat /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto resume=UUID=42640b78-ce32-403c-8705-8c12e2d02855 rhgb quiet"
GRUB_DISABLE_RECOVERY="true"
GRUB_ENABLE_BLSCFG=true
[root@centos /]#

在此输入图像描述

[root@centos /]# grep /efi /proc/mounts
efivarfs /sys/firmware/efi/efivars efivarfs rw,nosuid,nodev,noexec,relatime 0 0
/dev/nvme0n1p6 /boot/efi vfat rw,relatime,fmask=0077,dmask=0077,codepage=437,iocharset=ascii,shortname=winnt,errors=remount-ro 0 0
[root@centos /]# 
[root@centos /]# readlink /etc/grub2-efi.cfg
../boot/efi/EFI/centos/grub.cfg
[root@centos /]# 
[root@centos /]# readlink /etc/grub2.cfg
../boot/grub2/grub.cfg
[root@centos /]# 
[root@centos /]# sudo grub2-mkconfig -o "$(readlink /etc/grub2-efi.cfg)"
Generating grub configuration file ...
Found Windows Boot Manager on /dev/nvme0n1p1@/EFI/Microsoft/Boot/bootmgfw.efi
Adding boot menu entry for EFI firmware configuration
done
[root@centos /]# sudo grub2-mkconfig -o "$(readlink /etc/grub2.cfg)"
Generating grub configuration file ...
Found Windows Boot Manager on /dev/nvme0n1p1@/EFI/Microsoft/Boot/bootmgfw.efi
Adding boot menu entry for EFI firmware configuration
done
[root@centos /]#

在此输入图像描述

答案1

efibootmgr还可以用来设置等待确认的时间。

然而,您看到的可能不是 EFI 加载程序本身,而是 GRUB 引导加载程序,它由 UEFI 固件加载,并将加载 Linux 内核。

您可以通过编辑来配置它以满足您的喜好/etc/default/grub。该文件是相当不言自明的;我用GRUB_TIMEOUT=2GRUB_DEFAULT=saved

然后运行(确保您的EFI分区挂载在/boot/efi下,例如通过grep /efi /proc/mounts):

sudo grub2-mkconfig -o "$(readlink /etc/grub2-efi.cfg)"

如果这没有改变任何内容,您可能实际上没有通过 EFI 启动,需要执行以下操作

sudo grub2-mkconfig -o "$(readlink /etc/grub2.cfg)"

反而。

相关内容