Windows 10 RS1 (Anniversary Update) でフロッピーディスクの PC-98 2HD フォーマットができなくなった件とその対策

USB 接続の3モードFDドライブの場合、format コマンドにオプション(2000 および Vista 以降では /F:1.23、XP の場合は /T:77 /N:8)を明示することで、いわゆる 2HD 形式でフロッピーディスクを初期化できるのですが…というか、できたのですが、Windows 10 の最近の更新で、どうも出来なくなったようです。

実のところ Windows におけるフロッピーディスクのサポートは21世紀初頭から縮小方向にあり、たとえばすでに Windows XP の時点で format コマンドが 2DD のフォーマットさえ公式にはサポートしなくなっていてPC-98 向けの 2HD は /T と /N オプションを使った裏技的な方法でフォーマットするしかありませんでした。しかし Vista では 2000 と同様に /F オプションでの容量指定が通るようになり(やっぱり文句が出たんですかね…?)、つい最近の Windows 10 TH2 まではこれが使えました。そして RS1で、どうやら 2HD フォーマット機能は format コマンドから完全に削除されたように思われます。どうして事前に言ってくれないのか…まあ今まで使えてたのが単なる「(undocumentedな)サービス」というだけだったのかもしれませんが…。

愚痴をいっても仕方ないので、何か対策を考えてみましょう…。

対策1:(仮想マシンで)すこし前の Windows を使う

よーするに古い Windows なら使えるんやから古い Windows 使えばええんやろ?(直球)という身もふたもないソリューションですが、USB パススルー機能のある仮想マシンを使って、ゲストOS側に USB-FDD を直接認識させます。

まあ「できるかどうか試したい」という程度の気分なので、安直に Edge の開発サイトにある仮想マシンを適当に見繕って、"IE8 on Win7"の VirtualBoxアプライアンスVirtualBox に入れてみました。
んでまあ、ホストに USB-FDD を接続して VirtualBoxVM を起動し、「デバイス」メニューの USB からそれっぽいデバイスを選んで VM にキャプチャさせます。

認識されたらふつうにフォーマット可能です。

ゲスト側の言語設定とキーボードドライバをいじらないと、キーボードレイアウトが英語モードのままなので戸惑う。まあ format だけなら気になるのはコロンぐらいなので特に問題ありません。ほんとに format するだけならね…。

対策2:すこし前の Windows のインストールメディアを使う

だいたい上と同じですが、まあぶっちゃけ USB-FDD が認識され、コマンドプロンプトが起動し、format コマンドが使える状態になってればええんやろ?ということに気づいたので、インストール時にコマンドプロンプト開けばいいんじゃね?ということです。
とりあえず手元に Windows 8.1 enterprize の x86 評価版 iso があったのでそれを使いました。(format に 64bit は必要ないかな…)

例によって VirtualBox に適当な VM を作成し(念のため未フォーマットの HD イメージも接続しましたが、必要ですかね…?)、iso イメージを突っ込んで起動。

コンピュータを修復する(R)を押して、「トラブルシューティング」→「詳細オプション」→「コマンド プロンプト」

で、画面にコマンドプロンプトが出たら、同じようにホストの USB-FDD をキャプチャします。ただしこの場合、ゲスト VM 側に認識されても通知メッセージは何も出ません。

まあ、実際に format して確かめればいいよね…(適当)

実ディスクでない iso イメージを使う限り、まともにインストールされた Windows 7 を最初から起動するよりはこちらのほうが早くコマンドプロンプトにたどりつくんじゃないでしょうか(RTA並感)。

対策3:まじめに(?)代替 format を作る

…あかん、ネタが長すぎた。
一応フォーマットプログラムを自作しました。2HD フォーマットに関しては、手持ちの USB-FDD3台(YE-DATA と TEAC)でのみ動作確認しています。また 2DD 系は 640K バイトも指定できますが、これはドライブ側が対応していない場合が多いです(手持ちの TEAC の USB ドライブは未対応でした)。

x86, x64 バイナリ:format2hd-wip-20160811-bin.zip
ソース:だいたい https://github.com/lpproj/mydosuty/tree/master/win/format2hd のあたり

ベリファイチェックを端折っているので本家の format よりは高速かもしれません。メリットはそれくらいでしょうか…