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