testdisk:“警告:(磁頭/柱面|每磁軌扇區)數量不匹配 255 (FAT) != 64 (HD)”

testdisk:“警告:(磁頭/柱面|每磁軌扇區)數量不匹配 255 (FAT) != 64 (HD)”

TL;DR:當其他一切看起來都很美好時,我如何擺脫主題行中的警告?

在64GB SD 卡上testdisk運行時,我得到以下輸出:Analyze

TestDisk 6.14, Data Recovery Utility, July 2013                                                                                                                                                       
Christophe GRENIER <[email protected]>                                                                                                                                                           
http://www.cgsecurity.org                                                                                                                                                                             

Disk /dev/sdb - 63 GB / 59 GiB - CHS 60906 64 32                                                                                                                                                      
Current partition structure:                                                                                                                                                                          
     Partition                  Start        End    Size in sectors                                                                                                                                   

Warning: number of heads/cylinder mismatches 255 (FAT) != 64 (HD)                                                                                                                                     
Warning: number of sectors per track mismatches 63 (FAT) != 32 (HD)                                                                                                                                   
 1 P FAT32 LBA                0   1 32 51199  63 32  104857537 [27GB]                                                                                                                                 
 2 P Linux                51200   0  1 60902  63 32   19871744 [Link2SD]                                                                                                                              
No partition is bootable 

兩個分割區都是-clean, Win10下fsck/dev/sdb1也是-clean。chkdsk

fsck -l說:(對我來說一切看起來都很好)

Disk /dev/sdb: 63.9 GB, 63864569856 bytes
64 heads, 32 sectors/track, 60906 cylinders, total 124735488 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: 0x1c580740

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1              63   104857599    52428768+   c  W95 FAT32 (LBA)
/dev/sdb2       104857600   124729343     9935872   83  Linux

如果我嘗試設定警告中提到的幾何形狀testdiskmismatchH = 255,S = 63)我得到:

TestDisk 6.14, Data Recovery Utility, July 2013                                                                                                                                                       
Christophe GRENIER <[email protected]>                                                                                                                                                           
http://www.cgsecurity.org                                                                                                                                                                             

Disk /dev/sdb - 63 GB / 59 GiB - CHS 7765 255 63                                                                                                                                                      
Current partition structure:                                                                                                                                                                          
     Partition                  Start        End    Size in sectors                                                                                                                                   

 1 P FAT32 LBA                0   1  1  6527  21 22  104857537 [27GB]                                                                                                                                 

Bad relative sector.                                                                                                                                                                                  
 2 P Linux                 6527  21 23  7764  10 54   19871744 [Link2SD]                                                                                                                              
No partition is bootable

請注意,扇區 6527 現在是「共享」的,這看起來不太正確。

如何刪除最初的mismatch警告?

答案1

您可以忽略此警告,因為您沒有要還原的分割區。

現代分區軟體將分區與 1 MB 邊界對齊。但是,當與柱面邊界對齊時,正確的幾何形狀對於恢復遺失的分區很有用。

第二個分區是這種情況,但第一個分區與柱面邊界對齊時並非如此(假設每個柱面有255 個磁頭,每個柱面有63 個扇區,資訊記錄在FAT32 引導扇區中)。

因此,您可以安全地忽略此警告,但從 testdisk 中刪除此警告將是錯誤的。

答案2

簡短回答:忽略警告或聯絡程序的作者。

長答案:柱面/磁頭/扇區 (CHS) 值經歷了幾個階段,從準確的表示到方便的虛構,再到不方便的虛構,再到比無用更糟糕的廢棄。 CHS 值(儲存在主開機記錄(MBR)資料結構)最大約為 8 GB,因此 CHS 只能代表現代磁碟上最小的分割區。事實上,現在甚至許多 USB 隨身碟都超出了 CHS 限制!較新的GUID 分割區表 (GPT)資料結構甚至不使用 CHS 值,除了一個區域(「保護性 MBR」),該區域的存在只是為了向舊軟體發出信號,表明它不應該弄亂磁碟——實際上,在根據MBR 或GPT 標準,保護性MBR 通常是完全偽造的。

TestDisk是一個有用的工具,但我承認我沒有經常使用它。當我使用它時,我對它在使用者介面的顯著位置繼續使用 CHS 值感到震驚。這是毫無意義的,而且可能會造成混亂。如今,大多數現代工具(甚至是用於操作 MBR 磁碟的工具)都在使用邏輯區塊尋址 (LBA)幾乎完全,或至少優先於 CHS 尋址。 LBA 最多可以處理 MBR 磁碟上的 2^32 個磁區,對於 512 位元組的磁區,計算結果為 2 TiB。在 GPT 磁碟上,使用 64 位元 LBA 值,因此限制為 2^64 磁區(8 ZiB,假設 512 位元組磁區)。寫入 MBR 資料結構的工具必須繼續填充 CHS 字段,但在大小超過 8 GB 的磁碟上,這些字段可能會被最大化或包含虛假值;對於超過 8GB 的​​磁碟來說,這一事實根本沒有幫助。

實際上,您應該忽略 TestDisk 關於 CHS 值的警告,除非您使用的是非常古老的軟體(例如非常舊版的 DOS)。要求 TestDisk 的作者不再強調 CHS 而支持 LBA 可能也是值得做的。如果您想消除這些警告,您唯一的選擇是說服 TestDisk 的作者這樣做或自行修改軟體。

相關內容