backup old floppy disks

2022-03-08

時間に余裕ができたので、昔のフロッピーディスクの整理を始めた。
PC9801時代のものもあり、手が付けられないので、まずは3.5インチから。

FreeBSDは、fdcontrolやfdreadなどの一連のコマンドがあるので、フロッピーディスク(FDC)を使用でき、コマンドソースはカーネルソースの/usr/src/usr.sbinに含まれている。
セクターIDを読むこともできるので、フォーマットが不明な場合に役立つので、まず使ってみた。
fdread -t TRACK -I COUNT
昔の3.5inch FDを確認すると、1.7M フォーマットのxiafsだった。高速かつ大容量で便利だったが、今や読込む方法がない。とりあえず旧機にDebian slink r4をインストールすると、xiafs形式のディスクも読み込みができるし、1.7Mにも対応できる。1.7Mと1.4Mが混在しているので確認が必要。
mount -t xiafs /dev/fd0u1743 /mnt
mount -t xiafs /dev/fd0u1440 /mnt

DebianもFDUtilsという一群のツールがあるので、昔のFDの読込にはこちらがよさそう。
MAKEFOPPIESで、/dev/fd0*ができる。
floppycontrol –resetnow 2
fdrawcmd short seek 0 80
fdrawcmd short repeat=30 readid 0 2>&1 | sort -n | uniq
簡単にセクタサイズやオーバートラックの有無がわかる。

古いDistributionでは、NICなどが認識できないので、不便。
そのため、FDドライブ付ubuntuマシンにfdutilsをインストールしてディスクイメージを作成。
その後、Virtualboxで、slackware 3.5 CD Liveを起動して、読みだした。
dd if=/dev/fd0u1743 of=x1.dsk
x1.dskをVirtualBoxのフロッピーに割り当て。
mount /dev/fd0u1743 /mnt
ls -l /mnt
slink CDは、なぜかVirtualBoxで起動しなかった。

残念ながら昔のFDは78トラックなどの内周でリードエラーが起こっている。
mount -t msdos /dev/fd0 /mntでマウントできなかったときは、mountがdisk sleepになって終了できなくなる。
Ubuntu 20.04で正常にマウントできても、Arch Linux 20200401でマウントできないことがある。
ubuntu 18.04, Debian 10, 9では、fdrawcmdを実行できない。raw cmd: Operation not supported
Debian 8では、fdrawcmdが実行できる。
sources.list
deb http://archive.debian.org/debian/ jessie contrib main non-free
KEYEXPIREDの警告がでる。