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 であり、chkdsk
Win10 では /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 の作者にそうするように説得するか、自分でソフトウェアを変更することです。