USBフロッピードライブにあるMF 2HDフロッピーディスクをフォーマットしたいです。 USBフロッピードライブがfdc(4)デバイスではなくda(4)デバイスとして表示されるため、fdformat
標準ユーティリティは使用できません。フロッピーディスクをどのようにフォーマットしますか?
答え1
フォーマッタがないようだったので、フロッピーディスクの80トラックすべてをフォーマットするために適切なFORMAT UNITコマンドを送信する次のシェルスクリプトを作成しました。da0
他のデバイスを引数として指定しないと、デバイスはフォーマットされます。 CDBは以下から入手した。UFI仕様。
#!/bin/sh
set -e
exec >&2
drive=${1:-da0}
numblocks=2880
blocklen=512
tracks=80
track=0
progress() {
[ -t 2 ] && printf "\\r%2d/%2d" $track $tracks
}
for track in `seq 0 $((tracks-1))`
do
progress
# format bottom
camcontrol cmd "$drive" -v \
-c '04 17 i1 00 00 00 00 00 0c 00 00 00' $track \
-o 12 '00 b0 00 08 i4 00 i3' $numblocks $blocklen
# format top
camcontrol cmd "$drive" -v \
-c '04 17 i1 00 00 00 00 00 0c 00 00 00' $track \
-o 12 '00 b1 00 08 i4 00 i3' $numblocks $blocklen
done
track=$tracks
progress
[ -t 2 ] && echo