Ubuntu

gdisk,對損壞的 GPT 表進行非永久性修復

  • June 7, 2019

我的筆記型電腦無法啟動。因此,我通過可啟動的 USB 實時執行 Ubuntu 18.04。/dev/sda它沒有自動掛載使用 GPT的 500 GB 硬碟。

lsblk只顯示磁碟,不顯示分區;fdisk而是能夠顯示它們。

gdisk顯示與此頁面相同的錯誤(“半自動恢復”部分):

# gdisk /dev/sda
GPT fdisk (gdisk) version 0.7.2

Warning! Main partition table CRC mismatch! Loaded backup partition table
instead of main partition table!

然後,連結頁面在“手動恢復程序”部分中顯示選項列表recovery/transformation command,指定:

您可以嘗試剛剛描述的所有選項(w 除外);沒有任何數據恢復工具會導致立即寫入磁碟。

在進行永久性修改之前,我不明白如何驗證這些選項是否有效。

使用gdisk, 是否可以臨時使用backup partition table, 以便 Ubuntu 可以掛載/dev/sda磁碟分區,然後在 Ubuntu 關閉時保持磁碟不變?

您不需要作業系統來辨識分區。您可以(嘗試)以適當的偏移量安裝整個設備。例如,如果您懷疑(或任何工具告訴您)分區開始於扇區2048(512 字節邏輯扇區的常見值),則嘗試:

sudo mount -o ro,offset=$((2048*512)) /dev/sda /some/mountpoint

ro以防萬一;沒有它會是-o offset=$((2048*512)))。如果它安裝並且內容看起來很正常,那麼起始扇區是正確的。

它可能是2564096 字節邏輯扇區的扇區號。注意$((256*4096))$((2048*512))是相同的數字。

如果有任何工具告訴您從扇區開始14649344,您使用offset=$((14649344*512))(假設 512 字節扇區)。

微軟曾經喜歡從開始63(我猜是因為 CHS 中每個磁軌 63 個扇區的共同值),但這是在 GPT 之前。如果您需要猜測任何 XP 時代的 Windows 從哪裡C:\開始,請嘗試offset=$((63*512)).


你說fdisk的是能夠展示一些健全的分區結構。這應該是你的起點。

如果fdisk沒有幫助,testdisk將是下一個執行的工具。我相信它可以在不改變驅動器的情況下搜尋失去的分區並顯示它們的起始扇區。這應該給你抵消嘗試。

引用自:https://unix.stackexchange.com/questions/523510