如何恢復遺失的 MBR/開機磁區?

如何恢復遺失的 MBR/開機磁區?

我有一個 VDI(VirtualBox 虛擬磁碟映像),上面安裝了 Ubuntu 11.10(我認為是 64 位元)。早些時候,在我的虛擬機器上執行GParted live CD 來擦除另一個磁碟的分割表時,我最終無意中刪除了我的Ubuntu VDI 的分割表,而不是另一個磁碟的分割表(我知道,我沒有這麼做是愚蠢的)在繼續之前,100% 確定我正在處理哪個磁碟,但我之前已經做了很多次,所以我什至沒有想到要檢查)。

在弄清楚情況後,我試圖尋找一種方法來從損害中恢復過來。我設法恢復我的/dev/sda1分區和交換分區(即使它現在不在之前進入的擴展分區中)使用測試磁碟

問題是,現在,當我啟動 VDI 時,我只是看到黑屏,沒有任何提示,也沒有任何生命跡象。

我嘗試將 TestDisk 的 MBR 安裝到磁碟上,現在當我執行 VM 時,它將顯示 TestDisk 的 MBR 提示字元。然而,當我告訴它啟動到我的 Ubuntu 分割區時,它一直顯示黑屏。

有辦法克服這種情況嗎?我認為問題可能出在分割區的引導磁區內(現在我還必須重新安裝 GRUB 或 MBR 上的其他東西)。


編輯:這是一些附加資訊。

磁碟機:

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 安裝狀態,就好像什麼也沒發生過一樣。

相關內容