USBメモリ/ディスクをスーパーフロッピーフォーマットするDOSツール

sFDform Version 1.36

Copyright(C) 2017 DOSsoft

1.このプログラムの目的

 USBメモリ/ディスクはPCシステムからみてリムーバブル扱いですが、そのフォーマットにはFD上位互換の「スーパーフロッピー」形式の場合と、ハードディスク互換の「MBR形式」の場合とがあります。前者はパーティションテーブルを持たず、先頭のセクタからFATなどのファイルシステムが記録されており、後者ではMBR(マスターブートレコード)に記録されたパーティションテーブルを参照してファイルシステムにアクセスします。

 ところが利用者には通常この違いは見えません。少なくともWindowsからは判別するのは難しいですし、MBR形式であったとしてもWindowsのディスク管理ではパーティションの削除ができないようになっています。

 多くのパソコンのBIOS上(MS-DOS上)からは、スーパーフロッピー形式のUSBストレージの場合はFD互換のドライブ番号(デバイス番号00,01,02,,,)で見えるのに対し、MBR形式のUSBストレージの場合はHD互換のドライブ番号(デバイス番号80,81,82,,,)で見えます。このため最初からスーパーフロッピー形式でフォーマットされているUSBストレージは、ハードディスク用のDOSフォーマットツールでは対象外となってしまいます。いっぽうMBR形式でフォーマットされていても、たいていのDOSフォーマットツールではスーパーフロッピー形式でフォーマットする機能がなく、フォーマットの変更ができません。

 そこで本ツールは、FD互換HD互換でBIOSから見える全てのストレージをリストアップし、ファイルシステムを完全消去したり、スーパーフロッピー形式でもMBR形式でもフォーマットできるようにしました。これによりFD互換・HD互換を多くの場合変更することができます。

ここをクリックしてダウンロードする

2.基本的使い方

 MS-DOS 6.2(DOS/V)やIBM PC-DOS 7.0 (PC-DOS 2000)またはWindows95/98/MEのMS-DOS 7のコマンドライン(DOS互換BOXではダメです)から

 sfdform 

 と打つと実行が開始されます。デフォルトでは「スーパーフロッピーフォーマット」が選択されています。フォーマットはせずに完全消去(ファイルシステム消す)する場合はいちばん下の機能を選択してください。

 次いでディスクドライブの選択画面が出ます。本物のSSD/HDDのほか、HD互換で認識されているデバイスは DiskDriveの番号が80hから、FD互換で認識されているデバイスは00hから表示されます。USBのストレージかどうかの判断はBIOSのデバイス番号ではできませんので、あらかじめ容量などで把握しておく必要があります。

 MBRという項目がMBRあるいはIBM,WIN7などとなっているものは既にMBR形式で、パーティションが存在する可能性があります。sFDとなっている場合は既にスーパーフロッピー形式でフォーマットされています。ここが空白となっているのは完全に未使用状態(ファイルシステムがない)と判断される場合です。ここでは例としてデバイス番号82h(HD互換で認識)を選んでいます。

 本ツールでは「フォーマット」を行うのですから既存のデータはつぶされます。そこで既にsFDかMBR形式で使用されていた場合はいったん消去してからスーパーフロッピーフォーマットを行います。なおそのどちらでもない他のシステム(GPT形式、NEC PC-98、Apple MACなど)で使用されていたストレージの場合は誤消去を防ぐ意味で、実行を中止します。他のシステムのストレージの場合は、よく確認したうえでいったん全消去を選択し、意図的に消去してからスーパーフロッピーフォーマットをしてください。

 本当に実行してよいかの問い合わせがでるので、Yで応答してください。消去のプロセスが入る場合は2度問い合わせが出ます。

 次に画面の下の方で、容量の選択メッセージがでます。通常は all か max と打ってください。これで全容量を確保してフォーマットします。しかし何らかの理由により容量を制限したフォーマットをしたい場合は、その容量値をメガバイト(MiB)で入力し、ENTERを押してください。たとえば2GBを超えるUSBメモリだがFAT16でフォーマットしたいなどという場合は2047を入力しておけばFAT16にできます。古いシステムなどで最新のUSBメモリを認識させたい場合などに応用できます。

 続いてブートコードの選択画面が現れます。起動用にしないのであれば「ブートプログラムを作らない」を選択してください。Windows Vista/7/8/10のインストールUSBメモリを作成したい場合は「Windows Vista/7のBOOTMGRをブートするコード」を選択するとよいでしょう。各社各バージョンのDOSのブート用USBメモリを作りたい場合は、あとでそのDOSのSYSコマンドでブートコードを書き込んでください。指定容量値が2047MB以下の場合はFAT16の選択肢が現れます。これを選ぶとFAT16でフォーマットされますが特定のOS用のブートコードは書き込まれません。なお容量512MB以下の場合はこの選択画面なしにFAT16、32MB以下ではFAT12でフォーマットされます。

 最後にFAT32のクラスタサイズ選択画面が出ます(FAT16にした場合は出ません)。とりあえずシステム規定値を選んでおいてください。指定容量値が小さくても実容量が大きい場合は、大きめのクラスタサイズを選択したほうがよいでしょう(一般に大容量ほどファームウェアレベルのアクセス単位も大きくなるため)。

 フォーマットの際の読み書きに重大な問題がなければ、「スーパーフロッピーフォーマットを行いました.」という終了メッセージが出ます。現状でHD互換で認識されていた場合は、続いて 「再起動後にはFDエミュレーションとなるかもしれません.」というメッセージが出ます。通常、ほとんどのPCシステムのBIOSでは自動判別となっており、スーパーフロッピーフォーマットに変更すると次回起動時からはFD互換となることを意味しています。次の図はHD互換で認識していた14GBのUSBメモリに適用した例です。

 リセットまたは電源再投入によるDOSの再起動後にはFD互換に移っているはずです。通常はこうなります。MS-DOS 7.10からはデバイス00がA:ドライブで、01がB:ドライブで認識されます。なおsignという項目はMBR形式ではディスクの署名を表示していますが、スーパーフロッピー形式にそれはありませんので、ブートセクタのベンダIDを表示するようにしています。

 しかしBIOS設定で強制的にFD相当かHD相当かを設定できるPCもあり、固定で設定した場合は認識不良や起動時ハングアップが起こりますので注意してください。自動認識がうまく働かないPCシステムも存在します(BIOSのバグといってよいかと思います)。

3.その他の使い方

 コマンドオプションとして、 /P をつけると、最初のメニューの2番目が使用できるようになり、それを選択するとMBR形式でフォーマットします。といってもMBRの構築とパーティションテーブルに全容量をNTFSで使用するという領域を書き込むだけで、その中身までは本ツールではフォーマットしません。パーティションのフォーマットはWindowsで行うか、DOS上なら拙作の別ソフト「fdsk」を使用してください(いったんパーティションは削除のうえ再作成)。

 中途半端なようですが、この機能を用意したのは、既にスーパーフロッピーフォーマットでFD互換となっているストレージを、再起動後にMBR形式HD互換に変更するためです。FD互換で認識されている状態だとほとんどのDOSツールの対象外となるので、まずHD互換とすることまでを本ツールは目的としています。

 コマンドオプションとして、 /L または/Legacy をつけると、FAT/FAT32フォーマットの「予約セクタ」の数を削減します。本ツールの主な対象はUSB接続のフラッシュメモリかと思いますが、フラッシュではアクセス単位や消去ブロック単位が2の累乗バイト境界にないと速度低下を招きます。寿命の点でもよくありません。そのため一般的に予約セクタ数を多く取って、FAT32ブロックとデータ領域との境界を調整しますが、数千セクタ(数MB程度)を無駄にする場合があります。Legacyオプションをつけるとその無駄を省いて予約セクタ数は32以内とします。対象が物理的ハードディスクの場合はLegacyオプションを付けておくとよいでしょう。このオプションがあってもAFTドライブの8セクタ境界は満たした状態でフォーマットされます。このオプションを指定しない限りはSSDやフラッシュに最適な予約セクタ数を確保します。最初の画面の右上に青でモードの表示がなされます。

 コマンドオプション /F をつけると、sFD形式であってもMBR形式(要するにパーティションテーブルがあるもの)として扱います。これはWindows自身がsFD形式とMBR形式をごっちゃにしてドライブを認識することがあるためです。ブートセクタはsFD形式としてのコードが書かれているのに、パーティションテーブルも存在し、Windowsドライブはそれに基づいて認識していることがあります。そのような場合は強制的にMBR形式とみなす必要があります。

 コマンドオプションとして、 /B または/Backup を与えると、デバイスリストで選択した先頭セクタをファイル保存します。実行したカレントディレクトリに作られます。いわゆるブートセクタのバックアップ機能です。

 コマンドオプションとして、 /U に続いてファイル名を与えると、デバイスリストで選択したディスクドライブの先頭セクタにそのファイルを書き込みます。ファイルの中身は判断しませんので本当によいのかはご自身で把握しておいてください。間違ったファイルを与えると一撃でファイルシステムを破壊してしまいます。

 コマンドオプションとして、 /S または /statを与えると、HD互換FD互換の全デバイスのリストが表示されます。MBR形式でパーティションや拡張DOS区画の論理パーティションがある場合は、それらも表示されます。拙作fdskにも同様な機能はありますがFD互換デバイスは表示されません。

4.【注意点】

誤消去注意

 このプログラムを少しでも実行開始すると、データの消去が行われます。復旧は絶望的に困難となります。くれぐれも意図しないディスクドライブを消去しないようにご注意ください。とくに同容量のものが複数繋がっているときは間違いが起こりやすいです。対象ディスクを識別する番号(80h..、00h..)では物理ストレージとの対応がわかりにくいです。

 誤って消去しないようにするには、消去/フォーマット対象ディスクドライブのみ接続し、DOSの起動はFD、CD-ROM、明らかにUSBストレージでない容量のHDなどから行うとよいでしょう。

むやみに適用してよいか

 パソコン以外のシステム、例えばデジタルカメラ、ビデオ、楽器、医療機器などでデータ記録用に使われているUSBメモリ、USB接続のメモリカードは、これらの機器専用でフォーマットされている場合があります。そのようなストレージを本ツールでフォーマットすると、データが無くなるのはもちろんのこと、それらの機器に装着しても認識できなくなる場合があります。基本的にはそう考えるべきです。適用してよいかどうかはご自身で判断してください。

 いっぽう、それらの機器でどうにもフォーマットできなくなったり、装着しただけで機器が起動できなくなるような場合に、本ツールで全消去を行うことで、機器で使用できるようになる場合が(かなり)あります。Windowsのディスク管理ではUSBストレージのファイルシステムを完全に潰すことができないようになっていますので(DiskPartコマンドを熟知して使えば可能ですが)、DOSで簡単に消去/フォーマットができるツールは存在意義があるかと思います。

32GBを超えるストレージへの適用

 本ツールではFAT32でフォーマットしますが、「32GBを超えるスーパーフロッピー形式FAT32」というファイルシステムは一般的に規定されているとは言えません。32GBを超えるUSBメモリ等を持っていないため、これでフォーマットしてDOS,Windows,Linuxなどで認識できるかどうかはテストしていません。一般の機器・システム・タブレット端末などでは32GBを超えたらexFAT、WindowsPCではNTFSを使用すべきでしょう。ちなみにスーパーフロッピー形式(パーティションテーブルなし)のexFATは規格として存在するようですが、NTFSはどうなのかは知りません。32GB以上の場合は本ツールは使わず、フォーマットは使用したい機器上で行うほうがよいと考えられます。

未使用状態にクリアしたUSBメモリの認識

 本ツールではファイルシステムの消去のみも選択できるわけですが、その後再起動してFD互換となるかHD互換となるかは、そのPCシステムに依って異なります。私の知る限りでは多くのマザーボードでは、完全消去状態のUSBメモリはHD互換で認識しましたが、あるNEC製PCではFD互換で認識しました。Windowsではディスク管理で容量確保とフォーマットをすることができますが、実体はBIOSでの認識状態を引き継ぐと考えられます。

 一般的には、パソコン用で使う限りはスーパーフロッピー形式よりもMBR形式のほうがデータ破損に強いでしょう。先頭セクタ付近がクリアされるという異常は、システムクラッシュのほか古典的ウィルス感染でも起こりえますが、先頭がパーティションテーブルだけでファイルシステム本体が後にある場合のほうが復旧させやすいです。しかし容量の無駄はMBR形式のほうが1MB程度大きくなります。メガバイトオーダーのリムーバブルメディアしかなかった時代にはこれが無視できなかったので、スーパーフロッピー形式などという物が残っているわけですが、現在ではこれを選択するメリットは、「HD互換BIOSから見えない状態でOSを起動したい」という理由や「昔に設計された機器で使用しなければならない」という理由以外にないと思います。つまりDOSやLinuxの1FD起動、Windowsインストール用/仮起動用Windows PE起動くらいだということです。

USBストレージは何台までBIOSで認識できるのか

 これはよくわかりません。PCのBIOSに依るとしか言いようがありません。試したマザーボードでは、USBメモリがFD互換で認識する台数には限りがあり、デバイス番号00..03までの4台まででした(そのうちDOSでA:ドライブB:ドライブとなるのは00,01番として認識されているものだけ)。物理FDDやエミュレーション起動CD-ROMドライブがある場合は、それと別に最大4台まで認識できました。HD互換も限りがあり、物理SSD/HDDも含めて7台まででした。これが一般的な仕様なのかどうかはわかりません。

USBストレージドライバをDOSで使用している場合

 そのようなデバイスドライバを併用した状態で本ツールを実行すると、整合が取れなくなる場合があります。実行後にデバイスドライバ経由でUSBストレージに読み書きすると問題があると思います。基本的には本ツール適用後はすぐに再起動してください。

本物のFDやCD-ROM起動のDOS

 きわめていい加減な方法ですが、本ツールでは容量が2MB以下のディスクドライブは本物のFDと判断して対象から除外しています。また容量ゼロを返す場合はFDエミュレーションのCD-ROM起動ドライブと判断して除外しています。

英語モードDOS

 DOSが英語モードのときは、メッセージは全て英文となります。しかし内容の正確さや日本語からの翻訳の品質については全く保証できません。またDOSの種類によっては(DR-DOSやFree DOSなど)、日本語/英語モードの判定を誤る可能性があり、英語モードなのに半角8bit文字のバケ文字が現れたり、日本語モードで枠線などがおかしなカナ文字で表示される場合があります。英文の誤りや言語モード判定の誤りが認められた場合はご一報くださると幸いです。

著作権ならびに約束事項

 このプログラムはフリーソフトウェアです。自由に使用してよい代わりにサポートのようなものはありません。直接・間接的に、このプログラムの運用の結果に何があっても、作者 DOSsoft は一切責任をとることはないものとします。著作権はDOSsoftにあります。他のサイトへの無断転載は認めません。著作権侵害のないようにお使いください。連絡メールアドレスは、ホームページ上に記載されています。

5.改版・掲載履歴

2017年08月01日 1.35 

 新規掲載(FDSKと同じバージョンで開始) 2017年08月20日 1.36 

 コマンドオプション /F を追加

[戻る]