在 Windows 8 上安装 Ubuntu 后如何显示 GRUB?

在 Windows 8 上安装 Ubuntu 后如何显示 GRUB?

我安装了 Windows 8在那之后我安装了 Ubuntu。这是我的分区:

  • 70GB-->Windows 8
  • 50GB-->Ubuntu 12.10
  • 100Mb-->UEFI
  • 300Mb——>恢复

我在 上安装了 GRUB /dev/sda。然后,在 GRUB 没有显示并直接启动到 Windows 8 后,我关闭了笔记本电脑,再次启动到 Ubuntu LiveCD 并运行引导修复实用性,它给了我此信息但它并没有解决问题。

我的笔记本电脑仍能直接启动到 Windows 8,甚至没有出现 GRUB 或 Ubuntu。

答案1

按照以下步骤在 Ubuntu 上安装 Boot-Repair

打开终端并运行以下命令

sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install boot-repair

安装完成后,如果您使用 Gnome,可以从系统->管理->启动修复菜单启动它;如果您使用 Unity,则在面板中搜索“启动修复”。然后按照以下屏幕截图操作:

方法 1

  • 点击高级选项

初始屏幕

  • 勾选下面显示的选项

高级选项

  • 将选项卡改为Grub Location选项卡,并勾选如图所示的选项

在此处输入图片描述

按“应用”并重新启动系统

方法 2

  • 选择推荐的启动修复选项,如第一张截图所示

答案2

有可能发生以下两种情况之一:

  • Ubuntu 没有完全安装其引导加载程序,在这种情况下,您需要使用efibootmgrLinux 紧急磁盘中的程序来完成这项工作。总的来说,这似乎不太可能,但我希望这种可能性是正确的。
  • 您的固件是众多违反 EFI 规范的错误设计之一,它启动了 Windows,尽管另一个启动加载程序已正确配置为默认启动加载程序。

有几种可能的解决方案,具体取决于发生的情况以及您对如何进行的个人偏好。这些包括:

  • 启动 Linux 应急磁盘在 EFI 模式下并键入sudo efibootmgr -c -p 2 -d /dev/sda -l "\EFI\ubuntu\grubx64.efi" -L "Ubuntu"以重新注册 Ubuntu 的引导加载程序到 ESP。/dev/sda如果您的引导方法将当前内容更改/dev/sda为其他内容,则可能需要更改。根据您使用的光盘,您可能还需要安装并在使用前efibootmgr执行。仅当我对错误的第一个假设正确时,此方法才有效。insmod efivarsefibootmgr
  • 运行启动修复工具并让它修复问题。这个方法很有可能奏效,而且很容易做到,但它的修复方式可能会在日后引发更多问题。如果它不起作用,那么解决问题将变得更加困难。
  • 挂载 EFI 系统分区(ESP;您的 /dev/sda2),将文件下移EFI/Microsoft/Boot/bootmgfw.efi一级(使其为EFI/Microsoft/bootmgfw.efi),然后复制EFI/ubuntu/grubx64.efiEFI/Microsofot/Boot/bootmgfw.efi。这是 Boot Repair 要做的关键事情,但方式略有不同。然后您需要修改文件,/boot/grub/grub.cfg然后才能启动 Windows。我不确定脚本是否update-grub会自动获取更改。它可能会,但如果不会,您需要在 中/etc/grub.d/40_custom为 的新位置创建一个新的 Windows 条目bootmgfw.efi
  • 下载并安装我的重新索引程序。有几种方法可以做到这一点,每种方法都有自己的怪癖和注意事项。如果您可以让非启动安装启动,例如使用超级 GRUB 2 磁盘,安装 Debian 软件包可能会成功(但不一定)。根据安装方式,rEFInd 可能能够直接启动 Linux,而无需使用 GRUB。

答案3

这很可能是一个违反 UEFI 规范的固件。

要解决此问题,请运行Boot-Repair--> Advanced options--> 勾选Backup and rename EFI files--> Apply。如有疑问,请指明将出现的新 URL。

答案4

  1. Ubuntu 加载时按 F12
  2. 修复模式
  3. 蛴螬
  4. 等待
  5. 重启

相关内容