如果您最近在Windows附近安装了Ubuntu,或者与Windows一起安装了任何其他版本的Linux,那么您可能遇到了一个问题,即计算机仍然无法引导到Linux,而是导入Windows。 这是具有EFI Boot Manager的计算机的常见副作用。
本指南将向您介绍如何让您的计算机显示一个菜单,其中包含用于启动到Ubuntu或Windows的选项。
进入Linux的Live版本
为了遵循本指南,您需要启动到Linux的实时版本 。
- 将您用来安装Linux的USB或DVD插入到您的计算机上。
- 启动进入Windows
- 按住shift键并重新启动系统(按住shift键)
- 当出现蓝屏时点击启动USB设备或DVD的选项
- 现在,Linux应该像第一次安装时一样加载到操作系统的实时版本中。
如何安装EFI Boot Manager
本指南将向您展示如何使用EFI Boot Manager,它可以让您操作引导顺序,以便引导到Linux和Windows。
如何找出当前引导顺序
要找出系统将加载的顺序,请输入以下命令:
sudo efibootmgr
命令的sudo部分将您的权限提升为使用efibootmgr时所需的root用户权限。您必须是root用户才能使用efibootmgr。
输出结果如下所示:
- BootCurrent:0004
- 超时:0秒
- BootOrder:0004,0001,0002,0005,0006,2001
- Boot0001 Windows启动管理器
- Boot0002网络
- Boot0004 ubuntu
- Boot0005硬盘
- Boot0006 CD / DVD / CD-RW驱动器
- Boot2001 EFI USB设备
那么这告诉我们什么?
BootCurrent行显示当前使用哪个引导选项。 就我而言,它实际上是Linux Mint,但Linux Mint是Ubuntu的衍生产品,因此0004 = ubuntu。
“超时”会告诉您在选择第一个启动选项之前菜单显示的时间长度,默认为0。
BootOrder显示每个选项的加载顺序。 只有在列表中的下一项无法加载前一项时才会被选中。
在上面的例子中,我的系统将首先引导0004,这是Ubuntu,然后0001是Windows,0002网络,0005硬盘,0006 CD / DVD驱动器,最后是2001年的USB驱动器。
如果订单是2001,0006,0001,那么系统会尝试从USB驱动器加载,如果没有任何存在,它将从DVD驱动器启动,最后启动Windows。
如何更改EFI引导顺序
使用EFI Boot Manager的最常见原因是更改引导顺序。 如果你已经安装了Linux,并且出于某种原因,它首先启动Windows,那么你将需要在启动列表中找到你的Linux版本,并在Windows之前启动它。
例如,拿这个清单:
- BootCurrent:0001
- 超时:0秒
- BootOrder:0001,0004,0002,0005,0006,2001
- Boot0001 Windows启动管理器
- Boot0002网络
- Boot0004 ubuntu
- Boot0005硬盘
- Boot0006 CD / DVD / CD-RW驱动器
- Boot2001 EFI USB设备
您应该希望能够看到Windows首先启动,因为它被分配给引导顺序中第一个0001。
除非Windows无法启动,否则Ubuntu不会加载,因为它被分配到引导顺序列表中0001之后的0004。
不仅在引导顺序中的Windows之前放置Linux,USB驱动器和DVD驱动器是一个好主意。
要更改引导顺序,以便首先使用USB驱动器,然后使用DVD驱动器,然后使用ubuntu,最后使用以下命令。
sudo efibootmgr -o 2001,0006,0004,0001
您可以按如下所示使用较短的表示法:
sudo efibootmgr -o 2001,6,4,1
引导列表现在应该如下所示:
- BootCurrent:0001
- 超时:0秒
- BootOrder:2001,0006,0004,0001
- Boot0001 Windows启动管理器
- Boot0002网络
- Boot0004 ubuntu
- Boot0005硬盘
- Boot0006 CD / DVD / CD-RW驱动器
- Boot2001 EFI USB设备
请注意,如果您未能列出所有可能的选项,那么它们将不会列为引导顺序的一部分。 这意味着0002和0005将被忽略。
如何更改下次引导的引导顺序
如果您想临时创建它,以便计算机的下次启动使用特定的选项,请使用以下命令:
sudo efibootmgr -n 0002
- BootCurrent:0001
- 超时:0秒
- BootOrder:2001,0006,0004,0001
- Boot0001 Windows启动管理器
- Boot0002网络
- Boot0004 ubuntu
- Boot0005硬盘
- Boot0006 CD / DVD / CD-RW驱动器
- Boot2001 EFI USB设备
使用上面的列表这将意味着计算机下次启动时它将尝试从网络启动。
如果您改变主意并想删除下一个引导选项,请运行以下命令取消它。
sudo efibootmgr -N
设置超时
如果您希望每次计算机加载时都能从列表中进行选择,则可以指定超时。
为此,请输入以下命令:
sudo efibootmgr -t 10
上述命令将设置10秒的超时时间。 时间用完后,将选择默认启动选项。
您可以使用以下命令删除超时值:
sudo efibootmgr -T
如何删除启动菜单项
如果您的系统已经双启动,并且您想要恢复到只有一个系统,那么您需要调整启动顺序,以便您正在删除的那个不是首先出现在列表中,并且您需要将该项目从引导顺序。
- BootCurrent:0001
- 超时:0秒
- BootOrder:2001,0006,0004,0001
- Boot0001 Windows启动管理器
- Boot0002网络
- Boot0004 ubuntu
- Boot0005硬盘
- Boot0006 CD / DVD / CD-RW驱动器
- Boot2001 EFI USB设备
如果你有上面的启动选项,并且你想删除Ubuntu,那么你应该首先更改启动顺序,如下所示:
sudo efibootmgr -o 2001,6,1
然后,您将使用以下命令删除Ubuntu引导选项:
sudo efibootmgr -b 4 -B
第一个-b选择引导选项0004,-B删除引导选项。
您可以使用类似的命令使引导选项处于非活动状态,如下所示:
sudo efibootmgr -b 4 -A
您可以使用以下命令使引导选项再次处于活动状态:
sudo efibootmgr -b 4 -a
进一步阅读
还有更多命令可供OS安装人员首先创建引导菜单选项,并供系统管理员创建网络引导选项。
通过使用以下命令阅读EFI Boot Manager的手册页,可以找到更多关于这些内容的信息:
男人efibootmgr