気の向くままに辿るIT/ICT/IoT
システム開発

FreeDOS

ホーム前へ次へ
FreeDOSって?

FreeDOS

FreeDOSとは

 FreeDOSは、IBM PC/ATにPC DOSとして搭載されたMicrosoft社製OS、PC/AT互換機用に同社オリジナルとしてリリースされたMS-DOSの販売・サポート終了に伴い、MS-DOS機能を継続利用できるよう代替を目的として開発されたMS-DOSをも凌ぐ性能を持つに至っているオープンソースのMS-DOS互換OSであり、他にもMS-DOSに近いOSとしてDR DOS(DR-DOS)もあります。

 FreeDOSは、x86CPU搭載のPC/AT互換機においてファイルシステムとしてFAT/File Allocation Tableだけでなく、ファイルシステムのタイプをNTFSやextに変更できるようですし、また、レスキュー用途としてもMS-DOS以上に有用と言えるでしょう。

 当初のMS-DOS同様FreeDOSもハードディスク上にインストールすることもできますし、手持ちの物理的なPCの他、仮想化ソフトウェアが登場した近年においてDOSは、MEを含むWindows 9系やNT系を敢えてFATフォーマットした上など起動ディスクとしてのニーズが主であり、前述の通り、その開発経緯からMS-DOSの代替として利用することもできます。

 FreeDOSの場合、FD/CD/USBに入れて起動ディスクとして使うこともできますし、FDなら物理的なフロッピーディスクをFDDで、または、フロッピーディスクイメージ(ファイル)をVirtual Floppy Driveのような仮想フロッピーディスクドライブにセットすることで利用することもできます。

FreeDOSを使ってみる

 このページでは、複数の仮想化ソフトウェアの仮想マシンを使ってFreeDOS 1.1をハードディスクにインストールしてみると共にWindowsインストール用の起動ディスクとして使用する方法を検証してみるものとします。

FreeDOSと仮想化ソフトウェア

FreeDOS 1.1を仮想マシンで使う
HDDへのインストール
起動ディスク共に可
VirtualBox 4.2.12
QtEmu 1.0.5(QEMU)
Virtual PC 2007
起動ディスクのみ可
Vmware Player 3.1.6

 何れもFreeDOSをゲストOSとして公式にはサポートしていない模様も『その他OS』扱いとすることで一部の仮想化ソフトウェアの仮想マシンにインストールすることも、他方、仮想FDDを利用してブートイメージだけを起動することもできます。

 当サイトの検証においては、VirtualBoxQEMUVirtual PC 2007では、インストール及び起動ディスクの利用が可能、一方、究明はしていませんが、VMware Playerでは、MBRの末尾の2バイト0xAA55というブートシグニチャが見当たらないというエラーによりインストールができないものの、仮想FDDによるディスクイメージの起動は可能でした。

[訂正・追記]
 VMware Playerでも[Install to harddisk]からインストールできました。
 若干トリッキーで思わず笑ってしまいましたが、先のブートシグネチャによるエラーが出る画面上で
  1. メニューの[仮想マシン(V)] > [Ctrl-Alt-Delの送信(C)]をクリック
  2. 素早く画面をクリックし、仮想マシンに入力を切り替えつつ
  3. 更に素早く[Esc]キーを1回押し(2回押しちゃうと消えちゃって意味なくなる)
  4. メニューから[CD-ROM Drive]を選び[Enter](ここは別に急がなくてもよい)
 VMware Playerでは、[Install to harddisk]をクリックした後、(VirtualBoxやQEMUの時のようなXFDiskではなく、)fdiskによるパーティション作成が可能であった為、当然の如くfdiskを実行する為の[Create Drive C:]を事前に選択する必要もなく、インストールできました。

FreeDOS 1.1をハードディスクにインストール

HDDにインストールしたFreeDOS

QEMUの仮想マシンにインストールしたFreeDOS
QEMU
VirtualBoxの仮想マシンにインストールしたFreeDOS
VirtualBox
Virtual PC 2007の仮想マシンにインストールしたFreeDOS
Virtual PC 2007
VMware Playerの仮想マシンにインストールしたFreeDOS
VMware Player

 FreeDOSダウンロードページからダウンロードしたハードディスクインストール用FreeDOS 1.1をハードディスクにインストールする場合、当サイトの検証では、QEMU、VirtualBox何れにおいても初期メニューから、まず、最初に[Create Drive C:]を実行、再起動後、[Install to harddisk]を実行することでインストールすることができました。

 これは、[Install to harddisk]だけでもXFDiskでパーティション操作ができますが、先の手順にしないとパーティションを作成後でもMBRの読み込み失敗のエラーが出力され、実はパーティションができていないという状況になり、上手くいかなかった為です(が、後述のように最後にやってみたVirtual PC 2007では、できたので、単にやり方が良くなかったのかもしれませんが、この点における再検証はしていませんのであしからず)。

 一方、Virtual PC 2007は、仮想マシン作成、起動後、[CD]メニューから[ISOディスクイメージのキャプチャ]で設定後、再起動(リセット)するという使い勝手上の違いはあるものの、[Create Drive C:]を実行することなく、[Install to harddisk]を実行することでパーティション設定もでき、インストールすることができました。

 尚、日本語表示はともかく、インストール中の言語選択で[More Choices]を選択すると表示されるメニューでは[13]が[Japan]となっているはずなので[13]と入力し、[Enter]を押せば、日本語キーボードを利用できるようになります。

 そのほかのインストール時の注意点としては、下記の点でしょうか。

  • インストール元やインストール先、もしくは、インストール先のみ変更できる画面が表示されるが、インストール元については、仮にドライブが違っても躊躇したり、困ったり、修正したりする必要はない
  • インストールするパッケージ?ファイル群を選択する
    Base <x> ... < >...
    のような画面では、矢印キーで移動、[スペース]キーでチェックのON/OFFを切り替えることができる
  • [Press any key to continue...]とある画面で何らかのキーを1度だけ押しても一見なんの変化もなく、フリーズしたかに見えるケースがあるが、その場合、数回、任意のキーを押せば、次のステップに進むことができる
  • インストールするパッケージを選択する画面は複数あるが、そのままで良ければ、律義に <Done> まで移動しなくても[Enter]キーを押せば、これで良いか否かの[Yes/No]ポップアップ画面が表示され、[Yes]を選択すれば、次の画面に遷移する
  • いざ、インストールが開始、横長のプログレスバーが表示されつつ、フリーズしたかのような状態になるが、しーーーばーーーらーーーく待っていれば、順次進行する
  • インストールは、数回に分けて行われるので同じような画面が数回に渡って出力される
  • インストールが完了し、再起動する際、同じように見える黒い背景に白文字の画面表示と画面クリアが数回繰り返され、一見、壊れたかのように見えるが、壊れているわけではないので、慌てず、騒がず、ゆったり、のんびり、じっと待つ

 ちなみにQEMUでは、これらに加えて再起動時に再起動せず、一度終了させてから改めて起動する必要がありました。

FreeDOSを起動ディスクとして利用する方法

 FreeDOSダウンロードページには、最新及び過去のバージョンや1.44MBのフロッピーディスクイメージ(fdboot.img)などのリンクがあります。

 起動ディスクとしてFreeDOSを使用したい場合には、このfdboot.imgとWindowsインストール用の起動ディスクとして必要なファイルが収録されているハードディスクインストール用FreeDOSをダウンロードします。

 流れとしては、次のようになります。

fdboot.img構成の流れ

  1. fdboot.imgを仮想FDDなどに展開
  2. 下記以外のファイル・フォルダ削除
    [kernel.sys]
    [command.com]
    [driver]フォルダ
  3. ルート上に以下ファイルを入手・配置
    [fdisk.exe]
    [format.exe]
  4. ルート上に以下ファイルを作成
    [config.sys]
    [autoexec.bat]
  5. [config.sys]に以下を追記
    CD-ROMデバイス
    ドライブレター使用範囲
  6. [autoexec.bat]に以下を追記
    CD-ROMドライバ

起動ディスクとしてのFreeDOS

QEMUの仮想マシン上でFD起動したFreeDOS
QEMU
VirtualBoxの仮想マシン上でFD起動したFreeDOS
VirtualBox
VMware Playerの仮想マシン上でFD起動したFreeDOS
VMware Player
Virtual PC 2007の仮想マシン上でFD起動したFreeDOS
Virtual PC 2007

 まず、fdboot.imgを仮想FDDなどに展開、[kernel.sys]と[command.com]、[driver]フォルダとその中のファイルを残し、他を削除します。

 次に別途ダウンロードしたハードディスクインストール用FreeDOSを仮想CD/DVDドライブソフトウェアなどで展開、[FREEDOS]フォルダ下の[SETUP]フォルダ内にある[ODIN]フォルダから[FDISK.EXE]と[FORMAT.EXE]をコピー(複写)し、展開したfdboot.imgのルート上にペースト(貼り付け)します。

 [config.sys]と[autoexec.bat]は新規に作成、これらについては、いろんなテクニックがありますが、ここでは、必要となる最小限の記述のみに留めます。

[config.sys]サンプル

DEVICE=A:\DRIVER\XCDROM.SYS /D:CDD001

LASTDRIVE=Z

 CD-ROMデバイスである[XCDROM.SYS]は、fdboot.imgにおいて先ほど残した[driver]フォルダ内にあるので、ここではパス付で指定、Dスイッチは任意のドライバ名(半角英数字と一部記号8文字以内)を指定、[autoexec.bat]のCD-ROMドライバにおけるDスイッチと同じ名称とします。

 念のため、使用するドライブレターの文字範囲指定文[LASTDRIVE]を使って例では、Zドライブまで利用できるように指定してあります。

[autoexec.bat]サンプル

A:\DRIVER\SHSUCDX.COM /D:CDD001,R

 CD-ROMドライバである[SHSUCDX.COM]もfdboot.imgにおいて先ほど残した[driver]フォルダ内にあるので、ここではパス付で指定、Dスイッチは[config.sys]のCD-ROMデバイスにおけるDスイッチと同じ名称とし、ここでDスイッチ指定の後にカンマに続くRは、CD-ROM用ドライブレターで[config.sys]内の[LASTDRIVE]で指定した範囲内で且つ既存のデバイスと重複しないドライブ文字を割り当てます。

 ちなみにMS-DOSで利用するmscdex.exeでは、Lスイッチにドライブレターを割り当てますが、FreeDOSで使うSHSUCDX.COMのコマンドヘルプを見る限り、Dスイッチに続けて記述する先の方法でなく、Lスイッチを使う場合には、1=A:、2=B:の要領でドライブレターと対になる255未満の値を設定するようです。

 尚、気の利いたテキストエディタを使用している場合の注意点として[config.sys]も[autoexec.bat]も文字コードはShift-JIS(CP932)、改行コードはCR+LFで保存しましょう。

 そうしないと起動した時、[command or file error]といったようなエラーが出力され、意味がわからず、途方に暮れてしまうことになりかねません。

 ちなみに[config.sys]、[autoexec.bat]共に内容も大文字・小文字は区別されないのでどちらでも可、また、そもそもcommand.com、autoexec.bat、config.sysは、システムファイル、隠しファイルとなっている(になる)のでエクスプローラの[ツール]から[フォルダオプション]などで表示を切り替えないと見えません。

 [ツール(T)] => [フォルダオプション(O)] => [表示]タブで以下のようにします。

  • 一覧の[ファイルとフォルダの表示]の
    [すべてのファイルとフォルダを表示する]
    にチェックを入れる
  • [保護されたオペレーティングシステムファイルを表示しない(推奨)]
    のチェックを外す

 一連の作業が終わったら、元に戻します。

 ここで使用したFreeDOSで用意されるCD-ROMデバイスやCD-ROMドライバは汎用ですが、もし、これでうまくいかない場合は、物理ドライブ、または、仮想ドライブに応じたCD-ROMデバイスやCD-ROMドライバを用意する必要があります。

 その点をクリアしていれば、これで一応使えるようになりますが、カスタマイズや日本語対応プロジェクトの存在は別としてデフォルトでは、キーボードも言語も日本語環境ではありませんから英語キーボード用のキーを打たなければいけません。

 ただ、起動ディスクとしてfdisk、format、CDドライブへの移動だけを考慮するなら[Shift]キーを押しながらセミコロン([Shift]+[ ; ])を同時に押せば、コロン[ : ]の入力ができるという方法だけ知っていれば十分でしょう。

 ちなみに先の[ODIN]フォルダには[FDISK.EXE]用の構成ファイルほか、多くのファイルがあるのでカスタマイズしたい場合には、適宜コピーして利用するとよいでしょう。

 なぜ、このような作業が必要かと言えば、fdboot.imgは、FreeDOSをハードディスクにインストールできるように構成されており、そのまま起動するとFreeDOSのインストールメニューが表示されてしまい、Windowsインストール用の起動ディスクとして使うことはできない為、不要なファイルの削除が必要となり、一方でWindows 95のインストールCDだけでは、パーティション作成とファイルシステムの設定ができないので、これを事前に行う為に必要なfdisk.exeと(ちなみにms-dosではformat.comだが、freeDOSでは)format.exeファイルをコピーすることが必要となり、DOSからCD用ファイルシステムを読み込むためにCD-ROMデバイスとドライバが必要でそれをDOSに認識させるためにautoexec.batとconfig.sysが必要となるからです。

 当サイト検証上は、インストール済みWindows 95においてFDDを優先してFreeDOSを起動、プロンプトからCD/DVDドライブに移動、setup.exeを実行、Windows 95のインストーラの起動を以って起動ディスクとして利用できると判断しました。

 よって、これでFreeDOSを起動ディスクとしてFATフォーマットし、インストールするWindows 95/98/98SE/MEインストールCD(ディスクイメージ)上のsetup.exe、NTFS対応OSでFATフォーマットする必要がある場合には、NT/2000/XPなどでも、例えば、XPならインストールCD(ディスクイメージ)上の(winnt32.exeではなく)winnt.exe、もしくは、setup.exeを実行することでクリーンインストールすることができるでしょう。

FreeDOSとGUI

XFDOS 2.0 on VirtualBox
XFDOS 2.0

 スクリーンショットまで撮ったのに忘れてました。

 FreeDOSには、インストール時点では、まだ超アルファ版という感じですが、GUIとしてXFDOSがあります。

ホーム前へ次へ