以前のsysVR4では、フロッピーをこのようにフォーマットしました。
1.44MBフロッピーディスク
mkfs -F ufs /dev/dsk/f03ht 2560
1.2MBフロッピーディスク
mkfs -F ufs /dev/dsk/f13dt 2440
2440と2560は512 * 4と512 * 5を使用して計算されます。 2.88MB フロッピーディスクの正しい値はどのように計算されますか?ありがとう
マニュアルで報告されたブロックは5760で、UnixバージョンはInteractive Unix 4.1です。提供されるエラーは次のとおりです。
mkfs -L -f /dev/rdsk/f0q36dt 5760:900 1 72
bytes per logical block = 1024
total logical blocks = 2880
total inodes = 896
gap (physical blocks) = 1
cylinder size (physical blocks) = 72
mkfs: write error: 9
答え1
あなたの体型は確実ですか? 1.44MBフロッピーディスクは80トラックのディスクであると思います。各トラックは18,512バイトのセクタを含み、両面に書き込むことができます。 1.2MBには15トラックしかありません。したがって、このロジックによれば、(80 * 18 * 2) == 2880
1.44MBフロッピーディスクと1.2MBフロッピーディスク(80 * 15 * 2) == 2400
の両方にセクタがあります。 UFSファイルシステム(ブートセクタ、スーパーブロック...)によって発生したオーバーヘッドを直接計算する必要があるのか、mkfsが代わりに計算を実行しますが、このロジックに基づいているのかはわかりません。 2.88MBフロッピーが作られているようです。最大80トラック、各トラックには36セクタがあり、両面に書き込むことができ、(80 * 36 * 2) == 5760
512バイトのブロックを形成できます。作成するファイルシステムの合計サイズ(使用可能なサイズだけでなく)をmkfsに提供する必要があると仮定する場合は、次のようにします。
mkfs -F ufs /dev/yourdisk 5760