与 Windows 8.1 成功双启动后,14.04 无法启动

与 Windows 8.1 成功双启动后,14.04 无法启动

有华硕 X551M 笔记本电脑。启动 Windows 8.1 想要双启动 Ubuntu。需要澄清 BIOS 设置。当“BIOS”添加启动选项时,它说它需要 fs0:\path\filename.efi 格式,它到底想要什么?hd0,gpt7 看起来不像是正确的格式,但“Windows 启动管理器 (P0: HGST HTS545050A7E680)”也不像,它是选项 1 和唯一选项。如果我启用 CSM(兼容性支持模式)从 Ubuntu Live DVD 启动,它看起来也不像或“P1: TSSTcorp CDDVDW SN-208FB”,它可用于 DVD。

当我不知道需要知道什么才能解决问题时,很难提出一个简单的问题。无论是华硕还是 American Megatrends,我都找不到更好的“BIOS”设置描述。Aptio Setup Utility 版本 2.15.1236 (c) 2013 bios 版本 504

我试图描述我所做的事情。如果我能访问它,GRUB2 应该能够链式加载到 Windows。我无法读取/查看 hd0、Gpt6,所以不知道那里是否存在 *.efi 文件。Bios 设置启动覆盖如何工作?它声称从文件系统中搜索 shell.efi,但没有找到。任何指向其他来源的指针都将不胜感激。感谢您的考虑。

尝试在我的 ASUS X551M 笔记本电脑的 Celeron N2830 64 位 CPU 上双启动预装的 64 位 Windows 8.1 和 Ubuntu 14.04 Intel x86。安装顺利,但电脑只能启动到 Windows。

从:http://releases.ubuntu.com/14.04/,由以下文本引导:{“有两个可用的映像,每个映像适用于不同类型的计算机: PC(Intel x86)桌面映像 适用于几乎所有的 PC。这包括大多数带有 Intel/AMD/等类型处理器的机器和几乎所有运行 Microsoft Windows 的计算机,以及基于 Intel 处理器的较新的 Apple Macintosh 系统。如果您不确定,请选择此项。 64 位 PC(AMD64)桌面映像 选择此选项可充分利用基于 AMD64 或 EM64T 架构的计算机(例如 Athlon64、Opteron、EM64T Xeon、Core 2)。如果您拥有由 AMD 制造的非 64 位处理器,或者如果您需要完全支持 32 位代码,请改用 Intel x86 映像。” } 我为我的 ASUS X551M 笔记本电脑中的 Celeron N2830 64 位 CPU 选择了 Intel x86,下载了 .iso 文件并刻录了 Live DVD。更改“BIOS”设置以启用 CSM(兼容性支持模式)并禁用安全启动,以便从 DVD 启动并尝试 Ubuntu 正常工作。当我开始安装时,没有与 Windows 8.1 一起安装的选项。我退出,重新启动到 8.1 并制作了一个 USB 恢复驱动器。Ubuntu Live DVD 的下一次安装让我可以选择与我选择的 8.1 一起安装 Ubuntu。安装程序提供将可用磁盘空间分成 50/50 或使用 GUI 将其更改为其他内容,我照做了。根据我对 Ubuntu12.04 的经验,安装按预期进行,并完成 grub-install,然后要求重新启动。

没有 grub 菜单并且重新启动进入 Windows。

Post install, gparted reports the following:
Partition   FileSystem  Mount Point Label   Size    Used    Unused      Flags
/dev/sda1   fat32               SYSTEM  100MiB  29.46MiB70.54MiB    boot
/dev/sda2   ntfs                Recovery900MiB  287MiB  612MiB    hidden,diag
/dev/sda3 ! unknown                 128MiB  --- ---       msftres
/dev/sda4   ntfs                OS  304GiB  29.0GiB 275GiB       msftdata
/dev/sda6 ! unknown                 1.00MiB --- ---     bios_grub
/dev/sda7   ext4  media/ubuntu/UUID         136GiB  5.48GiB 131GiB  
/dev/sda8   linux-swap              3.89GiB 4KiB    3.89GiB
/dev/sda5   ntfs                Restore 20GiB   8.76GiB 11.25Gib   hidden,diag

注意:上面 /dev/sda7 的 UUID 适用于分区 /dev/sda1,即 EFI 系统分区 (ESP)。
“BIOS”添加启动选项表示它需要 fs0:\path\filename.efi 格式。我需要添加 P0:\part7 形式的启动选项吗?如何在 windoweze 中指定分区 7?“保存更改并退出”中的启动覆盖列出了 Windows 启动管理器 (P0: HGST HTS545050A7E680) 这是内置硬盘 P1: TSSTcorp CDDVDW SN-208FB 这是内置 DVD UEFI: Crucial Gizmo! 1100 这是 Windows 8.1 16GB 恢复拇指驱动器 Crucial Gizmo! 1100 这是一个 8 GB 的拇指驱动器,我用它来保存实时 Ubuntu O/S 中的数据

从 DVD 中的 Ubuntu Live 查看的 gpt7 中的 grub.cfg 中有以下几行:

if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt7 --hint-efi=hd0,gpt7 --hint-baremetal=ahci0,gpt7  My-UUID  as listed by gparted above
else
  search --no-floppy --fs-uuid --set=root My-UUID  as listed by gparted above
fi

似乎表明如果有机会,grub 准备通过 EFI 启动 Ubuntu。

我怀疑 gpt6 带有 bios_grub 标志的线索。这可能是 grub 的起点,但我不知道如何将“BIOS”指向此位置。我读到的大多数其他问题都无法进入 Windows。我只能从 Live DVD 进入 Ubuntu,并且必须启用 CSM。我尝试过启用和禁用 CSM,但无法进入 grub。

新:从 Live DVD 安装的 Ubuntu 系统的以下终端结果表明没有 sys/firmware/efi 和 boot/efi,这可能表明安装不是 efi。但是,磁盘上的映像不是正在运行的 Ubuntu 系统,因此也许它们的缺失是由于这些文件是在启动时创建的。是否可以从 Live DVD chroot 到 gpt7,我应该期望这有帮助吗?我注意到一些建议的诊断是 Linux 命令,但我相信它们只为正在运行的系统提供答案。

ubuntu@ubuntu:~$ ls /media/ubuntu/"UUID-of-/dev/sda7"/boot
abi-3.13.0-24-generic     initrd.img-3.13.0-24-generic  memtest86+_multiboot.bin
config-3.13.0-24-generic  memtest86+.bin                System.map-3.13.0-24-generic
grub                      memtest86+.elf                vmlinuz-3.13.0-24-generic
ubuntu@ubuntu:~$ ubuntu@ubuntu:~$ ls /media/ubuntu/"UUID-of-/dev/sda7"/boot/grub
fonts  gfxblacklist.txt  grub.cfg  grubenv  i386-pc  locale
ubuntu@ubuntu:~$ ls /media/ubuntu/"UUID-of-/dev/sda7"/sys
ubuntu@ubuntu:~$ ls /media/ubuntu/"UUID-of-/dev/sda7"/mnt
ubuntu@ubuntu:~$ ls /media/ubuntu/"UUID-of-/dev/sda7"/media

答案1

成功。Grub 菜单首先显示 Ubuntu,其次显示 Windows 启动管理器。两者都可以从 Grub 菜单正常启动。系统设置是第三个选项。

1 尽管描述如下,但 x64 iso 确实是正确的选择http://releases.ubuntu.com/14.04/。非常感谢 ubfan1 清楚地陈述这一事实。

2 Ubuntu_Gnome 和 Ubuntu 64 位都无法看到 8.1 但可以继续“其他操作”。

3 我的“bios”设置在“保存并退出”中有一个名为“引导覆盖”的选项。这对我来说非常重要,因为很难进入“bios”(开机自检期间按 f2)或 bios 启动菜单(开机自检期间按 esc)。虽然我最初没有意识到,但它的工作原理如下:通常只有 Windows 启动管理器出现在这里。但是,如果 UEFI DVD 在开机时位于驱动器中,那么它也会显示在这里。当它显示出来时,选择它并按 Enter 即可从 DVD 启动。

4 感谢使用 UEFI 安装 Ubuntu 和预装的 Windows在副标题“Windows 8 + Ubuntu”下,Windows 的 UEFI 固件设置(即 bios)备用路径。这比 POST 期间的 f2 更可靠。

5 在“其他”GUI 中,按钮可对选定的分区或未分配的空间进行操作。更改按钮允许修改分区。我需要这样做才能将 unix 分区的挂载点定义为 /。

6 AskUbuntu 网站是一个很棒的资源。非常感谢这里的许多答案。

我仍在学习这个网站的运作方式。我希望“答案”是在编辑、评论和答案之间的正确选择。此文本证实了第一个答案,并提供了对我有用的其他数据。

答案2

您早期的错误选择让您陷入了困境。

  1. 使用 64 位 AMD iso,而不是 32 位 iso,它将永远不会在 UEFI 模式下在大多数 UEFI 机器上进行双重启动。
  2. Windows 处于 UEFI 模式,您必须在 UEFI 模式下运行 Ubuntu。如果可以在 UEFI 模式下安装,请这样做。如果 DVD(上面有 64 iso)确实无法在 UEFI 模式下启动,请尝试使用 USB Live 媒体。有些机器确实无法在 UEFI 模式下启动 Ubuntu 安装媒体,因此这些(罕见?)机器需要在兼容模式下安装,然后使用启动修复切换回 UEFI 模式。
  3. 所有 UEFI 引导加载程序都放入 EFI 分区上的 FAT 文件系统中。查看它们对于可以挂载 FAT 文件系统的任何设备(一切!)来说都不是问题。
  4. BIOS 启动会跳转到主启动块,然后跳转到任何文件系统之外的某个二进制 blob,除非您打算安装到可能在非 UEFI 机器上使用的可移动介质,否则不再需要这种启动方式。BIOS 和 UEFI 启动机制可能都存在,但同时存在这两种机制可能会使某些机器感到困惑(从而使用错误的启动机制)。您的 sda6 标记 bios-grub 是旧 BIOS 启动核心的非文件系统分区,不要在那里寻找任何东西。在 /EFI/ubuntu 下的 EFI 分区中查找 Ubuntu UEFI 引导加载程序。它们应该被命名为 shimx64.efi 和 grubx64.efi(如果您不使用安全启动,可能没有 shim)。

阅读这些:

https://help.ubuntu.com/community/UEFI
http://askubuntu.com/questions/221835/installing-ubuntu-on-a-pre-installed-windows-8-64-bit-system-uefi-supported

UEFI 是一个新世界,但如果供应商没有把事情搞得这么糟,这将是一个进步。新:非常感谢 ubfan1 的回答。我将刻录一张带有 64 位 iso 的 DVD,用 gparted 删除旧的 intelx86 分区并重新安装。http://releases.ubuntu.com/14.04/ 让我相信 x64 iso 仅适用于 AMD 或 EM64T 处理器。

相关内容