Image: 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のディスクではありません」というメッセージが出たが、一応アクセスはできた。

Image: FORMAT MS-DOSプロンプト(Win98)

ところが、WinXP機に持ってくると。

Image: フォーマットされていません(WinXP)

久々にこのメッセージを見るとドキッとする。フォーマットされていないはずがないのだが、何かが変なのか。そこで、Win10で1.2MBフォーマットしたFDとXPで1.2MBフォーマットしたFDのディスクイメージを取って、そのデータを比較してみる。

Image: 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


※コメント欄が表示されない場合はdisqusについてJavascriptが有効であることを確認して下さい。コメントはスパム防止フィルターによる承認制のため、投稿してもすぐに反映されない場合があります。

管理人 : Akamaki (akm)

は、PCとVTuberに夢中になっている電気技術者です。

私はレトロコンピューティングの愛好家ですが、そのようなリグはもう収集していません。

私の活動はトップページで見ることができます。読んでくれてありがとう!