当前位置: 首页>>技术教程>>正文


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决定将re-install作为其启动加载程序时,系统将再次开始直接启动到Windows。

对于第4步,您可以:

  1. 复制以menuentry 'Windows ...'开头的40_custom条目,该条目位于一组### BEGIN <path> ###### END <path> ###标签/注释之间。这是具有包含Boot的路径的条目。

  2. 通过添加复制的menuentry在文件/etc/grub.d/40_custom中创建一个新条目。

  3. 更改新条目的名称(原始文件应为Windows Boot Manager或类似名称)。

  4. 将路径从EFI/Microsoft/Boot/bootmgfw.efi更改为EFI/Microsoft/bootmgfw.efi


编辑:

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

次佳解决方法

How do I change this in Windows 8? I read something about bcdedit, but it does not work or I >don’t know how to use it…

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

无论如何,这是有效的:

我按照这个Utube视频停止’自动[Boot] Repair’:http://www.youtube.com/watch?v=VRQYmtysFkg

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

答对了!

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

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/2484.html,未经允许,请勿转载。