我安装了 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 没有完全安装其引导加载程序,在这种情况下,您需要使用
efibootmgr
Linux 紧急磁盘中的程序来完成这项工作。总的来说,这似乎不太可能,但我希望这种可能性是正确的。 - 您的固件是众多违反 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 efivars
efibootmgr
- 运行启动修复工具并让它修复问题。这个方法很有可能奏效,而且很容易做到,但它的修复方式可能会在日后引发更多问题。如果它不起作用,那么解决问题将变得更加困难。
- 挂载 EFI 系统分区(ESP;您的 /dev/sda2),将文件下移
EFI/Microsoft/Boot/bootmgfw.efi
一级(使其为EFI/Microsoft/bootmgfw.efi
),然后复制EFI/ubuntu/grubx64.efi
到EFI/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
- Ubuntu 加载时按 F12
- 修复模式
- 蛴螬
- 等待
- 重启