从UEFI笔记本电脑卸载GRUB

托韦罗

我在Windows 8上安装了Ubuntu,但是决定取消安装Ubuntu。

首先,我启动了Parted Magic,并使用GParted删除了所有ext4和swap分区。

这给了我与安装Ubuntu之前相同的分区:

/dev/sda1 ntfs WINRE_DRV
/dev/sda2 fat32 SYSTEM_DRV (my UEFI partition)
/dev/sda3 fat32 LRS_ESP
/dev/sda4 unknown Microsoft Reserved Partition
/dev/sda5 ntfs Windows8_OS
/dev/sda6 ntfs LENOVO
/dev/sda7 ntfs PBR_DRV

我期望删除分区足以删除Ubuntu,并允许我重新启动到Windows 8,但是每当我启动时,都会出现以下错误:

error: no such partition.

接下来是GRUB救援:

grub rescue>

在我的UEFI分区中,有两个目录BOOTEFI进入的BOOT是单个文件- boot.sdi在该EFI目录中还有另外两个目录,BOOTMicrosoft里面BOOT有两个文件,bkpbootx64.efibootx64.efiMicrosoft目录中有一个名为的目录Boot它里面是普通的Microsoft EFI文件(据我所知)。

思考仍有GRUB文件离开了,我跑find . -iname "*grb*",并find . -iname "*grub*"在UEFI分区,但只发现一个空文件,bootx64.efi.grb(我删除)。

GRUB仍如何安装,如何卸载?

我对UEFI还是很陌生,因此可能需要详细解释。该计算机是Lenovo IdeaPad Z580。

编辑:我忘了提,我删除ubuntu了UEFI分区中文件夹。

编辑2:我设法通过笔记本电脑的BIOS设置中的“系统恢复”选项返回Windows。这可能已解决,也可能未解决。

编辑3:好的,我现在几乎可以正常启动了。引导时,我会看到No partition active几秒钟,然后Windows启动。我该如何删除?

罗德·史密斯

我知道您已经解决了问题,但是我想指出出了什么问题以及应该如何解决(最终用户和Ubuntu开发人员都应解决)。

首先,Ubuntu的开发人员已决定(最不明智地)决定创建GRUB配置,该配置依赖于Ubuntu根(/)分区以及EFI系统分区(ESP)中的文件。这使得GRUB容易受到Linux分区的破坏或损坏,因此,在删除Ubuntu或Ubuntu安装受到某种方式的破坏后,很难引导计算机。此漏洞是不必要的;可以配置GRUB在ESP上查找其所有支持和配置文件。如果以这种方式配置了GRUB(就像Fedora一样),那么删除Ubuntu将不会影响GRUB重定向到Windows的能力。该系统仍将通过GRUB引导,但至少仍将引导。因此,对于在Ubuntu上以错误的方式设置GRUB感到羞耻。

其次,根据您提到的文件名,您似乎已经在某个时候运行了Ubuntu的Boot Repair工具。该工具会自动重命名Windows引导加载程序,EFI/Microsoft/Boot/bootmgfw.efi并将GRUB副本放置在其位置。它与EFI后备启动加载程序相同EFI/BOOT/bootx64.efi,并且将GRUB的另一个副本放到中EFI/Microsoft/Boot/bootx64.efi,原因是我不敢理解。这是针对少数EFI中的错误的解决方法。问题在于引导修复默认情况下会执行此操作在大多数计算机上,它不是必要的。当随后需要更改引导配置时,GRUB的这种重命名和复制变得很复杂,因为用户可以猜测正在发生的事情。因此,对于Boot Repair的开发人员对他们的修复工作不够精打细算感到羞耻。(但是,出于防御目的,引导修复很难可靠地检测到哪些计算机存在需要以默认方式移动引导文件的错误)。

还有一点很重要:在功能正常的EFI系统中,引导程序列表保存在NVRAM中。EFI按顺序尝试此列表中的每个程序;如果一个失败或不存在,则尝试下一个。安装Ubuntu时,它将GRUB的版本添加到列表的顶部。大多数EFI都使用户能够从内置启动管理器中指定要使用哪个启动程序,但是大多数EFI都使用此内置启动管理器。

总结所有这些因素,对于原始问题的最简单解决方案是:

  1. 撤消启动修复工具的更改。可以使用“引导修复”工具本身完成此操作。它具有“高级选项”菜单,带有一个名为“还原EFI备份”的复选框。使用该文件,将删除GRUB的多个副本,并还原Windows的引导加载程序。另外,这可以手动完成。最重要的是,备份bootmgfw.efi(可能称为bkpbootmgfw.efi,尽管某些版本的Boot Repair使用了其他名称)应该复制到EFI/Microsoft/Boot/bootmgfw.efiESP上。
  2. 在正式/适当的位置删除GRUB-适用EFI/ubuntu/grubx64.efi于Ubuntu。如果安全启动处于活动状态,则EFI/ubuntu/shimx64.efi必须删除实际上,EFI/ubuntu在任何情况下,删除整个目录或至少重命名目录都可以完成此工作。

而已。完成这两项操作后,EFI将跳过Ubuntu引导选项,因为它不再有效,并继续引导Windows。尽管这种做法并不普遍,但某些EFI也会自动从其启动管理器的菜单中删除Ubuntu启动选项。

请注意,在您的情况下,马修(Matthew),我不建议您这样做。您已经有了一个有效的配置,正如他们所说,“如果它没有损坏,请不要修复它。” 您的ESP上可能遗留了一些杂散文件,但它们并没有造成任何危害,因此最好不要管它。我提出了我的答案,希望其他人会觉得有用。


编辑:以上是我第一次编写时是正确的,并且原理保持不变;但是,“引导修复”不再自动重命名Windows引导加载程序,而是将其替换为GRUB的另一个副本。(Boot Repair可以选择执行此操作但是该选项隐藏在高级选项菜单上,因此默认情况下不再执行。)这一事实使今天从此问题中恢复的工作比2013年更加容易。在大多数情况下,您只需要删除EFI/ubuntuESP上目录,以使系统直接启动到Windows。如果执行此操作后GRUB仍然出现,则您可能已使用“引导修复”选项来备份和重命名引导文件,在这种情况下,如前所述,可以使用它来撤消那些操作。

另一个选择是使用计算机的内置引导管理器(通常在打开计算机后立即通过按功能键Esc或Enter进行访问)来绕过GRUB并引导到Windows。然后,您可以使用EasyUEFI调整启动顺序和/或ubuntu从启动列表中删除条目。该操作不会从ESP中删除GRUB,但会绕过GRUB。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章