我有一台预装了 Windows 8 的 Sony VAIO S 系列电脑,我在新分区上安装了 Ubuntu 12.10。当 PC 启动时会显示 Grub,我可以在 Windows 8(开始时不起作用,不得不更改 Grub 设置)和 Ubuntu 12.10 之间进行选择。当我选择 Ubuntu 12.10 时,一切正常,但是当我使用 Windows 8 并重新启动时,Grub 不再显示(Windows 8 立即启动)。
我启动了 Ubuntu 12.10 LiveUSB,使用efibootmgr
,并发现 Windows 8(每次启动时)都会将 EFI 默认引导加载程序从 Grub 更改为 Windows 引导管理器。
如何在 Windows 8 中更改这一点?我读了一些关于的内容bcdedit
,但它不起作用,或者我不知道如何使用它……
答案1
我无法做出任何承诺,但请尝试从以管理员权限启动的 Windows 命令提示符窗口执行此操作:
bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi
请注意,{bootmgr}
应准确输入;这不是变量。如果这不起作用,您可以在 Linux 中尝试此操作:
- 备份
/boot/efi
(您的 EFI 系统分区或 ESP)的全部内容。 - 类型
sudo mv /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi /boot/efi/EFI/Microsoft
。 - 类型
cp /boot/efi/EFI/ubuntu/grubx64.efi /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
。 - 创建
/etc/grub.d/40_custom
引用 的新文件条目。以引用 的现有条目为EFI/Microsoft/bootmgfw.efi
模型;只需从启动路径中删除并为该条目指定一个新名称。/boot/grub/grub.cfg
EFI/Microsoft/Boot/bootmgfw.efi
Boot
- 键入
sudo update-grub
以安装新的 GRUB 条目。
重新启动后,GRUB 应该会出现。问题是,如果/当 Windows 决定重新安装其引导加载程序时,系统将再次直接启动 Windows。
对于步骤 4,您可以:
- 复制
40_custom
以 开头的条目,该menuentry 'Windows ...'
条目位于一组### BEGIN <path> ###
和### END <path> ###
标签/评论之间。这是具有包含 的路径的条目Boot
。 /etc/grub.d/40_custom
通过添加复制的来在文件中创建一个新条目menuentry
。- 更改新条目的名称(应为原始名称
Windows Boot Manager
或类似的名称)。 - 将路径从 更改
EFI/Microsoft/Boot/bootmgfw.efi
为EFI/Microsoft/bootmgfw.efi
。
编辑:
自从写这个答案以来,我注意到了一个名为简易UEFI,这是一个比从 Windows 调整 EFI 启动顺序更简单的 GUI 工具bcdedit
。不过,如果 Windows 习惯于在每次启动时将自己设置为默认启动,我不知道 EasyUEFI 是否会阻止 Windows 进行更改。因此,bcdedit
可能仍然需要,但 EasyUEFI 也绝对值得一试。
答案2
如何在 Windows 8 中更改这一点?我读过一些关于 bcdedit 的内容,但它不起作用,或者我不知道如何使用它...
同样的问题,我终于弄清楚了最新的 W8.1 更新造成了这个问题,我知道这一点是因为我今天刚刚更新,而 HP Pavilion 已经 33 天左右没有更新了,所以才出现这个问题。
无论如何,以下是有效的方法:
我按照这个 Utube 视频来停止‘自动 [启动] 修复’:http://www.youtube.com/watch?v=VRQYmtysFkg
然后使用 Rod 提供的上述解决方案更改 bootmgr:bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi
答对了!
顺便说一句:我的 LiveUsb 的启动修复没有起到任何作用,但在 W8 修复其启动项时引起了短暂的闪烁。
答案3
- 跑步启动修复来自
Recommended Repair
liveCD,然后重新启动电脑。 - 如果还是不行,运行 Boot-Repair --> 高级选项 --> 取消勾选“
Backup and rename EFI files
” --> 勾选“Restore EFI backups
” --> 应用
答案4
不知何故Windows 8.1 完全屏蔽了 Ubuntu是这个问题的重复。我不认为是,但我只能在这里评论。我经历了与Windows 8.1 完全屏蔽了 Ubuntu。
就我而言,解决方案是在启动时按 F2 并更改启动顺序,以便 ubuntu 位于列表顶部。出于某种原因,在我将双启动 (Win/ubuntu) 笔记本电脑从 Win 8 升级到 Win 8.1 后,“windows”出现在启动列表顶部,领先于 ubuntu、DVD、USB 等,我的笔记本电脑直接启动到 Windows 8.1,没有给我任何选择。
在启动期间按 F2 并使 ubuntu 位于列表顶部解决了我的问题,并且在我从 Microsoft 商店升级到 Windows 8.1 后,使 ubuntu 再次可访问(以及 Windows 8.1)。