卸载Grub并使用Windows Bootloader


76

我预先安装了Windows 8,然后在Ubuntu中安装了Grub。Ubuntu不是我的事,所以现在我想将其与grub一起删除。据我了解,使用UEFI,Grub不会覆盖EFI分区中的Windows引导程序,而是存储在其他位置。如何删除grub并使我的PC使用Windows引导程序?应该注意的是,我在安装Ubuntu时创建了一个单独的/ boot分区。

Answers:


132

此答案适用于那些使用UEFI并在删除grub之前已删除Ubuntu分区的用户

您将在Windows 10上执行此操作。不需要可启动媒体。

在哪里bootrec /fixmbrbootsect /nt60以及Ubuntu接受boot-repair建议的地方都失败了,这对我有用:

(这个答案是从这里逐字借来的)

  1. cmd.exe使用管理员权限运行进程
  2. diskpart
  3. 键入:list disk然后sel disk XX是启动文件所在的驱动器
  4. 键入list vol以查看磁盘上的所有分区(卷)(EFI卷将以FAT格式格式化,其他将为NTFS)
  5. 通过键入以下内容来选择EFI卷:sel vol Y其中Y是SYSTEM卷(这几乎总是EFI分区)
  6. 为了方便起见,请键入以下内容来分配驱动器号:assign letter=Z:其中Z是空闲(未使用)驱动器号
  7. 键入exit以保留磁盘部分
  8. 仍然在cmd提示中时,键入:Z:并按Enter键,其中Z是您刚创建的驱动器号。
  9. 键入dir以列出此已挂载EFI分区上的目录
  10. 如果在正确的位置,应该会看到一个名为 EFI
  11. 键入cd EFI,然后dir列出其中的子目录EFI
  12. 键入rmdir /S ubuntu以删除ubuntu引导目录

假设您只有两个操作系统(Win 10和Ubuntu),您现在应该能够直接启动Windows,而不会遇到黑屏。


3
我更喜欢此解决方案,因为我不想创建可启动的设备,而且效果很好
Efi Kaltirimidou

4
哇,一切都恰好在您说的地方!
stackOverlord

1
这对我有用,但是我仍然有一个问题:这实际上是删除grub还是在后台仍然发生了什么事情,其中​​grub将东西移交给Windows引导加载程序?
布拉姆

2
这是有效的解决方案。由于GPT,MBR不再存在。
dev_nut

1
美丽!!经过数小时的尝试,唯一对我有用的东西!
安东

42

若要还原Win 10默认引导加载程序,请按照下列步骤操作:

  • 登录到Win 10
  • 打开命令提示符(管理员)
  • c:\> bootsect /nt60 <drive name>: /mbr

<drive name> 是将在其中更新主引导记录(MBR)的驱动器号

例如,要更新C主引导记录,这是以下命令:

c:\> bootsect /nt60 c: /mbr

如需更多帮助,有关的bootsect命令在这里看到的- https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/bootsect-command-line-options


3
到目前为止,这是最好的解决方案,一分钟,无需安装磁盘,需要USB
Pavel Niedoba

2
某些CISCO Talos恼人的软件阻止了我在自己的操作系统中执行此操作,但是从Windows 10开始,您不再需要安装磁盘来执行此操作。我刚刚进行了一次没有任何操作的操作;您所需要做的就是注销,然后进入登录屏幕,然后按住Shift键,然后按右下角的电源图标,然后单击Restart,现在放开Shift键。这将打开与修复盘相同的菜单。您只需转到疑难解答>高级选项>命令行并运行bootsect /nt60 c: /mbr。Grub会立即消失。
SeinopSys

8
似乎不适合我。Grub出现直到我按退出。更新了NTFS文件系统引导代码。由于卷在更新期间无法锁定,因此更新可能不可靠:访问被拒绝。\ ?? \ PhysicalDrive0引导代码仅在MBR分区磁盘上更新。此磁盘上使用了不同的分区方案。引导代码已在所有目标卷上成功更新。PS C:\ WINDOWS \ system32>
Menasheh's

1
/ mbr有什么作用?我正在寻找有关bootsect的文档,但找不到关于/ mbr的任何信息。

@PieTillIDie / mbr表示主引导记录,这肯定是有关写入MBR的信息,以覆盖其中放置的grub。
David Faure

18

您可以使用Windows 8 / 8.1 DVD还原Windows Bootloader。这些说明的灵感来自Manindra Mehra的答案,但我使用了完整的工作细节进行了扩展(已通过Windows 8.1 DVD验证)。

  1. 将DVD放入光盘驱动器并从中启动。

  2. 在显示时按一个键Press any key to start from CD or DVD

  3. 选择您的语言等,然后单击Next

  4. 点击Repair your computer

  5. 点击Troubleshoot

  6. 点击Advanced Options

  7. 点击Command Prompt

  8. 在命令提示符窗口中,键入 bootrec /fixmbr

  9. 单击红色X以关闭命令提示符。

  10. 点击Turn off your PC

  11. 重新打开PC,它应该直接启动进入Windows。

这会将Ubuntu分区保留在硬盘或SSD上。删除它:

  1. Windows+,X然后选择Disk Management

  2. 找到Ubuntu分区。这可能是一个没有驱动器号的大分区。

  3. 确保您具有正确的分区!

  4. 右键单击该分区,然后使用Windows文件系统将其删除或重新格式化。


17

为此,您将需要Windows安装CD / DVD

  1. 将其放入光盘驱动器并从中启动
  2. 在要求您安装Windows的安装屏幕上,单击屏幕左下角的“ 修复计算机
  3. 现在转到命令提示符(它可能会显示一个窗口,提示“正在尝试自动修复窗口”,将其关闭)并键入 BootRec.exe /fixmbr
  4. 完成后,GRUB消失了,您现在可以直接启动进入Windows
  5. 您的计算机上有一个Ubuntu分区,该分区未显示在“我的电脑”中,请右键单击“我的电脑”并选择“管理”,然后转到“磁盘管理”
  6. 选择Ubuntu分区并将其格式化为Windows可以使用的文件系统。

为了完整起见,还要从efi引导菜单中删除ubuntu。我想,这应该作为第7步
艺博扬

请通过解释如何转到命令提示符来修复步骤3。Michael Geary的答案更加完整。此答案使我不必要地重置了PC,因为我不知道如何进入命令提示符。
Felo Vilches

6

使用UEFI,您在efi分区中既有Windows文件夹又有Ubuntu文件夹。UEFI读取efi条目并将其添加到其自己的NVRAM中以记住它们。您必须先从efi分区中删除ubuntu文件夹,否则UEFI将重新添加它。然后,您必须从UEFI中删除UEFI条目。

您应该在efi分区中拥有这些文件夹。仅删除ubuntu文件夹。实时安装程序应显示文件夹。而且,如果只有Windows,则必须从Windows内部装入efi分区,因为通常不会挂载它。

/EFI/Boot
/EFI/Microsoft
/EFI/ubuntu

您不必安装Ubuntu,但可以使用实时安装程序DVD或闪存驱动器。某些UEFI系统可能会让您从UEFI菜单进行UEFI编辑。

从liveDVD或Flash并使用efibootmgr

sudo efibootmgr -v

“ -v”选项显示所有条目,因此您可以确认要删除正确的条目,然后使用“ -b ####”(用于指定条目)和“ -B”(用于删除它)。示例5是删除:

http://linux.dell.com/cgi-bin/gitweb/gitweb.cgi?p=efibootmgr.git;a=blob_plain;f=README;hb=HEAD

http://software.intel.com/zh-CN/articles/efi-shells-and-scripting/


这对指导我需要做的事情很有帮助。我可以从此处使用信息删除Windows中的ubuntu分区:superuser.com/questions/662823/…–
flickerfly

从活动的USB记忆棒开始,从efibootmgr -v开始,然后使用-b 0002 -B在Windows上的“ fixmbr”似乎不起作用之后对我有用,并且该解决方案似乎比其他一些解决方案容易得多。
卡斯珀尔

2

您也可以使用USB记忆棒进行此工作。它需要三个应用程序:Unetbootin,FreeDOS和DOS的Testdisk。

  1. 首先下载Unetbootin并使用它制作可引导的USB记忆棒。当提示您安装发行版时,选择“ Freedos”。
  2. 下载用于DOS的Testdisk(不要选择beta,而是选择稳定版本)。
  3. 解压缩文件testdisk.exe和CWSDPMI.exe,然后将它们放在可启动的记忆棒上(不是直接放在文件夹中)。
  4. 从记忆棒引导计算机。在“默认”窗口中,只需按Enter。
  5. 现在FreeDOS正在启动。选择:,FreeDOS Safe Mode (don't load any drivers)然后按Enter。
  6. 然后键入:C:,然后按Enter。
  7. 现在键入:,testdisk然后按Enter。
  8. 选择[No Log]并按Enter。
  9. 选择相关的硬盘驱动器:通常是第二个选项(第一个选项是记忆棒本身),然后按Enter。
  10. 选择[Intel]并按Enter
  11. 选择[MBR Code]并按Enter。出现提示时,键入y(是),然后再次按Enter。

现在您完成了!正常重启计算机。您的计算机应立即启动Windows。


1
欢迎来到AskUbuntu!由于这似乎是复制粘贴,因此请在回答的最后考虑链接到原始页面。
TheSchwa '16

1

如果其他所有方法都失败了!


我的方法上方的那个人在较新的EFI计算机上不起作用。我解决了问题。这是我的方法。警告,您必须先重新安装Linux / grub!

步骤:(这是其他什么都不起作用且需要很长时间的情况)

1:重新安装Ubuntu / Linux mint(这是为了使您可以使用GRUB引导进入Windows)。

1.5:重新启动并启动到Windows(如果无法启动到Windows,则从CD或USB进行实时启动,然后在控制台中运行以下命令:

如果您有Windows修复盘,则可以选择UEFI固件选项并从那里加载Windows(以避免重新安装Linux)

引导修复(如果现在需要)


sudo add-apt-repository ppa:yannubuntu/boot-repair

sudo apt-get update

sudo apt-get install -y boot-repair && (boot-repair &)

1g:选择建议的维修方式,然后按照屏幕上的说明进行操作。

2g:完成后,重新启动。您应该会看到grub菜单,即使您可以从此处引导到Windows,这也不是我们想要的...但是找到引导进入Windows的选项。


2:启动Windows后,运行磁盘分区编辑器并删除与Linux / grub相关的所有分区。尤其要确保删除了grub小分区。重启

2.5:确保Windows loader是第一个选择的引导设备。(很可能是)。禁用Ubuntu选项。继续启动。

3:如果到目前为止您已经完成了所有操作,您应该看到(取决于您的计算机)您的启动屏幕一秒钟,然后它将变成一个错误屏幕,表明启动存在错误。(最有可能“ Winload.exe丢失或损坏”)。

3.5:别惊慌(我曾经)。下一步将还原您的原始引导程序。

4:重新启动并引导到Linux CD或USB。

5:一旦启动,请再次从上方运行启动修复命令。这次运行时。它将以不同的方式运行,没有检测到要重新安装的grub引导加载程序,并且应该比以前运行得更快。

6:完成后,重新启动。

7:享受GRUB免费系统!

当我没有其他操作时,这对我有用,我运行了bootrec.exe。没事。这节省了我的计算机生命。希望它能保存您的!


1

没有CD,USB,DVD。没有冗长的教程。

在UEFI上,您要做的就是:

Place Windows boot entry in NVRAM as first.

如何执行-几种解决方案。

最简单的解决方案是使用固件功能并对NVRAM引导项进行重新排序。


1

对我有用的是:

  1. 启动至Windows
  2. 赢+ X
  3. 命令提示符(以管理员身份)
  4. bcdedit /set {bootmgr} path \EFI\Microsoft\Boot\bootmgfw.efi
  5. 重启

1

对于具有GPT分区表的系统,@ Ganesh Kondal提供的方法无效。使用bootsect /nt60 C: /mbr将表明它确实起作用,而实际上却没有。使用bootrec /fixmbr将导致错误:“系统找不到指定的文件”。如果出现上述情况,请执行以下操作(以Windows 10为例):

  1. 在登录提示下,按住Shift键,单击电源按钮,选择重新启动,然后松开Shift键
  2. 选择疑难解答->高级选项->命令行
  3. 在命令行输入 bcdboot <drive name>:\windows

有关更多详细信息,请参见此网页:https : //www.tenforums.com/general-support/74226-bootmgr-error-cant-find-fix.html


0

在Windows 10中删除Boot Loader EFI /系统分区

快速指南

以管理员身份打开PowerShell

mountvol S: /S
S:
cd .\EFI\
dir
rd /S Ubuntu

细节

管理员PowerShell

在开始菜单的Windows搜索中输入powershell。查找带有标签“ Windows PowerShell ” 的蓝色图标,右键单击该图标,然后在上下文菜单中选择“以管理员身份运行”

将EFI /系统分区挂载为卷

在给定的驱动器上安装EFI系统分区,请使用/ S参数使用mountvol命令。您可以选择任何所需的免费驱动器号。举些例子”。

mountvol S: /S

存取安装卷

现在该分区已安装。我们可以通过使用cd命令和驱动器号S:作为参数更改为驱动器访问已装载的卷

cd S:

为了确保我们成为本书的根源,我们应该执行以下命令:

cd\

通过dir命令键入以列出当前路径的条目,以确保您位于正确的位置。

dir

它看起来应该像这样:

Directory: S:\


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----       2019-01-17     12:55                EFI
-a----       2018-10-16     10:57             31 startup.nsh

删除引导加载程序

您的引导加载程序位于EFI目录中。使用cd命令更改为它,并通过dir命令列出条目。

cd .\EFI\
dir

您的输出取决于您已安装的引导加载程序,这是Windows和Ubuntu示例

Directory: S:\EFI


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----       2018-12-06     06:55                Ubuntu
d-----       2018-12-05     05:21                Microsoft
d-----       2019-01-17     12:55                Boot

现在,您可以通过命令rd和参数/ S 删除不需要的装载​​程序。

不要删除引导目录或Windows目录!

rd /S ubuntu
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.