
Windows で fsutil を使用して、ボリュームのセクター情報を調べました。ハード ディスクが 2 つあり、1 つは SSD で、もう 1 つは一般的な磁気テープ ハード ディスクです。
SSD ドライブ ボリューム C の論理セクター サイズと物理セクター サイズはどちらも 512 です。
C:\Windows\system32>fsutil fsinfo sectorinfo C:
LogicalBytesPerSector : 512
PhysicalBytesPerSectorForAtomicity : 512
PhysicalBytesPerSectorForPerformance : 512
FileSystemEffectivePhysicalBytesPerSectorForAtomicity : 512
Device Alignment : Aligned (0x000)
Partition alignment on device : Aligned (0x000)
No Seek Penalty
Trim Supported
Not DAX capable
Not Thinly-Provisioned
ただし、私の磁気ハードディスクの論理セクター サイズは 512 で、物理セクター サイズは 4096 です。
C:\Windows\system32>fsutil fsinfo sectorinfo G:
LogicalBytesPerSector : 512
PhysicalBytesPerSectorForAtomicity : 4096
PhysicalBytesPerSectorForPerformance : 4096
FileSystemEffectivePhysicalBytesPerSectorForAtomicity : 4096
Device Alignment : Aligned (0x000)
Partition alignment on device : Aligned (0x000)
Performs Normal Seeks
Trim Not Supported
Not DAX capable
Not Thinly-Provisioned
私の SSD は GPT パーティション スタイルですが、磁気ハード ディスクは MBR パーティション スタイルです。
一方のボリュームの論理サイズと物理サイズに違いがあるのに、もう一方のボリュームの論理サイズと物理サイズに違いがあるのはなぜですか。また、これは何を示していますか。
答え1
一方のボリュームの論理サイズと物理サイズに違いがあるのに、もう一方のボリュームの論理サイズと物理サイズに違いがあるのはなぜですか。また、これは何を示していますか。
fsutil コマンドの応答ではパーティション/ボリューム ラベル (この場合は「C」または「G」) の下のデータが表示されますが、論理セクター サイズと物理セクター サイズはドライブのプロパティです。C パーティションと G パーティションはその情報のみを継承します。
この違いは、ハード ドライブの製造元がセクター サイズを 512 バイトから 4096 バイトに増やすことを決定したために生じます。問題が発生した後、製造元は内部的には新しいセクター サイズである 4096 バイトを引き続き使用し、インターフェイスでは外部的にセクターあたり 512 バイトと表示することで問題を解決しました。
これは、パーティションを物理セクター境界に合わせるように注意する必要があることを示しています。Windows XP などの従来の OS は、パーティションをシリンダ境界に合わせようとしましたが、その結果、簡単にアライメントが失われました。アライメントの不一致により、摩耗が増加し、パフォーマンスが低下します。現在の (2021 年 11 月 12 日) パーティション分割ツールは、ミスアライメントを回避するためにパーティション境界を正しく設定します。