使用 Ubuntu Live CD 和 ms-sys 工具修复 Windows MBR

kov*_*ova 14 boot bootloader mbr live-environment

我正在尝试使用 Ubuntu live CD 修复 MBR。我已经安装了ms-sys,但是从我看到的线程来看,我不完全确定应该在哪个 /dev 中执行命令:

sudo ms-sys --mbr7 /dev/???
Run Code Online (Sandbox Code Playgroud)

(使用 Windows 7 时 mbr7 是正确的选项吗?)

ubuntu@ubuntu:~$ sudo fdisk -l

Disk /dev/sda: 320.1 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders, total 625142448 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x1f205b1f

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *          38          38           0    0  Empty
/dev/sda2   *        2048      206847      102400    7  HPFS/NTFS/exFAT
/dev/sda3          206848   155854847    77824000    7  HPFS/NTFS/exFAT
/dev/sda4       155854848   625137663   234641408    7  HPFS/NTFS/exFAT
ubuntu@ubuntu:~$ 
Run Code Online (Sandbox Code Playgroud)

为什么是/dev/sda1空的?

我正在尝试修复 MBR,因为在尝试加载操作系统时出现黑屏。

小智 10

要恢复 MBR,公认的方法是使用 Windows CD。我们没有那种奢侈。幸运的是,我们手头有一个 Ubuntu Live USB。

修复MBR的方法是:

  1. 使用 Live USB/CD 启动机器。
  2. 安装 lilo sudo apt-get install lilo
  3. 使用 lilo 使用以下命令修复 MBR: sudo lilo -M /dev/sda mbr

奇迹般有效!


小智 5

首先,您的分区表似乎有两个活动分区,即使您修复了 MBR 的问题,这也可能会阻止您的计算机启动。

Windows 的 MBR 启动有点奇怪,因为它使用“默认”MBR 来加载活动分区的 MBR。在更改引导记录之前,请尝试取消标记分区之一并引导。

如果这不起作用,则该软件包mbr可能值得研究。它能够将“默认”MBR 安装到您的磁盘,它只是从活动分区加载启动代码。

根据您的问题,请自担风险阅读/遵循这些要点。这个东西有能力弄乱你的分区表。dd if=/dev/sda of=table.bin bs=512 count=1首先使用备份它。我还建议备份您的所有文件。如果我正确理解文档,在-w没有额外用户干预的情况下执行这些命令可能会阻止他们编写任何内容。

  • ms-sys /dev/sda 将检查硬盘分区
  • 请阅读此处的文档。从我收集的信息来看,这ms-sys可能非常危险,并且旨在在多种情况下清除整个 MBR 和分区表。您似乎为这项工作使用了错误的实用程序。
  • ms-sys --ntfs /dev/sdaXsdaX您的 Windows 7 分区在哪里。这可能会达到您的预期,但可能不会。

我认为你在这里的工作有错误的效用。这不会“修复”MBR,它会破坏并创建它们。您可能会很幸运,并且新分区表与新分区表对齐,但我不会指望它。尝试启动 grub CD 并chainloader (hd0,<win7 partition>)+1在提示符下键入并查看它是否启动。这将有助于诊断您的问题所在。如果其他方法失败,请使用 Windows 安装目录修复 MBR。