用efibootmgr管理UEFI启动项

UEFI用来替代传统BIOS引导操作系统,学会修改UEFI启动项也变得十分重要,UEFI全称为:“统一的可扩展固件接口”(Unified Extensible Firmware Interface),目前新购入的计算机都支持UEFI固件,若是需要启动传统MBR设备,则需开启CSM(Compatibility Support Module)。关闭CSM则变成纯UEFI启动,且完全支持安全启动。Secure Boot(安全启动),安全启动仅适用于使用UEFI启动的操作系统。如果电脑要启动不完全支持UEFI的设备,就必须关闭Secure Boot,然后打开CSM。如Win7系统,必须开启CSM兼容模式。Win8及以上都能很好的支持UEFI,而为了设置系统引导,必须要管理UEFI启动项。

在国内个人物理机直接安装Linux系统时,一般都会再安装个Windows系统实现双系统,这样有时候就会出现系统启动项丢失的情况多为Linux系统,解决方法就是使用efibootmgr命令添加启动项,而在Windows下可以使用EasyUEFI这个软件。

1、如果系统丢失Linux启动项,如果是双系统就只能进入Windows,但是我不喜欢用EasyUEFI,这时可以选择一个Linux liveCD系统,如Ubuntu,将Ubuntu liveCD 刻录成U盘启动,如果刻录成光驱启动系统会很慢。

2、在Ubuntu(非liveCD)下我使用efibootmgr命令,显示如下:

pipci@ubuntu:~$ efibootmgr 
BootCurrent: 0012
Timeout: 0 seconds
BootOrder: 0012,0010,0011,000F,000B,000A,0006,0007,0008,0009,000C,000D,000E
Boot0000  Setup
Boot0001  Boot Menu
Boot0002  Diagnostic Splash Screen
Boot0003  Lenovo Diagnostics
Boot0004  Rescue and Recovery
Boot0005  Startup Interrupt Menu
Boot0006* USB CD
Boot0007* USB FDD
Boot0008* ATAPI CD0
Boot0009* ATAPI CD1
Boot000A* ATA HDD0
Boot000B* ATA HDD1
Boot000C* ATA HDD2
Boot000D* USB HDD
Boot000E* PCI LAN
Boot000F* Windows Boot Manager
Boot0010* ubuntu
Boot0011* ubuntushim
Boot0012* opensuse-secureboot
pipci@ubuntu:~$ 

列表还是很直观的显示了当前启动项,启动超时,EFI启动顺序,0012是第一启动项对应的是opensuse系统,0011是第二启动项对应ubuntu系统这个是我手动添加的,000F是四启动项对应的Windows系统。

3、查找系统启动文件,每个系统都会在EFI分区建立自己的启动文件。

pipci@ubuntu:~$ sudo fdisk -l      #产看EFI所在分区

设备           Start    末尾    扇区  Size 类型
/dev/sdb1       2048    206847    204800  100M EFI System                   #EFI所在分区                  
/dev/sdb2     206848    468991    262144  128M Microsoft reserved
/dev/sdb3     468992  83888127  83419136 39.8G Microsoft basic data
/dev/sdb4   83888128  92276735   8388608    4G Microsoft basic data
/dev/sdb5   92276736 176168959  83892224   40G Microsoft basic data
/dev/sdb6  176168960 254294015  78125056 37.3G Linux filesystem
/dev/sdb7  254294016 262682623   8388608    4G Linux filesystem
/dev/sdb8  262682624 468860927 206178304 98.3G Microsoft basic data
pipci@ubuntu:~$ 

4、挂在EFI分区

pipci@ubuntu:~$ sudo mount /dev/sdb1 /mnt/      #挂载EFI分区到/mnt目录

5、进入EFI分区

pipci@ubuntu:~$ sudo -i                #以root用户身份运行一个登录 shell
root@ubuntu:~# cd /mnt/

6、查看EFI分区

root@ubuntu:/mnt# ls
EFI

7、进入EFI目录,查看

root@ubuntu:/mnt# cd EFI/
root@ubuntu:/mnt/EFI# ls
Boot  Microsoft  opensuse  ubuntu           #可以看出安装的系统
root@ubuntu:/mnt/EFI# 

8、查看EFI下各目录内容:

root@ubuntu:/mnt/EFI# ls Boot/
bootx64.efi
root@ubuntu:/mnt/EFI# ls Microsoft/
Boot
root@ubuntu:/mnt/EFI# ls opensuse/
boot.csv  grub.cfg  grub.efi  grubx64.efi  MokManager.efi  shim.efi
root@ubuntu:/mnt/EFI# ls ubuntu/
fw  fwupx64.efi  grub.cfg  grubx64.efi  mmx64.efi  shimx64.efi
root@ubuntu:/mnt/EFI# 

9、添加启动项

root@ubuntu:~# efibootmgr -c -w -L "BootOptionName" -d /dev/sda -p 1 -l \\EFI\\Boot\\bootx64.efi

其中BootOptionName替换成你设定的名字,-d后面是启动分区所在的硬盘(默认为/dev/sda),-p后面是分区位置(默认为1),-l是启动efi文件的路径。
这样就添加了EFI启动项。
举例:

root@ubuntu:~# efibootmgr -c -w -L "BootOptionName" -d /dev/sdb -p 1 -l \\EFI\\Boot\\bootx64.efi    #我的启动分区所在的硬盘为/dev/sdb
BootCurrent: 0012
Timeout: 0 seconds
BootOrder: 0013,0012,0010,0011,000F,000B,000A,0006,0007,0008,0009,000C,000D,000E
Boot0000  Setup
Boot0001  Boot Menu
Boot0002  Diagnostic Splash Screen
Boot0003  Lenovo Diagnostics
Boot0004  Rescue and Recovery
Boot0005  Startup Interrupt Menu
Boot0006* USB CD
Boot0007* USB FDD
Boot0008* ATAPI CD0
Boot0009* ATAPI CD1
Boot000A* ATA HDD0
Boot000B* ATA HDD1
Boot000C* ATA HDD2
Boot000D* USB HDD
Boot000E* PCI LAN
Boot000F* Windows Boot Manager
Boot0010* ubuntu
Boot0011* ubuntushim
Boot0012* opensuse-secureboot
Boot0013* BootOptionName

通过上面的操作可以看出已经添加了 BootOptionName这个启动项,编号是0013,BootOrder:处可以看出已经成为第一启动项。

如果是Linux系统启动项丢失不要添加/EFI/Boot/bootx64.efi这个启动项,因为这个文件可能被Windows系统替换,添加后会直接进入Windows系统,不能进入GRUB引导程序,可以尝试添加/EFI/opensuse/ 目录下的grubx64.efi grub.efi shim.efi MokManager.efi 等文件,每个Linux发行版对应的目录下的文件可能不一样,根据实际情况添加,我的电脑安装了3个系统,安装顺序为Windows Ubuntu openSUSE,所以要添加最后安装的那个系统对应的启动文件,因为最后安装的系统的GRUB才会把前面系统添加进去,才可以通过一个GRUB管理多个系统。

10、删除启动项的命令为:

root@ubuntu:~# efibootmgr -b 0013 -B      #删除刚才添加的BootOptionName启动项,对应的编号为0013
BootCurrent: 0012
Timeout: 0 seconds
BootOrder: 0012,0010,0011,000F,000B,000A,0006,0007,0008,0009,000C,000D,000E
Boot0000  Setup
Boot0001  Boot Menu
Boot0002  Diagnostic Splash Screen
Boot0003  Lenovo Diagnostics
Boot0004  Rescue and Recovery
Boot0005  Startup Interrupt Menu
Boot0006* USB CD
Boot0007* USB FDD
Boot0008* ATAPI CD0
Boot0009* ATAPI CD1
Boot000A* ATA HDD0
Boot000B* ATA HDD1
Boot000C* ATA HDD2
Boot000D* USB HDD
Boot000E* PCI LAN
Boot000F* Windows Boot Manager
Boot0010* ubuntu
Boot0011* ubuntushim
Boot0012* opensuse-secureboot

11、删除多余的启动项从新查看启动项:

root@ubuntu:~# efibootmgr 
BootCurrent: 0012
Timeout: 0 seconds
BootOrder: 0012,0010,0011,000F,000B,000C,000D
Boot0000  Setup
Boot0001  Boot Menu
Boot0002  Diagnostic Splash Screen
Boot0003  Lenovo Diagnostics
Boot0004  Rescue and Recovery
Boot0005  Startup Interrupt Menu
Boot000B* ATA HDD1
Boot000C* ATA HDD2
Boot000D* USB HDD
Boot000F* Windows Boot Manager
Boot0010* ubuntu
Boot0011* ubuntushim
Boot0012* opensuse-secureboot

12、修改boot 顺序

root@ubuntu:~# efibootmgr -o 0012,0010,0011,000F,000D,000C,000B    
BootCurrent: 0012
Timeout: 0 seconds
BootOrder: 0012,0010,0011,000F,000D,000C,000B
Boot0000  Setup
Boot0001  Boot Menu
Boot0002  Diagnostic Splash Screen
Boot0003  Lenovo Diagnostics
Boot0004  Rescue and Recovery
Boot0005  Startup Interrupt Menu
Boot000B* ATA HDD1
Boot000C* ATA HDD2
Boot000D* USB HDD
Boot000F* Windows Boot Manager
Boot0010* ubuntu
Boot0011* ubuntushim
Boot0012* opensuse-secureboot
root@ubuntu:~# 

通过efibootmgr -o 命令将000B和000D调换,如果要设置第一启动,把相应的编号放到命令后的最前面,如上面的0012

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在BIOS中删除UEFI启动项,您可以按照以下步骤进行操作: 1. 首先,进入计算机的BIOS设置。通常,在开机时按下指定的按键(如F2、Delete或F12)可以进入BIOS设置界面。您可以在计算机开机时的启动画面上找到相应的提示信息。 2. 在BIOS设置界面中,找到启动选项。它可能位于不同的标签页或菜单中,具体位置取决于您计算机的型号和BIOS版本。 3. 在启动选项中,您应该能够看到现有的UEFI启动项列表。请注意,不同的BIOS界面可能会以不同的方式显示这些项。 4. 使用键盘上的方向键或鼠标(如果BIOS支持鼠标),选择要删除的UEFI启动项。 5. 选择删除选项。在某些BIOS中,您可能需要按下特定的键(如F9或F10)来删除选定的启动项。 6. 确认删除操作。请注意,删除启动项可能会导致无法引导到相应的操作系统或引导文件。因此,请仔细确认您要删除的启动项是否正确。 7. 完成删除后,保存并退出BIOS设置。通常,您可以使用相应的按键(如F10)保存更改并重新启动计算机。 请注意,上述步骤的具体操作可能因计算机的品牌、型号和BIOS版本而有所不同。建议您在进行任何BIOS设置更改之前,先阅读计算机的用户手册或参考制造商的支持文档以获取准确的操作说明。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [UEFI启动模式安装的服务器出现多个启动项的清理方法](https://blog.csdn.net/forestqq/article/details/129185809)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [轻松管理您的 EFIUEFI 启动项 EasyUEFI Enterprise 4.0 + x64.zip](https://download.csdn.net/download/dbnjzy/19333743)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值