在 UEFI 机器上安装 Ubuntu 13.10 后无法启动

在 UEFI 机器上安装 Ubuntu 13.10 后无法启动

我的最终目标是让 Ubuntu 在我的新款 Sony Vaio Pro 13(一款 Haswell 超极本)上运行。硬件似乎得到了很好的支持,因为我可以启动 LiveCD 并根据需要充分使用系统。

Sony Vaio Pro 13 具有 UEFI BIOS,似乎与预装的 Windows 8 紧密集成。我尝试了多种安装 Ubuntu 13.10 的方法,但都无法让我的机器启动到 Ubuntu。

当 BIOS 转为传统模式进行安装时,在安装即将结束时,它会因内核崩溃而严重崩溃(“未同步:试图终止 init!”)。在启用 UEFI(安全启动已关闭)的情况下安装完美成功。但是,重新启动后,我只收到一个 BIOS 屏幕,提示 Vaio 无法启动 Windows。切换到传统模式后,出现“未找到操作系统”错误。

据我所知,这台机器的 BIOS 根本没有调出启动选择菜单的选项。在传统模式下安装时,Ubuntu 安装程序会识别到 Windows 8 的存在,我要求它在双启动配置中安装。在 UEFI 模式下安装时,安装程​​序会识别到之前尝试的 Ubuntu 安装(因内核崩溃而失败),但根本没有提到 Windows 8。我要求安装程序删除之前的 Ubuntu 安装并替换它。安装成功,没有问题,但我的系统处于无法启动 Ubuntu 或 Windows 8 的状态。我并不十分关心保留 Windows 8,但我希望能够启动某些操作系统来使用机器……现在我只是使用 LiveCD,它运行得很好。

我是一位经验丰富的 Linux 用户和软件开发人员,但我对 UEFI 带来的变化不太熟悉。有没有办法检查磁盘上是否存在 GRUB?有没有办法强制重新安装它?

答案1

你的 Boot Repair 输出对我来说看起来不错——据我所知,你应该计算机启动时会引导至 GRUB。不过,这可能是因为固件存在问题,因此您可以查看 Sony 的网站以获取更新。(当然,如果您需要启动 Windows 来更新固件,情况可能会很糟糕。)如果您可以更新固件但问题仍然存在,请重新运行 Boot Repair可能解决问题。

您可以尝试的另一件事是准备 CD-R 或 USB 闪存驱动器,其中包含我的rEFInd 启动管理器。(该站点上有两种媒体类型的下载链接。)如果 rEFInd 启动,它应该会提供一个带有各种选项的菜单。Windows 选项应该可以工作,通过 GRUB 启动的 Ubuntu 选项也应该可以工作。还应该至少有一个启动vmlinuz*文件的选项。除非您按 F2 或两次 Insert 来编辑内核选项,否则此选项将不起作用。添加ro root=/dev/mapper/ubuntu--vg-root应该可以工作。如果您可以通过 rEFInd 进入 Linux,则可以尝试安装 rEFInd Debian 包。通常,这会将 rEFInd 设置为您的默认启动管理器,从而解决您的问题。(这还将消除手动添加内核选项的需要。)不幸的是,考虑到您问题的性质,我不确定这是否适合您,但值得一试。

如果无法将 rEFInd 安装到硬盘上,您可以继续摆弄 EFI 固件设置,以找到解决方法。检查手动安装 rEFInd替代命名选项rEFInd 文档的部分内容,以获得一些想法。或者,如果 USB 闪存驱动器可以作为解决方法,您可以购买一个小型 USB 闪存驱动器来容纳 rEFInd,并将其永久安装在计算机的 USB 端口之一中。(有些驱动器非常小——完全插入时几乎齐平。)

还有一条评论:您的 Boot Repair 输出表明保存根 () 文件系统的卷组的名称不一致/。有时是/dev/mapper/ubuntu--vg-root,但有时是/dev/mapper/ubuntu-vg-root。在我看来,前者是正确的,而后者是 Boot Repair 脚本本身的错误导致的,但值得记住这种不一致。我隐约记得过去听说过有人-在卷组名称中使用破折号 ( ) 并导致问题的案例,但我不记得细节了。这不太可能是您当前问题的根源,因为听起来好像没有可以读取卷组的东西在启动,但是如果您让 rEFInd 或 GRUB 启动,但在系统完全启动时遇到问题,您可能只需尝试删除整个物理卷并重新安装,这次使用缺少破折号的卷组名称。

答案2

我无法让 Linux 使用 GPT 磁盘分区启动。也许将 BIOS 启动模式从 UEFI 切换到 Legacy 也会删除 GPT 支持。在以传统 MBR(MSDOS)格式写入新分区表后,我可以启动。

答案3

我遇到了同样的问题。但有时(万中无一)笔记本电脑会启动。执行您执行的所有操作,传统模式等,然后执行此操作。

通过添加,可以轻松修复

libata.force=noncq

到内核​​选项。您可以通过按下egrub 菜单并将其添加到以 linux 开头的行来执行此操作,以便它看起来像:

linux /boot/vmlinuz-3.x.x-xx-generic root=UUID=0000000-0000-0000-0000-000000000000 ro    quiet splash libata.force=noncq $vt_handoff

然后按 F10 继续。

启动后编辑 grub 配置以使更改持久生效。

gksudo gedit /etc/default/grub

然后更换

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

和:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash libata.force=noncq"

然后运行

sudo update-grub

然后重新启动。

这里可能有一些有用的信息:https://wiki.archlinux.org/index.php/Sony_Vaio_Pro_SVP-1x21

相关内容