Ubuntu和Linux Mint的UEFI启动菜单项都启动了Ubuntu

我尝试在硬盘的不同分区上安装Ubuntu 16.04和Linux Mint 18,另外两个分区作为/boot安装(每个分区一个)。 这个想法是让两个系统完全独立,并通过笔记本电脑的UEFI启动菜单在它们之间进行选择。 我也希望能够让每个引导加载程序看到另一个。 在未来,我计划添加另一个发行版。

第一件看起来不正常的事情是Ubuntu和Mint的安装程序问我在哪里安装启动加载器,尽管Ubuntu的社区文档说 :

请注意,在UEFI模式安装中,Ubuntu不会询问您在何处安装引导加载程序。 如果确实如此,或者它抱怨缺少BIOS启动分区,您可能会意外地在BIOS / CSM /传统模式下启动。

(我很确定我是在UEFI模式下启动的:在UEFI设置中禁用了“启动CSM”,最后安装的系统在/boot/efi下安装了EFI系统分区。)

由于我必须选择安装引导加载程序的位置,因此我选择将它们安装到相应的/boot分区。

安装Ubuntu后,它出现在UEFI启动菜单中。 检查ESP(EFI系统分区),我发现创建了一个目录/EFI/ubuntu 。 在efibootmgr帮助下,我确定Ubuntu的启动文件是\EFI\UBUNTU\SHIMX64.EFI 。 (事实上​​,我第一次尝试安装Ubuntu时,我选择“不要使用此分区”用于ESP,但它仍被使用。)

之后我安装了Mint,发生的事情是UEFI启动菜单中的“ubuntu”项目开始启动Mint的GRUB而不是Ubuntu的GRUB,我发现再也无法启动Ubuntu了。 事实certificate,Mint用自己的文件覆盖了ESP上的/EFI/ubuntu目录。

我的主要问题仍然存在。

我已经想通了,如果我用以下命令重新安装Mint的GRUB

 sudo grub-install --efi-directory=/boot/efi --bootloader-id=linux-mint 

它将使用其启动“内核”创建一个EFI/linux-mint目录。 以上是上述操作后该目录的内容:

 $ sudo ls -l /boot/efi/EFI/linux-mint total 3546 -rwx------ 1 root root 121 juil. 28 22:05 grub.cfg -rwx------ 1 root root 1067896 juil. 28 22:05 grubx64.efi -rwx------ 1 root root 1271672 juil. 28 22:05 MokManager.efi -rwx------ 1 root root 1289424 juil. 28 22:05 shimx64.efi 

通过UEFI设置,我添加了指向/EFI/linux-mint/shimx64.efi “linux-mint”引导选项,并且它有效。 (我很遗憾现在没有首先删除/EFI/ubuntu目录以进行更清洁的实验)。

我重新安装了Ubuntu,并重新创建了它的/EFI/ubuntu

 $ sudo ls -l /boot/efi/EFI/ubuntu total 3610 drwx------ 2 root root 1024 juil. 28 22:23 fw -rwx------ 1 root root 64352 juil. 28 22:23 fwupx64.efi -rwx------ 1 root root 121 juil. 28 22:25 grub.cfg -rwx------ 1 root root 1067896 juil. 28 22:25 grubx64.efi -rwx------ 1 root root 1271672 juil. 28 22:25 MokManager.efi -rwx------ 1 root root 1289424 juil. 28 22:25 shimx64.efi 

在UEFI启动菜单中,“ubuntu”条目自动与“linux-mint”之前创建的“手动”一起出现。 正如预期的那样,“ubuntu”条目推出了Ubuntu的GRUB。 我用efibootmgr -v检查了UEFI启动菜单,并检查“ubuntu”指向\EFI\UBUNTU\SHIMX64.EFI ,“linux-mint”指向\EFI\LINUX-MINT\SHIMX64.EFI

 $ sudo efibootmgr -v BootCurrent: 0001 Timeout: 1 seconds BootOrder: 0001,0003,0000,0005 Boot0000* Windows Boot Manager HD(1,GPT,e430ad60-82d4-4bbf-93df-dc0690541c64,0x800,0x32000)/File(\EFI\MICROSOFT\BOOT\BOOTMGFW.EFI)WINDOWS.........x...BCDOBJECT=.{.9.dea8.6.2.c.-.5.cdd-.4.e.7.0.-.acc1.-.f.3.2.b.3.4.4.d.4.7.9.5.}...1................ Boot0001* ubuntu HD(1,GPT,e430ad60-82d4-4bbf-93df-dc0690541c64,0x800,0x32000)/File(\EFI\UBUNTU\SHIMX64.EFI) Boot0003* linux-mint HD(1,GPT,e430ad60-82d4-4bbf-93df-dc0690541c64,0x800,0x32000)/File(\EFI\LINUX-MINT\SHIMX64.EFI) Boot0005* Hard Drive BBS(HD,,0x0)..GO..NO........oHGST .HTS5.4.1.0.1.0.A.7.E.6.3.0....................A...........................>..Gd-.;.A..MQ..L. . . . . . .0.S.0.0.1.0.SSTH3.1.FY.......BO..NO........oHFS1.2.8.G.3.9.MNC-.2.3.0.0.A....................A...........................>..Gd-.;.A..MQ..LIE9.5.0.N.7.5.1.2.7.0.9.0.5.I. .P. . ........BO 

我从UEFI启动菜单中选择了“linux-mint”,并启动了Ubuntu的GRUB。 请帮我。

首先启动到你的Ubuntu live CD并:

  1. 做任何你想做的事
  2. 到达分区区域时安装Ubuntu adn:
  3. 为Ubuntu root(/)创建分区,并且:
  4. 用于启动的分区(/ boot)确保它被格式化为FAT32并且:
  5. 设置“install boot-loader to”(您为引导(/ boot)创建的分区和:
  6. 完成安装并启动到UEFI设置。 按(F2)或(DEL)或(F12) – 取决于您的计算机制造商和:
  7. 为Ubuntu添加一个条目导航到Ubuntu的启动分区,然后选择grubx64.efi文件。
  8. 每次启动使用ubuntu时都选择该条目
  9. 为薄荷做同样的事情