web-dev-qa-db-ja.com

シリンダーヘッドセクターモデルを使用したディスク容量のカウント

を見ようよ fdisk -l /dev/sdc出力。

# fdisk -l /dev/sdc
Disk /dev/sdc: 786 MB, 786432000 bytes
255 heads, 63 sectors/track, 95 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

この仮想ディスクの容量を数えました。画像で確認してください。上のリストの786432000バイトではなく781401600バイトを取得しました。なぜそうなのか私にはわかりません。 786432000バイトを取得する方法(私は5030400バイトを失いました)?

enter image description here

2
BrettWatts

すべてが正式に説明されているこの回答を参照してください。

簡単に言うと、CHSの数値は最近ではあまり価値がなく、実際にはバイト単位の実際の容量から逆算されています。つまり、ディスク容量は実際には786432000バイトです。あなたのケースのシリンダー数を計算してみましょう:

bytes       b/S   H     S    C
786432000 / 512 / 255 / 63 = 95.61157796451914

今、あなたはどういうわけか貧しい人々を取り除く必要があります.6シリンダーの場合、次のようになります。

C / H / S = 95 / 255 / 63

明らかに、丸め誤差はバイトカウントに戻る間違った結果をもたらします。あなたの 欠落しているバイトの謎

C                  S    H     b/S
0.61157796451914 * 63 * 255 * 512 = 5030399.999999992 ~ 5030400

つまり、CHSを忘れてください。 SSDをお持ちの場合はさらに。 hydra SSD がない限り、とにかくヘッドの数を数えるのは難しいでしょう...

1
steady rain