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 

両方のパーティションはfsck-clean であり、chkdskWin10 では /dev/sdb1 も -clean です。

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 境界に揃えます。ただし、正しいジオメトリは、シリンダ境界に揃えられていた場合に失われたパーティションを回復するのに役立ちます。

これは 2 番目のパーティションの場合に当てはまりますが、最初のパーティションがシリンダ境界に揃えられている場合は当てはまりません (シリンダあたり 255 個のヘッドとシリンダあたり 63 個のセクターを想定、情報は FAT32 ブート セクターに記録されます)。

したがって、この警告を無視しても問題ありませんが、testdisk からこの警告を削除するのは間違いです。

答え2

短い答え:警告を無視するか、プログラムの作成者に連絡してください。

長い答え:シリンダー/ヘッド/セクター(CHS)値は、正確な表現から便利なフィクション、不便なフィクション、役に立たないどころか放棄されるまで、いくつかの段階を経てきました。CHS値(マスターブートレコード(MBR)CHS は、データ構造の最大サイズが約 8 GB であるため、現代のディスク上の最小のパーティション以外は表現できません。実際、多くの USB フラッシュ ドライブでさえ、CHS の制限を超えています。新しいGUID パーティション テーブル (GPT)データ構造では、古いソフトウェアにディスクを操作してはならないことを通知するためだけに存在する 1 つの領域 (「保護 MBR」) を除いて、CHS 値さえ使用されません。そして実際には、保護 MBR で使用される CHS 値は、MBR または GPT 標準のいずれにおいても完全に偽物であることが多いのです。

TestDiskは便利なツールですが、私はあまり使っていません。使ったことがあるのですが、ユーザーインターフェイスの目立つ場所でCHS値が使用されていることに愕然としました。これは無意味であり、混乱を招く可能性があります。今日のほとんどの最新ツールは、MBRディスクを操作するツールでさえ、論理ブロックアドレス (LBA)ほぼ排他的に、または少なくとも CHS アドレス指定より優先されます。LBA は MBR ディスクで最大 2^32 セクターを処理できます。これは、512 バイト セクターの場合、2 TiB になります。GPT ディスクでは、64 ビット LBA 値が使用されるため、制限は 2^64 セクター (512 バイト セクターを想定すると 8 ZiB) です。MBR データ構造を書き込むツールは、CHS フィールドに引き続きデータを入力する必要はありますが、サイズが約 8 GB を超えるディスクでは、これらのフィールドが最大限に使用されているか、不正な値が含まれている可能性があります。8 GB を超えるディスクでは、この事実は避けられません。

現実的には、非常に古いソフトウェア (非常に古いバージョンの DOS など) を使用しているのでない限り、TestDisk の CHS 値に関する警告は無視してください。TestDisk の作者に CHS を軽視して LBA を使用するように依頼するのも、実行してみる価値があるかもしれません。警告をなくしたい場合、唯一の選択肢は、TestDisk の作者にそうするように説得するか、自分でソフトウェアを変更することです。

関連情報