卸载 GRUB 并使用 Windows 引导加载程序

mro*_*ive 180 boot grub2 dual-boot windows bootloader

我预装了 Windows 8,然后我用 Ubuntu 安装了 GRUB。Ubuntu 不是我的菜,所以现在我想将它与 GRUB 一起删除。据我所知,使用 UEFI,GRUB 不会覆盖 EFI 分区中的 Windows 引导加载程序,而是存储在其他地方。我将如何删除 GRUB 并让我的 PC 使用 Windows 引导加载程序?需要注意的是,我在安装 Ubuntu 时创建了一个单独的 /boot 分区。

arm*_*ive 334

这个答案适用于那些在删除 grub 之前删除了 Ubuntu 分区的 UEFI

您将从 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:并按回车键,其中 Z 是您刚刚创建的驱动器号。
  9. 键入dir以列出此挂载的 EFI 分区上的目录
  10. 如果你在正确的地方,你应该看到一个名为 EFI
  11. 输入cd EFI然后dir列出里面的子目录EFI
  12. 键入rmdir /S ubuntu删除ubuntu的boot目录

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

  • 哇,一切都在你说的地方! (13认同)
  • 我更喜欢这个解决方案,因为我不想创建一个可启动的设备并且它运行良好 (4认同)
  • 美丽的!!经过数小时的尝试,唯一对我有用的东西! (4认同)
  • 这对我有用,但我仍然有一个问题:这实际上是删除了 grub 还是在后台仍然发生了一些事情,grub 将东西交给了 Windows 引导加载程序? (3认同)
  • 这是有效的解决方案。由于 GPT,MBR 不再存在。 (3认同)
  • 现在如何在文件资源管理器中显示指定的字母后删除它 (3认同)
  • 对于那些可怕的“找不到系统引导顺序。初始化默认值”错误,这会导致重新启动循环,我不得不按 F2 并选择“Windows 引导管理器”。其他一切都像魅力一样工作! (2认同)
  • 如果您只想为 EIF 系统分区分配驱动器号,则 DISKPART 有点复杂 – 您可以将步骤 2-7 折叠为单个“mountvol Z: /s”命令。 (2认同)
  • 收到错误“虚拟磁盘服务错误:不允许在当前启动或页面文件卷上分配或删除驱动器号。” (2认同)

小智 79

要恢复 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

  • 似乎对我不起作用。Grub 出现,直到我按退出。更新了 NTFS 文件系统引导代码。由于在更新期间无法锁定卷,因此更新可能不可靠:访问被拒绝。\??\PhysicalDrive0 引导代码仅在 MBR 分区磁盘上更新。此磁盘上使用了不同的分区方案。引导代码已在所有目标卷上成功更新。PS C:\WINDOWS\system32&gt; (12认同)
  • 这是迄今为止最好的解决方案,一分钟,无需安装盘,需要 USB (5认同)
  • 一些 CISCO Talos 烦恼软件阻止我在我的操作系统中执行此操作,但从 Windows 10 开始,您**不再需要安装盘**来执行此操作。我刚刚做了这个没有一个的操作;您需要做的就是注销以便您在登录屏幕上,然后开始按住 Shift,然后按右下角的电源图标,然后单击重新启动,现在松开 Shift。这将打开与修复盘相同的菜单。您只需转到疑难解答&gt; 高级选项&gt; 命令行并运行`bootsect /nt60 c: /mbr`。Grub 将在瞬间消失。 (2认同)
  • 错误的解决方案:**更新可能不可靠**,因为更新期间无法锁定卷:访问被拒绝。\??\PhysicalDrive0。1. 重新启动并按 F12 **打开 BIOS** 屏幕(可能是 F8 或 F2,具体取决于您的型号)。2. 您应该看到 Ubuntu Grub 作为第一个引导加载程序,Windows 作为第二个引导加载程序。3. 按照 BIOS 中的说明更改顺序。该视频可能会有所帮助 - https://www.youtube.com/watch?v=46OofQo1W_4 (2认同)

小智 24

您可以使用 Windows 8/8.1 DVD 恢复 Windows 引导加载程序。这些说明的灵感来自 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 文件系统将其删除或重新格式化。


小智 18

为此,您需要一个 Windows 安装 cd/dvd

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


小智 14

在 Windows 10 中删除引导加载程序 EFI/系统分区

快速指南

以管理员身份打开 PowerShell

mountvol S: /S
S:
cd .\EFI\
dir
rd /S Ubuntu
Run Code Online (Sandbox Code Playgroud)

细节

管理员 PowerShell

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

将 EFI/系统分区挂载为卷

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

mountvol S: /S
Run Code Online (Sandbox Code Playgroud)

访问挂载卷

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

cd S:
Run Code Online (Sandbox Code Playgroud)

为确保我们位于该卷的根目录,我们应该执行:

cd\
Run Code Online (Sandbox Code Playgroud)

通过dir 命令键入以列出当前路径的条目以确保您在正确的路径上。

dir
Run Code Online (Sandbox Code Playgroud)

它应该是这样的:

Directory: S:\


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----       2019-01-17     12:55                EFI
-a----       2018-10-16     10:57             31 startup.nsh
Run Code Online (Sandbox Code Playgroud)

删除引导加载程序

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

cd .\EFI\
dir
Run Code Online (Sandbox Code Playgroud)

您的输出取决于您安装的引导加载程序,这里是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
Run Code Online (Sandbox Code Playgroud)

现在您可以通过命令 Remove-Item和参数 -Recurse删除不需要的加载程序。

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

Remove-Item -Recurse .\ubuntu
Run Code Online (Sandbox Code Playgroud)

  • 在 PowerShell 而不是命令 'rd /S ubuntu' 中,我不得不使用 'Remove-Item ubuntu'.. 感谢分享这个解决方案! (3认同)
  • 只有你的回答对我的情况有效。谢谢! (2认同)
  • 从现在的自己到未来的自己的注意事项:*这是唯一有效的解决方案* (2认同)
  • 对于具有 EFI 的系统来说,这是正确的答案,特别是如果您将 Linux 安装在单独的驱动器上,这是最佳方法。天哪,有这么多复杂的答案,但做起来真的很简单。 (2认同)

old*_*red 8

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

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

/EFI/Boot
/EFI/Microsoft
/EFI/ubuntu
Run Code Online (Sandbox Code Playgroud)

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

从 liveDVD 或 flash 并使用 efibootmgr

sudo efibootmgr -v
Run Code Online (Sandbox Code Playgroud)

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

sudo efibootmgr -b XXXX -B
Run Code Online (Sandbox Code Playgroud)

也可以看看

man efibootmgr
Run Code Online (Sandbox Code Playgroud)


小智 8

对我有用的是:

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


小智 6

没有CD、USB、DVD。没有长教程。

在 UEFI 上,您所要做的就是:

Place Windows boot entry in NVRAM as first.

如何做到这一点 - 几种解决方案。

最简单的解决方案是使用固件功能并重新排序 NVRAM 启动项。


归档时间:

查看次数:

1002351 次

最近记录:

4 年,4 月 前