从UEFI笔记本电脑卸载GRUB

我安装了Ubuntu和Windows 8,但是已经决定unisntall Ubuntu。

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

这使我在安装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目录中还有另外两个目录, BOOTMicrosoftBOOT内部有两个文件, bkpbootx64.efibootx64.efiMicrosoft目录中有一个名为Boot的目录。 里面是普通的Microsoft EFI文件(据我所知)。

想到还有GRUB文件,我跑了find . -iname "*grb*" find . -iname "*grb*"find . -iname "*grub*" find . -iname "*grub*"在UEFI分区中,但只找到一个空文件bootx64.efi.grb (我删除了)。

GRUB如何安装,如何卸载?

我对UEFI很新,因此可能需要详细解释。 这台电脑是联想IdeaPad Z580。

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

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

编辑3:好的,我现在几乎可以正常启动了。 当我启动时,我看到No partition active几秒钟然后Windows启动。 我怎么能删除它?

我意识到你已经解决了这个问题,但是我想指出出了什么问题以及应该如何解决它(最终用户和Ubuntu的开发人员)。

首先,Ubuntu的开发人员决定 – 最不明智 – 创建一个依赖于Ubuntu根( / )分区中的文件以及EFI系统分区(ESP)的GRUB配置。 这使得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中的错误的解决方法。 问题是Boot Repair 默认执行此操作 在大多数计算机上, 没有必要。 当随后需要对引导配置进行更改时,GRUB的这种重命名和复制变得复杂,因为用户只能猜测发生了什么。 因此,Boot Repair的开发人员对他们的维修工作感到羞耻。 (但是,在他们的辩护中,Boot Repair很难可靠地检测哪些计算机具有需要以默认方式移动启动文件的错误。)

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

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

  1. 撤消引导修复工具的更改。 这可以使用Boot Repair工具本身完成; 它有一个高级选项菜单,其中包含一个名为“还原EFI备份”的复选框。 使用它,将删除GRUB的多个副本,并将恢复Windows的引导加载程序。 或者,这可以手动完成。 最重要的是, bootmgfw.efi的备份(可能称为bkpbootmgfw.efi ,虽然某些版本的Boot Repair使用了其他名称)应该复制到ESP上的EFI/Microsoft/Boot/bootmgfw.efi
  2. 在官方/适当的位置删除GRUB – 用于Ubuntu的EFI/ubuntu/grubx64.efi 。 如果安全启动处于活动状态,则需要删除EFI/ubuntu/shimx64.efi 。 事实上,删除整个EFI/ubuntu目录,或者至少重命名它,无论如何都可以完成这项任务。

而已。 有了这两件事,EFI将跳过Ubuntu启动选项,因为它不再有效并继续启动Windows。 一些EFI也会自动从启动管理器的菜单中删除Ubuntu启动选项,尽管这种做法并不普遍。

请注意,在你的情况下,马修,我不建议做这些事情; 你有一个正常工作的配置,正如他们所说,“如果它没有坏掉,就不要修理它。” 您可能在ESP上留下了一些流浪文件,但它们没有造成任何伤害,因此最好不要管它。 我已经提出了我的答案,希望其他人会觉得它很有用。


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

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

我知道这个post已经老了,但是当我试图为自己解决这个问题时,我在自己的搜索中遇到了它,并且我发现了一个解决方案,当我没有其他答案时,我需要分享!

我在我的笔记本电脑上和Windows 10一起使用双启动的Ubuntu。我决定删除Ubuntu,并删除了它的分区,但是grub仍然在中断我的启动加载程序。 在尝试了论坛上留下的大量建议后,我终于遇到了一种疯狂简单的图形化方法,将其删除。 (所以,免责声明,我不知道任何其他版本的Windows是否有此选项)

但我所做的只是F12,而计算机正在启动以进入启动选项。 在其他选项下,我选择了BIOS设置 。 在左侧,我选择了Boot Sequence,然后它列出了我不同的启动选项,我可以选择它们来改变它们的顺序或删除它们或我想要的任何东西。 我所要做的就是确保只标记“ubuntu”,然后单击Delete Boot并退出。 它继续登录屏幕,我重新启动我的笔记本电脑只是为了仔细检查它解决了我的问题,它有!

好的,所以这对我认为的每台计算机都不起作用,但这就是为修复它的原因。

首先,我通过笔记本电脑上的BIOS选项启动“System Recovery”。 这让我可以进入Windows,但是每当我启动后,我都会收到一条消息,说在Windows启动之前No partition active一秒钟。 通过执行以下操作我摆脱了这个:

  1. 启动到Windows
  2. SHIFT +点击“重新启动”
  3. 故障排除
  4. 高级
  5. 命令提示符
  6. 运行bootrec.exe /fixmbr

并重新启动。 现在消息不再出现,一切似乎正常。

我做的是卸载Ubuntu之后 – 你可以用一些卸载程序,或者简单地启动到Ubuntu live CD或USB stick并用GParted格式化Linux分区 – 我也格式化了EFI分区(FAT32)然后做了从Windows安装磁盘恢复Windows启动。

我不得不提到我阅读了许多建议和教程,并且使用不起作用的方法丢失了大量时间。 最后,我做了唯一似乎合乎逻辑的东西,重新安装Windows,它就像一个魅力。

在Surface Pro上,可以通过从UEFI菜单中选择“重新安装安全启动密钥”选项来绕过Grub 2。