我的电脑是 HP Pavilion P6-2390。我是 Ubuntu 新手。所以请尽可能简单详细地解释一下(如果可以的话,请附上图片)。
所以我做了以下事情。
- 制作一个像 Ubuntu 网站上显示的 Live USB。
- 插入。将启动顺序更改为 UEFI:Sandisk ....
- 对 BIOS 未做任何操作。因此它仍处于 UEFI 和安全启动状态。
- 所以我将它安装在我在 Win 8 中创建的 20GB 分区上。使用“其他”选项并创建了“交换区域”和根分区。
- 安装后,重新启动后出现以下屏幕:
所以我按照其他帖子上的说明进行了引导修复。 - 它说“检测到 EFI!”并给了我这个链接:http://paste.ubuntu.com/6049761/. - 按下“是”和“同意”后,系统要求我禁用安全启动。 - 所以我禁用了安全启动并启用了传统启动。但没用。我也禁用了传统启动,但还是没用。 - 不知怎么的,我进入了 Windows 恢复界面并重新安装了 Win 8。但问题还是没解决。Ubuntu 分区还在那里。
这就是我现在运行计算机的方式。(我自己想出了这个方法)
- 启动计算机后,我立即按 Esc 键显示“启动菜单”。
- 然后我去“运行 UEFI 应用程序...”。
- 然后会弹出一个“文件浏览器”。然后我转到 HDD -> EFI -> ubuntu -> grubx64.efi 以进入 grub。(imgur.com/a/2zaCm)(shim64.efi 似乎也以相同的方式工作)。
- 从 Grub 中我选择“Windows Boot UEFI 加载程序”来启动 Windows 8。
我也可以从 Grub 进入 Ubuntu。
因为我是新手,所以我不能发布超过 2 个链接。
请帮助我正确安装 Ubuntu 而不影响 Win 8 或者安全地删除它?
答案1
在 EFI 下,引导加载程序存储为普通文件并注册到固件中。这比 BIOS 方法更灵活,但它可能导致硬盘上的内容与注册到固件的内容不匹配。您通常可以使用实用程序在 Linux 中进行注册efibootmgr
。您的 Boot Repair 输出显示 GRUB 已不是正确注册(第 934-945 行和第 983-994 行)。这表明efibootmgr
可能无法在您的计算机上运行;但是,尝试手动使用它也不会有什么坏处:
- 使用您的解决方法启动到 Linux。
- 打开终端窗口。
- 类型
sudo efibootmgr -c -p 2 -l "\EFI\ubuntu\grubx64.efi" -L "GRUB (Ubuntu)"
. Be非常小心在输入该命令时。请注意使用引号和反斜杠等细节。(如果您最终想要重新启用安全启动,请在此命令中替换shimx64.efi
为。)grubx64.efi
- 键入
sudo efibootmgr -v
以检查您的输入。验证文件名是否输入正确。 - 重新启动。理想情况下,GRUB 应该作为默认启动程序出现。
如果 GRUB不是出现,然后使用您的解决方法启动到 Linux 并sudo efibootmgr -v
再次输入。如果存在 GRUB 条目,则再次仔细检查是否有拼写错误,并检查该BootOrder
行以查看它是否列为第一个条目。您可能需要重新输入命令以更正拼写错误或使用选项-o
来efibootmgr
调整启动顺序。
如果 GRUB 条目消失了,您可以尝试bcdedit
在 Windows 中使用来解决问题:
- 使用您的解决方法启动 Windows。
- 打开管理员命令提示符窗口。
- 类型
bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi
。 - 重新启动。运气好的话,GRUB 就会出现。
这种方法有时efibootmgr
失败时也有效,所以值得尝试一下。
如果那也失败了,请尝试再次运行 Boot Repair,但这次,单击“高级选项”按钮并选择备份/重命名 Windows 引导加载程序并将 GRUB 放在其位置的选项。(我不记得此选项的确切措辞。)这将实施一个丑陋的黑客行为,即安装 GRUB 代替 Windows 引导加载程序并将 Windows 引导加载程序移动到新位置。这种解决方法很容易导致将来出现问题,但它(或手动完成的类似操作)是使某些系统正常运行的唯一方法。事实上,有些 HP 需要这种解决方案,因此您很可能需要使用它。或者,您可以将计算机退回商店并购买一台没有损坏固件的计算机。如果您这样做,请务必告诉 HP 您这样做的原因;只有退货(以及它们对制造商施加的成本)才能告诉他们应该停止销售垃圾。