FDの1.23MBフォーマットができなくなった? [Win10]
FDはPS/55やWin98機の初期化で稀に使うくらいで、もはや使う機会は無いのだけど、風の噂で(だいぶ前の某巨大掲示板とかだったかな)Windows 10の特定のビルドから1.2MB(電電公社)フォーマットができなくなったという話が気になったので、確かめてみる。
方法は以前にやった通り。32ビット版コマンドプロンプトを起動し、FORMATコマンドで隠しスイッチを指定するだけ。
→ Windows 8にてフロッピーディスクをPC98形式でフォーマットする - CELLA.DAT
それでやってみると、ディスクの物理フォーマットはできるんだけど、ボリュームラベルを指定して最後の最後に「フォーマットに失敗しました」というメッセージが出る。ディスクを入れ替えて繰り返してもダメ。しかし、なぜかCHKDSKコマンドは通る。普通にアクセスもできる。
Win98(PC/AT互換機)に同じUSB-FDDを持ち込んでアクセスの可否を確かめてみると、CHKDSKコマンドで「これはおそらくMS-DOSのディスクではありません」というメッセージが出たが、一応アクセスはできた。
ところが、WinXP機に持ってくると。
久々にこのメッセージを見るとドキッとする。フォーマットされていないはずがないのだが、何かが変なのか。そこで、Win10で1.2MBフォーマットしたFDとXPで1.2MBフォーマットしたFDのディスクイメージを取って、そのデータを比較してみる。
ボリュームIDはフォーマット実行毎に異なるのでいいとして、あるパラメータが異なることに気づいた。メディアの種類を表すメディアディスクリプタだ。
→ KB75131:Standard Floppy Disk Formats Supported by MS-DOS - Microsoft Support
1.2MBフォーマットではメディアディスクリプタは0xFEとなるが、WinXPでフォーマットしたディスクでは正しく書き込まれているのに対して、Win10の方は0x00となっていて書き込まれていない。FATテーブルの先頭にもメディアディスクリプタが書き込まれるのだが、ここもWin10では0x00になっている。これが問題になっている可能性が高い。
ここさえ何とかすれば何とかなるかもしれない。(という雑な締めで終わり。
追記
Githubによさげなフォーマットツールを発見。WindowsのツールだとAT互換機専用の512バイトのブートレコードが書き込まれるので、それよりこちらの方が良いかも。
→ mydosuty/win/format2hd at master · lpproj/mydosuty · GitHub