如何在 EFI 系统上通过 Elementary OS 重新安装 Ubuntu?

如何在 EFI 系统上通过 Elementary OS 重新安装 Ubuntu?

首先,介绍一下背景。我成功实现了 Ubuntu 13.04 和 Windows 8(预装)的双启动。我禁用了安全启动。我必须进入 BIOS 设置并更改磁盘顺序以选择 Ubuntu 作为第一个磁盘(它将 Ubuntu 创建为启动设备)。Grub 会打开,但我只看到 Ubuntu。我打开 Ubuntu 并运行启动修复,然后当我重新启动时,我可以看到 Ubuntu 和 Windows 8。两个操作系统都运行正常。

在搞乱 Ubuntu 后,我决定重新安装。但是我决定在 Ubuntu 上安装 elementary OS。由于我只有 1 个 Ubuntu 分区(不包括交换分区),我只需删除该分区,重新创建一个 ext4 分区,并将引导加载程序保留在其默认位置(我相信是 dev/sa)。重新启动后,唯一的选项仍然是 elementary OS,因此我再次运行引导修复,果然我的 Windows 8 恢复了。尝试了两种方法,它们都有效。然后我在使用 elementary OS 时遇到了一些麻烦,因此我决定再次重新安装 Ubuntu。我重复了与之前相同的步骤,删除了包含 elementary OS 的 1 个分区,并在新创建的分区上安装了 Ubuntu。

这就是我的问题开始的地方。安装完成后重新启动时,我只会看到一个空白屏幕。因此,我决定再次查看我的 BIOS 设置,我注意到 elementary 仍然在启动设备中,而不是 Ubuntu。我想也许在实时 USB 中启动并再次运行启动修复可以修复它。运行推荐的操作,重新启动,仍然看到空白屏幕。查看 BIOS 中的启动设备,elementary 仍然在那里。

我尝试了几种不同的启动修复设置,但总是出现空白屏幕。出于某种原因,我似乎无法从启动设备列表中删除 elementary。在安装 elementary 之前,Ubuntu 是我可以选择的启动设备。

关于如何从那里删除 elementary 并重新添加 Ubuntu 以便我可以加载 grub 并从我的两个操作系统中进行选择,有什么想法吗?

答案1

使用@oldfred 的建议

我从 USB 启动并运行

sudo efibootmgr -v 

“-v”选项显示所有条目,以便您可以确认删除的是正确的条目。输出类似于

BootCurrent: 0000
Timeout: 1 seconds
BootOrder: 0000,0001,0002,0003,0004,0005
Boot0000* elementary    HD(1,GPT,887f27c1-1cfd-42a8-8d04-c3b41ba74a74,0x800,0x100000)/File(\EFI\UBUNTU\GRUBIA32.EFI)
Boot0001* Windows Boot Manager  HD(1,GPT,887f27c1-1cfd-42a8-8d04-c3b41ba74a74,0x800,0x100000)/File(\EFI\MICROSOFT\BOOT\BOOTMGFW.EFI)
Boot0002* ubuntu    HD(1,GPT,887f27c1-1cfd-42a8-8d04-c3b41ba74a74,0x800,0x100000)/File(\EFI\UBUNTU\GRUBX64.EFI)
Boot0003* UEFI:CD/DVD Drive BBS(129,,0x0)
Boot0004* UEFI:Removable Device BBS(130,,0x0)
Boot0005* UEFI:Network Device   BBS(131,,0x0)

然后使用组合来-b ####指定条目并-B删除它,比如说我想删除Boot0000* elementary HD...,我会这样做:

sudo efibootmgr -b 0000 -B

参见man efibootmagrefibootmgr 手册页

我删除了基本菜单项并再次运行启动修复。这次一切正常。

相关内容