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


comments powered by Disqus

※コメント欄が表示されない場合はdisqusについてJavascriptが有効であることを確認して下さい.

(C) 2008-2017 akm. Style based on sakmug. Host powered by Xdomain