升级到 16.04 后出现双启动问题

升级到 16.04 后出现双启动问题

在升级到 16.04 期间出现了一些问题(与 shim-signed 和 /boot/efi 问题有关),升级未能完成。经过一番努力,我终于安装好了所有东西,Ubuntu 现在似乎运行正常。然而,在此过程中,我失去了启动 Windows 8 安装的可能性。当我在 grub 中选择该选项时,它说找不到相应的驱动器。efibootmgr 的输出表明(我猜)一切都正确

BootCurrent: 0008
Timeout: 0 seconds
BootOrder: 0008,0000,0001,0002,0003,0004,0005,0006,000A,0007,0009
Boot0000  Setup FvFile(721c8b66-426c-4e86-8e99-3457c46ab0b9)
Boot0001  Boot Menu FvFile(86488440-41bb-42c7-93ac-450fbf7766bf)
Boot0002* Removable Drive   VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,20699b27e1a34f488e97534d40523c1d)
Boot0003* Hard Drive    VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,f5b01cc8ce8e9841b3a8fb94b6dfefee)
Boot0004* USB Storage Device    VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,6895f49a99882e4bb0da03ec784d2828)
Boot0005* CD/DVD/CD-RW Drive    VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,3750dce1249e1748876bee5d3f25ebfb)
Boot0006* Network   VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,6567de8ee595634d842b325e6a43510b)
Boot0007* Network Boot  VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,1b7f7356e3475744a9a6ed8e91832083)
Boot0008* ubuntu    HD(1,GPT,b032ab5d-1a06-4b52-afcb-14954b4b6ab8,0x800,0xfa000)/File(\EFI\ubuntu\grubx64.efi)
Boot0009  Change boot mode setting  FvFile(be77e3c1-eb5a-4a5d-897f-536e8b3c74c0)
Boot000A* Windows Boot Manager  HD(1,GPT,b032ab5d-1a06-4b52-afcb-14954b4b6ab8,0x800,0xfa000)/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.}...H................

我的 fstab 文件如下所示:

# / was on /dev/sda10 during installation
UUID=5cc07bc2-7247-40b6-8290-7edef8b4a39d /               ext4    errors=remount-ro 0       1
# /boot was on /dev/sda9 during installation
#UUID=b22addc5-b969-47bf-a154-f91b6a137dd6 /boot           ext4    defaults        0       2
# /home was on /dev/sda11 during installation
UUID=0aa517c8-aed2-446f-91c2-ecb573598a6d /home           ext4    defaults        0       2
# swap was on /dev/sda8 during installation
#UUID=64342e46-54ea-46bf-826e-5667367e2301 none            swap    sw              0       0
/dev/mapper/cryptswap1 none swap sw 0 0
UUID=b22addc5-b969-47bf-a154-f91b6a137dd6   /boot   ext4    defaults    0   2
UUID=5251-F902  /boot/efi   vfat    defaults    0   1
#UUID=b032ab5d-1a06-4b52-afcb-14954b4b6ab8  /boot/efi   /dev/sda1: PARTLABEL=   defaults    0   1

你知道我应该从哪里开始吗?谢谢。

答案1

我有两个建议,但都不能保证有效:

  • 跑步引导修复-- 此工具可以或多或少自动修复许多启动问题。如果您运行它,请确保从正在运行的 Ubuntu 安装或从启动的紧急磁盘运行它同样的方式(即在 EFI 模式下,如果您的输出有任何指示)。这种方法的缺点是,在极少数情况下,它实际上会使情况变得更糟。这样的问题很少见,但您应该为这种可能性做好准备。
  • 安装我的rEFInd 启动管理器-- 此程序有时可以在 GRUB 无法启动 Windows 时启动它,因此值得一试。您可以尝试在将 USB 闪存驱动器或 CD-R 映像安装到硬盘之前尝试使用它们,这样相对安全;但是,这将要求您至少暂时禁用安全启动(如果当前已启用)。此外,如果安全启动处于活动状态,rEFInd 将要求您在首次启动时注册密钥。在这种情况下,我还建议您安装 Debian 软件包版本,不是PPA,因为Ubuntu 16.04 中的一个错误这会影响 PPA 处理安全启动的方式。

您的问题可能是由于意外删除了 Windows 引导加载程序而导致的。如果是这种情况,上述两种解决方案都不起作用,唯一的修复选项是使用 Windows 恢复磁盘或从备份中恢复 EFI 系统分区 (ESP) 的文件。您可以通过键入以下内容在 Ubuntu 中检查相关文件:

sudo ls /boot/efi/EFI/Microsoft/Boot

该目录中应该有几个文件,包括bootmgfw.efi(主引导加载程序)和许多其他文件。如果该文件不存在,我建议您在尝试 Boot Repair 或 rEFInd 修复之前进一步调查此详细信息。

相关内容