Windows 8删除Grub作为默认启动管理器

我有预装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东西,但是它不起作用或者我不知道如何使用它…

我不做任何承诺,但是从具有管理员权限的Windows命令提示符窗口中尝试此操作:

 bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi 

请注意, {bootmgr}应该完全输入; 那不是变数。 如果这不起作用,您可以在Linux中尝试:

  1. 备份/boot/efi (您的EFI系统分区或ESP)的全部内容。
  2. 键入sudo mv /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi /boot/efi/EFI/Microsoft
  3. 键入cp /boot/efi/EFI/ubuntu/grubx64.efi /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
  4. 创建一个引用EFI/Microsoft/bootmgfw.efi的新/etc/grub.d/40_custom文件条目。 在/boot/grub/grub.cfg中的现有条目之后对其进行建模,该条目引用EFI/Microsoft/Boot/bootmgfw.efi ; 只需从引导路径中删除Boot ,并为该条目指定一个新名称。
  5. 键入sudo update-grub以安装新的GRUB条目。

重新启动时,GRUB应该出现。 麻烦的是,如果/当Windows决定重新安装其引导加载程序时,系统将再次开始直接启动到Windows。

对于第4步,您可以:

  1. 复制以menuentry 'Windows ...'开头的40_custom条目,位于一组### BEGIN ###### END ### tags / comments之间。 这是包含Boot的路径的条目。
  2. 通过添加复制的menuentry在文件/etc/grub.d/40_custom创建一个新条目。
  3. 更改新条目的名称(原始文件应为Windows Boot Manager或类似名称)。
  4. 将路径从EFI/Microsoft/Boot/bootmgfw.efiEFI/Microsoft/bootmgfw.efi

编辑:

自写这个答案以来,我已经意识到第三方Windows工具EasyUEFI,这是一个比bcdedit更简单的GUI工具,用于从Windows调整EFI启动顺序。 我不知道EasyUEFI是否会阻止Windows进行更改,但是,如果Windows习惯在每次启动时将自己设置为默认值。 因此,可能仍然需要bcdedit ,但EasyUEFI也绝对值得一试。

如何在Windows 8中更改此设置? 我读了一些关于bcdedit的东西,但它不起作用或我>不知道如何使用它…

同样的问题在这里,我终于想通了这个最新的W8.1更新做到了这一点,我知道因为我今天刚刚更新并且还没有33天左右我的HP Pavilion告诉我..

无论如何,这是有效的:

我按照这个Utubevideo停止’自动[启动]修复’: http : //www.youtube.com/watch?v = VRQYmtysFkg

然后使用Rod提供的上述解决方案更改了bootmgr:bcdedit / set {bootmgr} path \ EFI \ ubuntu \ grubx64.efi

答对了!

顺便说一句:从我的LiveUsb启动修复确实虚无功,但在W8修复其启动条目时导致短暂闪烁。

  1. 从liveCD运行Boot-Repair的Recommended Repair ,然后重启电脑。
  2. 如果仍然不好,运行Boot-Repair – > Advanced options – > untick“ Backup and rename EFI files ” – >勾选“ Restore EFI backups ” – > Apply

我只有一个答案的一部分:一个工作的解决方案几乎可以,直到我找到如何永久修复它。

有同样的问题:thinkpad边缘随windows 8发货; 安装ubuntu作为双启动,大多数时候忘了窗户,直到8.1出来,我想我会试一试,然后再删除Windows。 因此在安装8.1之后,grub在启动时不再出现但是当我按下F12然后出现一个不同的菜单允许我启动ubuntu。 这就是我现在开始计算机的方式:但每次我忘记按F12它仍然启动Windows(我几乎从不想要)。

所以按F12有一段时间(不确定这是否适用于你的情况,但它可能值得一试)。 我知道有关于如何恢复grub的说明,但在我完全确定之前我不会做任何事情。

不知何故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)。

使用Acer E17上的Windows 10和Ubuntu 14.04,我遇到了类似的问题(Windows启动管理器接管,无法在启动时访问Grub)。 我按照上面Rod Smith提供的说明,但没有运气。 (非常好的指示,顺便说一句)

我在引导顺序下的BIOS中找到了一个设置,它首先列出了Windows启动管理器,然后列出了HDD秒。 我交换了它们,保存并退出/重新启动,Grub马上就出现了。

我在别处读到有些BIOS有一个快速启动选项,你可能也需要禁用它,但我没有。

在某些计算机上,BIOS Settings控制UEFI分区中* .efi文件的引导优先级。 我发现我的惠普Pavilion 15-f039wm笔记本电脑确实如此,但它并不是很明显它有这个function。 在BIOS中设置它会直接搞乱.efi文件并使用bcdedit。

对于该机器,我按F10进入BIOS设置,然后按光标并选择“Boot Options”。 可以重新排列UEFI引导优先级的选项,其中之一是“OS Boot Manager”。 但是,该选项具有额外的function,如果我突出显示它并按Enter键,则会弹出一个用于在“OS Boot Manager”中重新排列“ubuntu”和“Windows Boot Manager”的优先级。 我用“F5 / F6”将“ubuntu”置于顶部,用F10保存弹出窗口的内容,然后再次按F10保存并退出BIOS Setup。

现在没有每次启动干预,我得到了Grub菜单,默认启动Ubuntu。 我仍然可以通过Grub菜单启动到Windows,或者通过干预F9获取UEFI启动管理器菜单来获得安全启动。

该BIOSfunction有助于解释为什么看起来UEFI代码覆盖了我在Ubuntu中使用efibootmgr进行的BootOrder更改。