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
如果我嘗試設定警告中提到的幾何形狀testdisk
(mismatch
H = 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 的作者這樣做或自行修改軟體。