如何从 Windows 修复 Windows 10 引导加载程序

Cod*_*fly 47 boot bootloader mbr grub windows-10

我在安装了 Windows 10 的系统上安装了 Ubuntu。我可以使用 GRUB 正常启动到 Windows 或 Ubuntu。我想删除 Ubuntu 分区,但首先我必须恢复 Windows 10 MBR。

Windows RE 中使用 Bootrec.exe 来解决启动问题(适用于 Windows 7 和 Windows Vista)中,他们说使用 Bootrec.exe 和 options /FixMbr /FixBoot,但是当我在命令提示符下键入“bootrec.exe /FixMbr”时,Windows 说:

'bootrec.exe' 未被识别为内部或外部命令。

我说我可以启动到 Windows 10 并从那里运行命令提示符(我不需要使用安装介质),但我不知道该输入什么。

sna*_*yob 88

Windows 8/8.1/10 中用于修复 MBR 的命令是“bootsect.exe”。

bootsect /nt60 drive_letter: /mbr
Run Code Online (Sandbox Code Playgroud)

这修复了映射到“drive_letter:”的分区的引导记录以及放置该分区的磁盘的 MBR。

C:\Windows\system32>bootsect

bootsect {/help|/nt60|/nt52} {SYS|ALL|<DriveLetter>:} [/force] [/mbr]

Boot sector restoration tool

Bootsect.exe updates the master boot code for hard disk partitions in order to
switch between BOOTMGR and NTLDR.  You can use this tool to restore the boot
sector on your computer.

Run "bootsect /help" for detailed usage instructions.
Run Code Online (Sandbox Code Playgroud)

或者,您可以使用“双启动修复工具”,它具有 bcdboot.exe、bootsect.exe 的图形界面和其他有用的功能,如引导扇区视图和......适用于 Windows 10/8/7 的一键双启动修复功能/Vista(也可以修复 Windows XP 启动文件)。

  • 这个!!...谢谢。在我使用 ubuntu 双重启动并尝试删除 ubuntu 后,默认 Windows 10 的华硕 ROG 似乎没有任何工作。我只是登录到 Windows 并使用了visiual dualbootrepair。我曾尝试过 easybcd 和 live ubuntu usb bootrepair(因为我赢得了 10 张 cd)......这些都没有奏效......这有效......一整天,但你的回答救了我......谢谢! (3认同)

Nat*_*055 13

此处给出的其他答案在 MBR/BIOS 系统上效果很好,但是,如果您像我一样使用 UEFI 系统,bootsect则只需在GPT 保护性 MBR 上编写半功能启动 MBR,并bootrec给出“拒绝访问”错误消息,并且都没有修复损坏的EFI 系统分区的功能选项,该分区在 UEFI/GPT 驱动器上包含曾经存储在 MBR 中的引导加载程序。不幸的是,几乎没有关于修复 UEFI Windows 启动管理器的最新指南(几乎所有指南都只是说运行图形启动修复实用程序,但这并不能在所有情况下解决问题),但我终于找到了正确的解决方案埋在本文中,这需要使用bcdboot命令来代替:

  1. 获取媒体创建工具,为自己制作一个 Windows 10 安装 DVD 或 USB 驱动器,然后启动它。

  2. 出现提示时,依次选择“修复计算机”、“疑难解答”、“高级选项”,最后选择“命令提示符”。

  3. 运行diskpart然后list volume。请注意 EFI 系统分区 (ESP) 的卷号。

  4. 现在做select volume x(其中x是 ESP 的卷号)然后assign letter=N:挂载分区。list volume再次运行并注意 ESP 现在分配了一个驱动程序号。跑exit离开diskpart

  5. (可选)如果您当前不是双引导并且希望在编写新引导加载程序之前完全清理 ESP,请运行format N: /FS:FAT32以将其重新格式化为 FAT32。然而,这在正常情况下可能不是必需的,因为bcdboot它本身似乎可以很好地清理事物。如果您在另一个分区上有 Linux 发行版,尤其不要这样做,否则一旦完成此操作,您还必须重新安装 GRUB。另请注意,只要您不以其他方式删除 ESP 上的 GRUB 现有目录,以下步骤不应影响 EFI GRUB 安装。

  6. 最后,将新的引导加载程序写入带有bcdboot C:\windows /s N: /f UEFI. 此命令使用安装在 C:\windows 的 Windows 安装在安装在 N: 的 ESP 上重建新的 UEFI 兼容引导加载程序。完成后,您可以通过运行来验证新的引导加载程序是否已写入dir N:\EFI,您应该在其中看到一个Microsoft包含新 Windows 引导管理器的boot目录以及一个包含备用引导加载程序的目录(以及您已安装的任何其他引导加载程序的其他目录,例如作为 Linux 的 GRUB)。

  7. (可选)如果您是双引导,您可能需要引导到您的 Linux 发行版并运行sudo update-grub以允许 GRUB 脚本检测并添加新的 Windows 引导加载程序。您还应该跳过下一步并将 GRUB 作为您的第一引导选择,以便您可以访问两个操作系统。

  8. 现在启动到您的 BIOS 设置并确保“Windows 启动管理器”设置为首选启动选项。保存并重新启动,您将最终回到 Windows。


小智 9

我遇到了以下问题:

我有 Ubuntu 和 Windows 10,并使用 Windows 10 删除了 Ubuntu 分区。重新启动后,我收到Partition not found错误并自动进入 GRUB。

这是我解决它的方法:

  1. 刻录了一张 Windows 10 CD,进入故障排除,然后我进入了 Windows 控制台。
  2. 然后我输入:(bootsect /nt60 drive_letter: /mbr用你的字母替换 drive_letter。例如,对我来说是C: /mbr)。
  3. 它终于奏效了。

我希望这也能为与我有同样问题的人澄清解决方案。

  • 这对我不起作用。它仍然继续引导到 GRUB。我也试过 GUI 工具。有什么建议? (2认同)
  • @Thufir:[创建 Windows 10 系统修复光盘](http://www.howtogeek.com/131907/how-to-create-and-use-a-recovery-drive-or-system-repair-disc-in -windows-8/) (2认同)