![启动时没有选择 Ubuntu 或 Windows 的选项;已经尝试了很多建议](https://linux22.com/image/852821/%E5%90%AF%E5%8A%A8%E6%97%B6%E6%B2%A1%E6%9C%89%E9%80%89%E6%8B%A9%20Ubuntu%20%E6%88%96%20Windows%20%E7%9A%84%E9%80%89%E9%A1%B9%EF%BC%9B%E5%B7%B2%E7%BB%8F%E5%B0%9D%E8%AF%95%E4%BA%86%E5%BE%88%E5%A4%9A%E5%BB%BA%E8%AE%AE.png)
昨天,我使用 Live CD 在已经装有 Windows 8 的计算机上安装了 Ubuntu 14.04。Ubuntu 安装程序无法识别计算机上的任何操作系统,因此我选择其他内容最后得到了几个分区。(如果有关系的话,我有四个 Windows 分区(恢复、启动、包含我所有文件的主分区,还有一些很小的分区,所以我不担心),外加一个主 Ubuntu 分区/
和交换分区。)
安装 Ubuntu 并重新启动后,启动时没有选择 Ubuntu 和 Windows 的选项;它只是以 Windows 启动。Ubuntu 现已安装,但我无法使用它!
我尝试过的:
- 我尝试使用高级系统设置在 Windows 上启用启动选择,但 Windows 8 也无法识别任何其他操作系统。
- 我在启动过程中按住shift以尝试获取 grub 屏幕,但没有成功。(在完全关闭 Windows 8 后,没有 fastboot 垃圾。)此外,f8没有成功。
其他指南说要进行引导修复。我下载了映像文件,将其刻录到 CD 上,并尝试从中启动,但什么也没发生;Windows 正常启动。我从 Live CD 启动,打开终端,然后(按照指示Ubuntu 论坛上的指南)
sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update
一切都很顺利,直到最后两行:
W: Failed to fetch http://ppa.launchpad.net/yannubuntu/boot-repair/ubuntu/dists/trusty/main/binary-amd64/Packages 404 Not Found E: Some index files failed to download. They have been ignored, or old ones used instead.
这里讨论了 404 HTTP 错误:找不到最新版本 Ubuntu 的启动修复包,所以我采纳了这个建议:
sudo add-apt-repository ppa:yannubuntu/boot-repair sudo sh -c "sed -i 's/trusty/saucy/g' /etc/apt/sources.list.d/yannubuntu-boot-repair-trusty.list" sudo apt-get update sudo apt-get install -y boot-repair && boot-repair
启动修复成功了(哇哦!),运行了几秒钟后,弹出一个窗口,提示
检测到 EFI。请检查选项。
我选择修复最常见的问题。它告诉我在 BIOS 中禁用 SecureBoot。
它思考了一下,然后告诉我将其放入一个新的终端:
sudo chroot "/mnt/boot-sav/sdb5" dpkg --configure -a sudo chroot "/mnt/boot-sav/sdb5" apt-get install -fy sudo chroot "/mnt/boot-sav/sdb5" apt-get purge-y --force-yes grub* shim-signed linux-signed*
我被提示继续,并要求将以下内容复制粘贴到终端中:
sudo chroot "/mnt/boot-sav/sdb5" apt-get install -y --force-yes grub-efi-amd64-signed shim-signed linux-signed-generic
继续之后,说修复时出错了,记下来此网址以及发送电子邮件[电子邮件保护]如果我仍然有启动问题。它还提醒我在 BIOS 中禁用 SecureBoot。
我禁用了 SecureBoot,但什么都没有改变。Windows 仍然像以前一样启动。
我再次从 Live CD 启动并打开了我的 grub 文件。
sudo gedit /etc/default/grub
grub 文件出现了,我
#
在 前面添加了一个GRUB_HIDDEN-TIMEOUT=0
,保存,然后在终端中写道:sudo update-grub
这反过来:
/usr/sbin/grub-probe: error: failed to get canonical path of '/cow'.
这就是我所能得到的。一点运气都没有。有人能帮我找出我做错的地方吗?
答案1
现在 EFI 已禁用,请尝试重新安装。您也可以使用 SuperGrubDisk
http://www.supergrubdisk.org/wizard-restore-grub/
我不是专家,但我怀疑 EFI 阻止了 Grub 被放置在 MBR 上。
答案2
在启动修复中使用高级选项(左下角)不推荐
在启动修复中打开高级选项
在高级选项=>主要选项中(无需更改)
高级选项=>GRUB 位置(选择“将 grub 放入”选择“sda”)
高级选项=>GRUB 选项(选择“重新安装前清除 grub”)
高级选项=>其他选项(如果已选中“修复 Windows 启动文件”和“检查互联网连接”,则取消选择)
这可能会用 grub 覆盖你的 windows 引导加载程序,然后你可以从 grub 引导加载程序中选择操作系统
答案3
像往常一样登录您的帐户,然后在终端中输入以下内容
(对于终端,请按Ctrl+ Alt+ T):
sudo update-grub
此后,您会在最后一行看到其他操作系统的名称(在您的情况下是 Windows 8)
此后,照常重新启动,您就会看到双启动菜单。
答案4
如果您的 BIOS 是 UEFI BIOS,那么我会确保在 BIOS 中检查它是否设置为启动到您的 GRUB efi 文件。
应该有一个菜单,您可以在其中选择从启动分区启动哪个。启动分区内应该有一个名为 GRUB 的文件夹。该文件夹中应该有一个将启动到 GRUB 的 efi 文件。
祝你好运。