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

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

我的筆記型電腦無法啟動。因此,我從可啟動 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 關閉時保持磁碟不變?

答案1

您不需要作業系統來識別該分割區。您可以(嘗試)以適當的偏移安裝整個設備。例如,如果您懷疑(或任何工具告訴您)分割區從磁區開始2048(對於 512 位元組邏輯磁區來說這是一個非常常見的值),那麼請嘗試:

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

ro以防萬一;沒有它就會這樣-o offset=$((2048*512)))。如果它安裝且內容看起來正常,則起始磁區是正確的。

256它可以是4096位元組邏輯磁區的磁區號。注意$((256*4096))$((2048*512))是相同的數字。

如果任何工具告訴您從磁區開始14649344,您可以使用offset=$((14649344*512))(假設 512 位元組磁區)。

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


你說fdisk能夠顯示一些合理的分區結構。這應該是您的起點。

如果fdisk沒有幫助,testdisk將是下一個要運行的工具。我相信它可以搜索丟失的分區並顯示其起始扇區,而無需更改驅動器。這應該會給你嘗試的補償。

相關內容