如何在没有 CD 的情况下恢复 Windows 7 MBR

Bra*_*sen 21 boot grub2 dual-boot windows-7

我已经玩 Ubuntu 几个星期了,我想将我的电脑恢复到它的原始出厂默认设置。

在我的电脑上有一个恢复分区(它是一个上网本)。我经历了恢复过程,一切似乎都很好。但是,当我重新启动计算机时,我会看到

grub rescue >
Run Code Online (Sandbox Code Playgroud)

现在,我的理解是,当我“并排”安装 Ubuntu 时,它用 GRUB 替换了 MBR 或类似的东西。

我在很多论坛上都读到过,我需要使用 Windows 恢复磁盘。

以下是我的问题:

a) 我没有恢复盘,我有一个恢复分区——它是一台上网本。b) 我没有外置光驱。

我所拥有的是一个 USB 密钥,上面有大约 1GB 的空间。

提前致谢。

Pra*_*weł 21

在您的笔式驱动器上安装 Ubuntu LiveCD,从您的笔式驱动器启动,打开终端并输入:

sudo apt-get install mbr
sudo install-mbr -i n -p D -t 0 /dev/sda
Run Code Online (Sandbox Code Playgroud)

代替 /dev/sda为您的驱动器名称。

什么参数(来自手册页):

--interrupt <mode>, -i <mode>

此选项设置将导致 MBR 显示其提示的事件列表。使用 -i +<event>一个事件添加到列表或-i -<event>以从列表中删除的事件。的值<event>是:

  • s – 按下了 shift 或 control 键。
  • k – 按下了一个非 shift 键
  • a – 始终显示提示。
  • n – 从不显示提示(除非发生错误)。

-p <partn>, --partition <partn>

这指定要加载的默认引导扇区。的有效值为 <partn>

  • 1, 2, 3, 4 指定的分区号。
  • F 第一张软盘。
  • D 分区表中标有可引导标志的分区。

-t <timeout>,--timeout <timeout> 此选项将 MBR 在引导默认分区之前等待的时间更改为以 1/18 秒(大约)指定的值。可以指定的最大超时时间是 65534,大约是一个小时。

如果mbr不在 repo 上,您可以从这里下载 Deb 包。

另一种方法:

sudo apt-get install syslinux
sudo dd if=/usr/lib/syslinux/mbr.bin of=/dev/sda
Run Code Online (Sandbox Code Playgroud)

  • 如果有人解释像 mbr 或 mbr.bin 这样的 linux 命令/文件最终如何恢复/修复 Windows MBR 引导扇区,我将不胜感激.. - 我的意思是 - 这些是两个不同的操作系统,很多人提到 bootsec.exe 并且只能通过 Windows Rescue CD 等修复 Windows MBR - 为什么 linux 命令看起来像是复制 (dd) linux MBR - 对 Windows 分区执行魔术?我很抱歉这种程度的无能,并感谢您的理解 (3认同)

小智 8

您可以下载启动修复盘iso镜像并将其刻录到U盘。然后,启动棒并根据需要修复故障硬盘上的 MBR。32 位和 64 位版本均可用。

在此处输入图片说明

它确实有效,我用它来修复在安装 Debian 期间被 GRUB 意外覆盖 MBR 的 Win7 磁盘。