如何恢复丢失的 MBR/引导扇区?

如何恢复丢失的 MBR/引导扇区?

我有一个 VDI(VirtualBox 虚拟磁盘映像),上面安装了 Ubuntu 11.10(我认为是 64 位)。之前,当我在虚拟机上运行 GParted Live CD 来擦除另一个磁盘的分区表时,我无意中删除了我的 Ubuntu VDI 的分区表,而不是其他磁盘的分区表(我知道,在继续操作之前不 100% 确定我正在处理哪个磁盘是愚蠢的,但我之前已经做过很多次了,我甚至没有想到要检查一下)。

确定方向后,我尝试寻找一种方法来恢复损坏。我设法恢复了我的/dev/sda1分区和交换分区(尽管它现在已经脱离了之前的扩展分区),使用测试磁盘

问题是,现在,当我启动 VDI 时,只看到一个黑屏,没有任何提示,也没有任何生命迹象。

我尝试将 TestDisk 的 MBR 安装到磁盘上,现在当我运行虚拟机时,它会显示 TestDisk 的 MBR 提示符。但是,当我告诉它启动到我的 Ubuntu 分区时,它一直显示黑屏。

有没有什么办法可以克服这种情况?我认为问题可能出在分区的引导扇区内(现在我还必须在 MBR 上重新安装 GRUB 或某些东西)。


编辑:这里有一些额外的信息。

磁盘管理

user@debian:~$ sudo fdisk -l /dev/sda

Disk /dev/sda: 75.0 GB, 75019321344 bytes
255 heads, 63 sectors/track, 9120 cylinders, total 146522112 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: 0x000e56c7

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048   129746943    64872448   83  Linux
/dev/sda2       129746944   146518015     8385536    5  Extended
/dev/sda5       129748992   146518015     8384512   82  Linux swap / Solaris

我对此并不完全确定(如果我错了,请原谅我的无知),但我认为这可能是一个从/dev/sda1开始的异常2048。它不应该从 开始0吗?

答案1

我找到了解决这个问题的方法。以下是我采取的步骤,供以后参考,希望可以帮助那些遇到同样问题的人。

  • 我下载了 Ubuntu 11.10 的 Live CD 版本(如果您的系统是 64 位,请确保下载 amd64 Live CD)
  • 我启动了 Live CD,要求试用 Ubuntu 并打开了一个新的终端窗口。
  • 大致遵循已发布的指南这里,我运行了以下命令:
    • sudo mount /dev/sda1 /mnt
    • sudo mount --bind /dev /mnt/dev
    • sudo mount --bind /proc /mnt/proc
    • sudo mount --bind /etc /mnt/etc
    • sudo mount --bind /sys /mnt/sys
      (其中一些可能是多余的,但我发现如果不运行这些,某些程序就会出现一些错误)
    • sudo chroot /mnt
  • 当我在,我跑了:
    grub-install /dev/sda

最后一个命令表示一切正常且正常运行。我重新启动了虚拟机,然后回到了 Ubuntu 安装,好像什么事都没发生过一样。

相关内容