我有一台全新的PC,预装了Win10。我在单独的硬盘上安装了Ubuntu 15.04,没有任何问题。
但是,在第一次(成功)启动后,当我重新启动计算机时,计算机直接进入 grub 终端,其中包含基本的类似 BASH 的命令。当我退出时,计算机重新启动进入 grub,我就可以启动任一操作系统。
为了确保万无一失,我重新安装了 Ubuntu。完全相同的行为:首次启动成功,后续启动进入类似 BASH 的终端。退出后恢复正常服务。
这显然不是一个严重的问题,因为我总是可以进入 grub 然后使用我的机器。不过,这很烦人。
我认为该问题与 UEFI 有关,因为我的另一台运行老式 BIOS 的 Win10 机器没有受到此问题的影响。
关于可能存在什么问题以及如何解决,您有什么建议吗?
更新:
这是一个屏幕截图链接grub 屏幕(通过 Dropbox;由于是新注册的,因此不允许上传照片)。这是新安装,因此不存在其他 grub 安装。
奇怪的是,每次我启动实时 USB 时,之后的第一次重新启动都不会出现此问题 - 但仅出现一次。
答案1
这是您的efibootmgr
输出,显示您的启动顺序:
BootCurrent: 0004
Timeout: 2 seconds
BootOrder: 0004,0000,0002,0003,0001
Boot0000* ubuntu HD(1,408,82000,7a967035-e35d-4f5d-a27e-c85c9929f966)File(EFIUBUNTUSHIMX64.EFI)
Boot0001* UEFI: Built-in EFI Shell Vendor(5023b95c-db26-429b-a648-bd47664c8012,)..BO
Boot0002* Windows Boot Manager HD(1,408,82000,7a967035-e35d-4f5d-a27e-c85c9929f966)File(EFIMICROSOFTBOOTBOOTMGFW.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.}...a................
Boot0003* ubuntu HD(1,408,82000,7a967035-e35d-4f5d-a27e-c85c9929f966)File(EFIUBUNTUGRUBX64.EFI)
Boot0004* UEFI: SanDisk ACPI(a0341d0,0)PCI(1a,0)USB(1,0)USB(4,0)HD(1,20,ee7fe0,64ad344f)..BO
请注意,您的BootCurrent
是0004
,并且您的首先BootOrder
显示0004
。此项似乎是 SanDisk 设备的启动,可能处于 BIOS/CSM/传统模式。这似乎是/dev/sdd
,有证据表明其上安装了 SYSLINUX 和 GRUB。我的直觉是这就是问题所在——您的系统正在从此 SanDisk 设备以 BIOS 模式启动 GRUB;然后当您退出时,它会尝试其他启动选项,从0000
( ubuntu
) 开始,这有效。
如果我是对的,那么有几种可能的解决方案:
- 永久移除 SanDisk 设备,或者至少在启动时移除它。根据它的大小,我猜这是一个 USB 闪存驱动器或类似的东西,但我对此并不确定。
- 在 Ubuntu 中,键入
sudo efibootmgr -o 0000,0003,0002,0001
以重置启动顺序以忽略 SanDisk 设备并将工作的 Ubuntu 条目放在首位。不过,根据您的描述,此解决方案可能不会永久有效;您的固件可能出于某种原因将 SanDisk 条目推到列表顶部。这导致了下一个可能性…… - 进入固件并调整设置。有两点特别值得注意:
- 禁用兼容性支持模块 (CSM),又称“旧版启动支持”或类似的说法。如果我没记错的话,问题出在 BIOS 模式启动上,因此禁用 BIOS/CSM/旧版支持应该可以消除该问题。
- 调整固件中的启动顺序,将可运行的 Ubuntu 选项(可能
Boot0000
)提升到列表顶部,并将 SanDisk 条目移到底部或完全将其消除。
不幸的是,我无法更详细地说明固件设置,因为不同型号的固件设置实用程序的进入方法和更改选项的细节差异很大。在大多数情况下,您可以在计算机启动时(在 GRUB 出现之前)按 Delete、Enter 或功能键进入固件设置实用程序。如果您在此过程中遇到问题,可能需要在专门讨论制造商硬件的论坛上提问。
编辑:
回复您的评论:首先,忘记您所知道的有关计算机如何启动的一切!您指出您尝试了“引导扇区修复”,但这是 BIOS 思维。您不再拥有 BIOS;您拥有 EFI。此 EFI 可以通过称为兼容性支持模块 (CSM) 的东西来引导 BIOS 模式操作系统,但您的操作系统显然未在此模式下安装。因此,尝试 BIOS 模式修复选项充其量只是徒劳无功。更糟糕的是,如果您的固件设置为启用 CSM,那么您会使引导路径复杂化,并使所有事情更难诊断。这是我最初回复的第三个选项的第一个子选项的基础——禁用 CSM(如果已启用)可能会让一些问题消失。因此,我在此重申该建议:检查您的固件设置,如果启用了 CSM(又名“传统引导支持”),禁用它。
接下来,考虑到你的问题,你可能想给我rEFInd 启动管理器尝试一下。启动 Ubuntu 后,您可以从 Debian 包或 PPA 安装它。如果成功,rEFInd 将接管您的主要启动程序。另一方面,导致您恢复到无功能 GRUB 的任何事情都有可能继续,在这种情况下 rEFInd 将成为另一个复杂因素。