双启动 Ubuntu 和 Windows 8 - 未找到操作系统

双启动 Ubuntu 和 Windows 8 - 未找到操作系统

我正在努力尝试在新款 Sony Vaio Pro 上运行 Ubuntu 13.10 和 Windows 8。经过长时间的研究,我感觉自己陷入了困境。

我是从 USB 启动的,让我概述一下我所做的事情(如果太详细请见谅)

安装前:

  • 已停用安全启动
  • 保持 UEFI 启动模式
  • 停用快速启动

最初,当我从 USB 启动(在 EFI 模式下)时,我立即收到内核错误。然后我:

  • 开机后按e键进入grub
  • libata.force=noncq在 grub 中,在以 开头的行末尾添加linux

这解决了问题,安装程序可以运行。(显然这与 SSD 有关。)

在安装过程中,我创建了三个分区,它们全部作为逻辑分区,前两个作为 EXT4。

⠀/root (10GB)
⠀/home (40GB)
⠀swap (2GB)

我知道我应该避免有两个/boot/efi分区,所以我只保留了 Windows 8 分区。

安装成功完成。之后,计算机将立即启动到 Windows 8。我使用 Live USB 安装 Boot Repair,并按照 community/Boot-Repair 提供的说明进行操作

运行 Boot Repair 后,弹出窗口显示检测到 WinEFI 文件,并询问我是否要通过更改它们继续操作。在第一次尝试时,我回答“是”。生成的链接如下:http://paste.ubuntu.com//6726194之后甚至Windows 8也停止启动,错误是未找到操作系统。

根据 Boot 修复程序本身的建议,我再次执行了该过程,这次当提示有关 WinEFI 文件时,我按了“否”。生成的链接是:http://paste.ubuntu.com//6726299。不幸的是,它再次无济于事,我无法启动任何操作系统。计算机建议恢复 Windows 或进入 BIOS。

我尝试将启动选项从 UEFI 更改为 Legacy,但这没有帮助。

如有任何提示我将不胜感激。

答案1

您的配置是非常很奇怪,你的 Boot Repair 输出表明你从总结中省略了很多关键细节。最重要的是:

  • 您已将系统从具有 GUID 分区表 (GPT) 转换为具有主引导记录 (MBR) 分区表。(我假设它最初具有 GPT,因为您说这是一台新计算机;几乎所有搭载 Windows 8 或 8.1 的计算机都使用 EFI 和 GPT。)使用 MBR 对您的所有操作系统都有重大影响。最重要的是,Windows 只会在 BIOS/CSM/旧模式下从 MBR 磁盘启动。
  • 在两次启动修复运行之间的某个时间,您重新分区并安装了 Clover 引导加载程序,也许还安装了 Hackintosh 设置。
  • 您没有正确的 EFI 系统分区 (ESP),尽管您的/dev/sda1分区已经很接近了。要成为 ESP,它需要具有 MBR 类型代码 0xEF,而不是 0x0B。但是,即使进行了此更改,某些 EFI 也可能无法识别 ESP。(另一方面,有些人可能会像现在一样使用它——这是一个没有充分记录或充分测试的领域。)

基本上,像你这样的设置远非正常情况,你不能指望像 Boot Repair 这样的工具来正确处理它。你需要成为一名专家才能让它工作。事实上,作为一名专家(我坚持重新索引启动管理器),我不会修改该配置。相反,我建议的是:

  1. 清除分区表并创建一个空的 GPT 设置。
  2. 创建一个 550MiB ESP 以及您此时想要创建的任何其他分区。(不过,您也可以让部分或全部剩余分区由其各自的操作系统安装程序创建。)
  3. 以 EFI 模式安装 Windows。
  4. 在 EFI 模式下安装 Ubuntu。请参阅我的网页上有此类安装Ubuntu wiki 上有关 EFI 安装的内容寻求指导。
  5. 如果您想使用 Hackintosh 进行三重启动,您可以立即进行设置,但我无法提供有关 EFI 模式 Hackintosh 引导加载程序的太多建议。请在 Hackintosh 网站上询问。但是,如果您需要使用 BIOS 模式 Hackintosh 引导加载程序,您可能会发现 rEFInd 对于启动 Hackintosh 引导加载程序很有用。如果您取消注释选项scanfor并将refind.conf其包含hdbios在其选项中,rEFInd 可以启动 BIOS 模式引导加载程序。我希望现在已经有一个原生的 EFI 模式 Hackintosh 引导加载程序,但我没有跟上 Hackintosh 的发展。

或者,您可以使用 MBR 进行严格的 BIOS/CSM/传统模式启动。这可能更为常见,但世界正在快速转向 EFI 和 GPT,而 OS X 可能更适合使用 GPT。

答案2

您还有一个 live-USB,对吗?

您可能希望从您的某个 Linux 分区安装 grub,因为有时启动修复会失败。让我解释一下。

我们将首先从 live-cd 启动,然后在您的 linux 分区中 chroot,然后调用 update-grub。“chroot”意味着让 shell 认为根目录位于不同的地方。它允许终端访问分区,就像您从 if 启动一样。您apt-get update也可以使用该方法运行。

  1. 从 live-usb 启动。

  2. 在终端(或 shell:ctrl+alt+F1)中,调用sudo fdisk -l

  3. 找到你的 Linux 分区。从现在起,我假设你的分区是 /dev/sda1,但也可能是 sdb2,或者其他

  4. 称呼sudo mount /dev/sda2 /mnt

  5. 也安装文件系统。这允许您在 chrooted 时调用分区的命令。:

    $ mount -t proc none /mnt/proc

    $ mount -o bind /dev /mnt/dev

    $ mount -o bind /sys /mnt/sys

现在,只需调用 sudo chroot/mnt,您就进入了分区。我们将安装、检查和更新 grub:

sudo grub-install /dev/sda
sudo grub-install --recheck /dev/sda
sudo update-grub

请注意,您只调用驱动器名称(sda)而不是分区名称(sda1)。

希望这可以帮助!

o7

相关内容