我正在努力尝试在新款 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 这样的工具来正确处理它。你需要成为一名专家才能让它工作。事实上,作为一名专家(我坚持重新索引启动管理器),我不会修改该配置。相反,我建议的是:
- 清除分区表并创建一个空的 GPT 设置。
- 创建一个 550MiB ESP 以及您此时想要创建的任何其他分区。(不过,您也可以让部分或全部剩余分区由其各自的操作系统安装程序创建。)
- 以 EFI 模式安装 Windows。
- 在 EFI 模式下安装 Ubuntu。请参阅我的网页上有此类安装和Ubuntu wiki 上有关 EFI 安装的内容寻求指导。
- 如果您想使用 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
也可以使用该方法运行。
从 live-usb 启动。
在终端(或 shell:ctrl+alt+F1)中,调用
sudo fdisk -l
找到你的 Linux 分区。从现在起,我假设你的分区是 /dev/sda1,但也可能是 sdb2,或者其他
称呼
sudo mount /dev/sda2 /mnt
。也安装文件系统。这允许您在 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