如何在 FreeBSD 上格式化 USB 软盘驱动器中的软盘?

如何在 FreeBSD 上格式化 USB 软盘驱动器中的软盘?

我想格式化 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

相关内容