我想格式化 USB 软盘驱动器中的 MF 2HD 软盘。由于 USB 软盘驱动器显示为 da(4) 设备而不是 fdc(4) 设备,因此fdformat
无法使用标准实用程序。如何格式化我的软盘?
答案1
由于似乎不存在格式化程序,我编写了以下 shell 脚本,该脚本发送适当的 FORMAT UNIT 命令来格式化软盘的所有 80 个磁道。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