fdisk 抱怨“備份 GPT 表已損壞,但主表顯示正常,因此將使用該表。”

fdisk 抱怨“備份 GPT 表已損壞,但主表顯示正常,因此將使用該表。”

我最近買了兩個西部數據(西數)易商城8 TB 外部 USB 隨身碟去殼他們並使用 WD RedNAS我的電腦內部驅動器(架構Linux)。第一款最終是 WD 白標驅動器 (WD80EMAZ-00WJTA0),第二款確實是紅色 (WD80EFAX-68LHPN0)。

我安裝了白色的,一切似乎都很好。我複製了近 5 TB 的數據,沒有任何問題,但後來我注意到有關GPT使用時出錯格帕特在我正在處理的另一個驅動器上。我的數據似乎可以訪問,所以我還沒有做任何事情。

今天我安裝了紅色驅動器,在進行任何分割區或格式化之前,我在該驅動器上遇到了完全相同的錯誤。我一直在尋找解決方案,並認為這與宿主保護區(HPA),但我不知道如何確定這一點,或者如果確實如此,該怎麼辦。我的數據在白色驅動器上完好無損的情況下可以修復嗎?我可以在紅色驅動器上進行實驗,但我不確定要嘗試什麼。

sudo gdisk /dev/sdb

輸出:

GPT fdisk (gdisk) version 1.0.3

Caution: invalid backup GPT header, but valid main header; regenerating
backup header from main header.

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: damaged

****************************************************************************
Caution: Found protective or hybrid MBR and corrupt GPT. Using GPT, but disk
verification and recovery are STRONGLY recommended.
****************************************************************************

Command (? for help): p
Disk /dev/sdb: 15628053168 sectors, 7.3 TiB
Model: WDC WD80EMAZ-00W
Sector size (logical/physical): 512/4096 bytes
Disk identifier (GUID): 6837F2B2-3A65-4260-B87E-B4682BAEE5FF
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 15628052446
Partitions will be aligned on 2048-sector boundaries
Total free space is 4029 sectors (2.0 MiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048     15628050431   7.3 TiB     0700  WD_8TB

Command (? for help): v

Problem: The secondary header's self-pointer indicates that it doesn't reside
at the end of the disk. If you've added a disk to a RAID array, use the 'e'
option on the experts' menu to adjust the secondary header's and partition
table's locations.

Identified 1 problems!

和..

sudo hdparm -N /dev/sdb

輸出:

/dev/sdb:
max sectors   = 15628053168/15628053168, HPA is disabled

答案1

您的hdparm輸出表明 HPA 是殘疾人士,所以這個問題與此無關。

從我在此處和其他論壇上看到的類似問題來看,此問題的最常見原因是使用基於主機板的軟體 RAID(有時稱為“假 RAID”,儘管這是一個欺騙性術語)。這種類型的軟體 RAID 的問題在於,它需要至少兩個軟體元件(韌體和作業系統)就所使用的資料結構達成一致。對於多重開機計算機,所有作業系統都必須理解相同的 RAID 資料結構,因此您需要三個或更多配置來匹配。無論如何,如果韌體認為磁碟使用基於主機板的軟體 RAID,但作業系統沒有,則結果可能會損壞備份 GPT 資料結構。原因是這些資料結構佔據了磁碟的最後幾個磁區,而這也正是基於主機板的軟體 RAID 通常儲存的位置它是資料結構。因此,一組資料結構將消除另一組資料結構。古怪的事情隨之而來。 (不過請參見下文。)當一切都同步時,一切都是透明的;主機板將其資料結構放在磁碟的末尾,作業系統理解這一點並隱藏磁碟的該部分,您無需擔心它。

但是,如果您沒有建立分割區表,則問題可能不是由您的配置錯誤引起的,而是由磁碟製造商或在中間處理磁碟的人引起的(例如,如果磁碟被賣給其他人然後被退回,並且您從退貨箱中獲得了它)。在這種情況下,執行wingdisk應重寫分區表,從而導致錯誤訊息消失。這樣做是個好主意,因為 GPT 備份資料結構的存在是有原因的——它們是備份,用於防止某些類型的錯誤、使用者錯誤或硬體故障損壞主要資料結構(儲存在磁碟的開頭)。大多數作業系統和工具在缺少備份資料結構的情況下都可以正常啟動,但如果沒有它們,就意味著您將放棄它們的好處。此外,某些工具可能會因損壞而變得混亂並做出一些壞事。 (我知道沒有這樣的例子,但新工具一直在編寫,舊工具可能會產生新錯誤,因此這種錯誤的可能性始終存在。)

還有一點:gdisk'sv表示備份分割區資料不存在於磁碟末尾,而它應該存在於磁碟末尾。要解決此問題,您可以鍵入x進入專家選單,然後e重新定位備份資料結構。這種錯位的備份分割表與韌體中基於主機板的軟體 RAID 的使用一致,但與作業系統無關,或與各種其他問題(例如已擴展的硬體 RAID 陣列或已從小到大克隆的磁碟)一致。更大的磁碟)。重新定位備份資料結構通常是一個好主意,並且在某些情況下有必要使用磁碟的全部容量。 (在您的情況下,您將僅恢復大約2,000 個扇區,因此就容量而言這並不是什麼大問題。)但是請注意,如果您的主機板配置為使用其軟體RAID,則移動備份資料結構將會清除軟體 RAID 資料。這可能會讓主機板感到困惑,主機板很可能會重寫其數據,導致下次重新啟動時 GPT 被損壞。解決方案是在韌體設定工具中停用軟體 RAID 選項,然後使用gdisk其他工具移動 GPT 資料結構。

答案2

由於某種原因,WD Easystore 硬碟盒的控制器「竊取」了驅動器末端的少量區塊。這樣做的結果是驅動器的“末端”發生了變化。如果您在磁碟機仍在機箱中時使用 GPT 對其進行分割區,則備份分割區表將寫入不完全正確的位置。真實的驅動器的末端,因為那些被盜的塊是隱藏在視圖之外的。

一旦你拆開驅動器,驅動器的真正末端就可以訪問,並且由於 GPT 備份不存在,這看起來像是一個問題。詳細資訊討論於Reddit 話題

如果磁碟機上沒有任何內容,最簡單的修復方法是使用新的 GPT 重新分割。我想有一些手動方法可以透過手動將備份 GPT 複製到正確的位置來解決問題,此時您可以決定是否要擴大最後一個分割區以使用新的可存取空間。但由於更改量可能連 1MB 都不到,因此可能不值得。

相關內容