CentOS 7 斷電分區表丟失解決方法


首先說下環境:

CentOS 7

文件系統:xfs

然后機房突然斷電。

重啟后一個分區表丟失/dev/sdb1

 

修復手段:

請參考鏈接:https://www.cgsecurity.org/wiki/Testdisk_%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97#.E7.97.87.E7.8A.B6

 

這個 恢復范例 將引導你一步一步地用TestDisk來恢復丟失的分區和修復一個毀壞的分區。閱讀了這個指南之后,你就可以恢復自己的數據了。我們很歡迎本TestDisk手冊 的其他語言翻譯版本。

問題舉例

我們有一個容量 36GB 的硬盤,包含着3個分區。 但是很不幸地;

  • NTFS主分區的boot扇區損壞
  • 一個邏輯 NTFS 分區被意外刪除

本 恢復范例 引導你一步一步地用TestDisk通過以下途徑,恢復這些 '丟失的' 分區:

  • 重寫毀壞的NTFS boot扇區
  • 恢復意外刪除的邏輯NTFS分區

我們可以一模一樣地照着下面的步驟完成對FAT32分區的恢復(不是NTFS)。 這里也有其他的 恢復范例。對於有關 FAT12, FAT16, ext2/ext3, HFS+, ReiserFS 和其他分區類型的信息,請參閱 運行 TestDisk 程序.

唯一需要的條件:

  • TestDisk 需要用管理員權限來運行。

使用 TestDisk 的重點:

  • 用 方向鍵 和 上一頁/下一頁 按鍵在TestDisk 中導航。
  • 然后, 按Enter 鍵確認你的選擇.
  • 若要返回前一頁或者退出TestDisk, 按 q (Quit) 鍵。
  • 若要在 TestDisk 下保存修改,按 y (Yes) 或者 Enter 鍵來確認
  • 如果確實要把分區信息寫入主引導記錄(MBR),應該選擇 "Write" 選項並按 Enter 鍵。

症狀

如果硬盤的主分區容納着一個操作系統,那么由於毀壞的boot扇區,這個操作系統很可能不再能啟動。如果這個硬盤是第二(數據)驅動器,你可以把它接到另一台計算機上(通常接到CD/DVD的接口),然后下面的症狀就會被觀察到:

  1. Windows 資源管理器 或 磁盤管理器 把第一個主分區顯示為 raw (沒有格式化) 並且 Windows 提示: The drive is not formatted, do you want to format it now?(該驅動器沒有格式化,現在格式化它嗎?)
    不應該 在不知道為什么的情況下格式化它!]
  2. 一個邏輯卷不見了。 在 Windows 資源管理器中, 這個邏輯卷不再可用。 Windows 磁盤管理器(Disk Management Console) 僅僅在這個邏輯卷的位置顯示 "未分配的空間" 。

運行 TestDisk 程序

如果 TestDisk 還沒有被安裝, 可以從這里下載 TestDisk Download。然后解壓縮這個歸檔文件,包括子文件夾。

若要從 硬盤,U盤,智能卡等設備中恢復丟失的分區 或者 修復文件系統,你需要足夠的權限來訪問這個物理設備。

  • Dos.png 在 DOS 下, 執行 TestDisk.exe
  • Win.png 在 Windows 下, 從一個處於管理員組的賬戶打開 TestDisk (ie testdisk-6.13/testdisk_win.exe) . 在 Vista 下, 右擊 testdisk_win.exe 然后 "以管理員身份運行" TestDisk.
  • Linux.png 在 Unix/Linux/BSD 下, 需要用 root 賬戶來運行 TestDisk (ie. sudo testdisk-6.13/testdisk_static)
  • Macosx.png 在 MacOSX 下, 不過你不是 root, TestDisk (ie testdisk-6.13/testdisk) 將會在你的確認之后以sudo重新運行。
  • Os2.png 在 OS/2下, TestDisk 不能處理物理設備,只能處理磁盤鏡像.很抱歉.

若要從一個媒體鏡像中恢復分區或者修復一個文件系統鏡像,執行

  • testdisk image.dd 在一個raw磁盤鏡像中進行處理
  • testdisk image.E01 從一個 Encase EWF 鏡像中恢復文件
  • testdisk 'image.???' 如果 Encase 鏡像被分割成若干文件

Linux.png Macosx.png 若要修復一個 TestDisk沒有列出來的文件系統, 執行 testdisk device, 也就是說,

  • testdisk /dev/mapper/truecrypt0 或者 testdisk /dev/loop0 從一個 TrueCrypt 加密分區中 修復 NTFS or FAT32 boot 扇區文件. 同樣的方法對於使用 cryptsetup/dm-crypt/LUKS 加密的分區也管用.
  • testdisk /dev/md0 to repair a filesystem on top of a Linux RAID device.

新建日志

menu create
  • 選擇 Create 來讓 Testdisk 新建一個日志文件( log file) ,里邊包含了一些技術信息和消息, 除非你要往一個日志里追加信息 log 或者 你從只讀存儲器里執行 TestDisk 而且必須在別的地方建立日志 log
  • 選擇 None 如果你不想讓過程中的細節和消息記錄到日志文件里 log file (比如當 Testdisk 是在只讀位置執行的時候,這很有用).
  • 按 Enter 鍵以繼續.

選擇磁盤

所有的硬盤都應該能被TestDisk檢測到並且輔以正確的大小列出來:

disk selection
  • 用 上/下 鍵 來選擇丟失分區的硬盤。
  • 按 Enter 鍵繼續。

Macosx.png If available, use raw device /dev/rdisk* instead of /dev/disk* for faster data transfer.

選擇分區表類型

TestDisk 會顯示分區表類型。

menu partition table type
  • 選擇正確的分區表類型 - 在 TestDisk 自動檢測分區表類型之后,一般預設的那個值是正確的。
  • 按 Enter 鍵繼續。

當前的分區表狀態

TestDisk 顯示這個菜單的時候 (參見 TestDisk Menu Items).

menus
  • 用預設的“analyze”(分析)選項來檢查當前的分區結構並搜索丟失的分區。
  • 分析過程中按 Enter 鍵繼續。

然后,當前的結構就會被列出來。 接下來就可以在當前的分區結構中檢查丟失或錯誤的分區了。

Analyse

第一個分區顯示了兩次,它指向了一個毀壞的分區或一個無效的分區表入口。
無效的 NTFS boot 指向了一個錯誤的 NTFS boot 扇區, 所以這是一個損壞的文件系統。
在擴展分區中,只有一個邏輯分區(分區標簽為2)可用。 有一個邏輯分區不見了。

  • 選 Quick Search (快速搜索)來繼續。

快速搜索分區

TestDisk displays the first results in real time.
quick search
(click on thumb to display the image).

在 Quick Search(快速搜索)的過程中, TestDisk 找到了兩個分區,包括那個不見的邏輯分區(標簽為 Partition 3 )。

first results
  • 高亮這個分區並按 p 來列出文件 (若要返回前一頁,請按 q ).

這里所有的目錄和文件都正確列出來了。

  • 按 Enter 鍵繼續。

保存分區表 還是要 尋找更多分區?

menu search!
  • 當全部分區都可用的時候 並且數據已正確列出,應該選 Write 菜單項保存分區結構. 菜單項 Extd Part gives you the opportunity to decide if the extended partition will use all available disk space or only the required (minimal) space.
  • 當一個分區,第一個,仍然找不到, 高亮菜單項 深度搜索 (沒有自動進行的時候) ,按 Enter 鍵繼續.

有一個分區仍然找不到: 深度搜索

Deeper Search 深度搜索也會找尋 FAT32的備份boot扇區 以及 NTFS backup boot superblock, ext2/ext3 backup superblock 來查找更多的分區,

它將會掃描每一個柱面。
quick search
(click on thumb).

深度搜索之后,結果會像下面這樣顯示出來:
第一個分區 "Partition 1" 被用 backup boot扇區 找到了。 屏幕上的最后一欄寫着, "NTFS found using backup sector!" 還有分區尺寸。 分區2 "partition 2" 被顯示了兩次,而且大小不同。
顯示為 D(eleted) 的分區將不會被恢復 如果您讓它們這樣顯示出來。 兩個狀態為 D 的分區將會被刪除,因為他們互相重疊了。您應該進行識別,以決定到底恢復哪一個分區。

results deeper search!
  • 高亮第一個 Partition 2 然后按 p 來列出其包含的數據。
The file system of the upper logical partition (label Partition 2) is damaged
damaged file system
(click on thumb).
  • 按 q 來返回前一頁。
  • 讓這個文件系統損壞的分區 Partition 2 標記上 D(deleted).
  • 高亮下邊的第二個分區 Partition 2
  • 按 p 來顯示內容。
list files

它起作用了,您的文件均被列出,您找到了正確的分區!

  • Use the left/right arrow to navigate into your folders and watch your files for more verification

Note: FAT directory listing is limited to 10 clusters - 一些文件可能沒有出現 但這並不影響恢復。

  • Press q for Quit to go back to the previous display.
  • The available status are Primary, * bootable, Logical and Deleted.

Using the left/right arrow keys, change the status of the selected partition from D(eleted) to L(ogical). This way you will be able to recover this partition.

set partition to recover

Hint: read How to recognize primary and logical partitions?
Note: If a partition is listed *(bootable) but if you don't boot from this partition, you can change it to Primary partition.

  • 按 Enter 鍵繼續。

恢復分區表

現在已經可以寫入新的分區結構了。
注意: 擴展分區是自動設置的。 TestDisk 是用不同的分區結構來辨認它們的。

menu write
  • 如果 所有分區都被列出 ,當且僅當在這種情況下, 在 Write 處按 Enter 鍵, y 鍵和 OK.

至此, 這些分區就注冊在了分區表里。

NTFS Boot扇區恢復

第一個分區的boot扇區(Partition 1)還是處於損壞狀態。是時候該修復它了。 NTFS boot扇區的狀態很糟糕,然而備份的boot扇區正常可用。 兩個Boot扇區並不是完全一樣的。

backup bs
  • 選擇Backup BS來拷貝備份的扇區覆蓋到目標位置,按Enter確認, use y to confirm and next OK.

更多有關於在TestDisk菜單下修復Boot扇區的信息 . 如下的信息會被顯示:

after backup bs

現在boot扇區和它的備份扇區都狀態良好並且保持一致:NTFS boot扇區已經成功地恢復了!

  • 按 Enter 退出.
reboot
  • TestDisk 顯示 You have to restart your Computer to access your data(您需要重新啟動您的計算機以使修改生效),所以按 Enter 最后一次然后重新啟動計算機吧。

恢復刪除的文件

TestDisk 可以恢復

如果這不管用,或者對於其他文件系統,請嘗試 PhotoRec,一個基於模式匹配的文件恢復工具。

返回 TestDisk 主頁

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM