MULTI-FATユーティリティ

2001.09.16


【概要】
Windows 9x、Windows MEなどを、一つのハードディスクの一つの基本領域だけでマルチブートするためのユーティリティです。機能は至って簡単です。これらのOSの違いを司る、Cドライブ直下にある以下のブート系ファイルの退避、復元を行うだけです。

IO.SYS
MSDOS.SYS
CONFIG.SYS
COMMAND.COM
AUTOEXEC.BAT


MBRなどにインストールするブートローダではありません。あくまでWindows上で稼動するWin32アプリケーションです。従って起動時に各OSを選択して起動するというものではありません。あるOSの稼動時に次の再起動後に起動するOSを選択するのです。

非常に頻繁に各OSを起動し分ける人には、ちょっと不便かもしれません。このツールで不便を感じる人は、SystemCommaderなどを購入して、そのMultiFAT機能を使うか、それぞれのOSを別の基本領域にインストールして、通常のブートローダで起動して下さい。


【開発経緯】
もともとMulti-FAT機能を持つフリーのブートローダがなく、それに近いと思われた、Microsoftが多言語OSのマルチブートを可能にするために作ったユーティリティWinBootが多言語環境でしか使えないために、同言語で複数をWindows9xを起動し分けることができるようにと、WinBootの動作をヒントに作りました。


【警告】
機能は至って簡単ですが、システムに関わる重要なファイルを取り扱うため、ある程度の危険を伴います。十分にテストを行っていますが、環境によりどのような事態になるか想像がつきません。上記5つのブート系ファイルをバックアップ、レストアする手段を持っていることが望ましいです。

尚、上記5つのファイル以外のWindowsのファイルには一切触れません。

【ダウンロード】
multifat.lzh(126,986bytes)


【使い方】
アーカイブ(multifat.lzh)を解凍してください。このページとほぼ同じ内容のReadme.htmlと、プログラム「multifat.exe」が展開されるはずです。

プログラムは「multifat.exe」という実行ファイル一つです。インストールする全てのWindows9x系で動くように作ってあります(但しIE3.01以上が必要)。この実行ファイルを各OSで共通に使います。

どこに置いても実行できますが、とりあえずCドライブの直下にでも置いてください。

ここでは例として、Windows 95を「C:\WINDOWS」に、Windows 98を「D:\WINDOWS」に、Windows 98 SEを「E:\WINDOWS」にそれぞれインストールし、このツールで起動し分ける方法を説明しましょう。

※注:各Windowsはなるべく別のパーティション(ドライブ)にインストールしましょう。そうしないと「Program Files」が共通になって、思わぬ不具合が起こるかもしれません。もっともどうしてもというのなら、同パーティションでシステムディレクトリだけ変えても別に構いませんが、不具合の保証はできません。

まずパーティションを作成、フォーマットを行って、早速「C:\WINDOWS」にWindows 95をインストールします。インストールが完了したら、Windows 95上で、multifat.exeを実行して下さい。今後起動し分けるときにも使うのでデスクトップなどにショートカットを作っておくと便利でしょう。

最初の起動時に、データを格納するルートフォルダの指定ダイアログがでます。デフォルトでは「multifat」になっています。他のフォルダにしたければ、変更して下さい。ただしできるだけ8文字以内にして下さい。障害時にDOS上で復旧するのに不便なので。

「OK」を押すと、Cドライブの直下に指定フォルダと「multifat.ini」というファイルを作成します。このファイルは現在ルートフォルダが記述されているだけです。このファイルの名称は変更できません。

実行ダイアログで、「新規作成」ボタンを押してください。このOSのタイトルと、IO.SYSファイルなどの格納フォルダを指定します。

タイトルは、あとで起動時に選ぶものになるので、分かりやすいものにしましょう。一応255バイトまでOKですが、そんな長くすることもないでしょう。ここは例として「Windows 95 OSR2」とでもしておきましょうか。格納フォルダは、C:\multifatの下に更に作られるフォルダで、絶対パスで書く必要はありません。というか書かないで。ここは単に「WIN95B」くらいでいいでしょう。やはりフォルダは8文字以内にして下さい。

タイトルと格納フォルダ名を入力したら、「OK」ボタンを押します。この時即座に、現在のCドライブにある、IO.SYSなどが、C:\multifat\WIN95Bにコピーされます。起動OSリストにも「Windows 95 OSR2」が加わったはずです。Windows 95上での作業はこれで完了です。

次に「D:\WINDOWS」にWindows 98をインストールします。インストールが完了すると、Windows 98が起動するはずです。先程と同じmultifat.exeを実行します。やはりここもショートカットを作っておくといいでしょう。起動したらWindows95の時と同じように、新規作成を行います。ここは、タイトル「Windows 98」、格納フォルダ「WIN98」とでもしておきましょうか。

はい、この時点で既に、「Windows 95 OSR2」と「Windows 98」を起動し分けることができるようになったのですが、まあ焦らずに、次に進みましょう。

最後に、Windows 98 SEを「E:\WINDOWS」にインストールします。インストール後の作業は今までと同じです。タイトル「Windows 98 Second Edition」、格納フォルダは、「WIN98SE」としますかね。

これで全て設定は完了です。各OSで、multifat.exeを実行し、起動OSリストから、希望のOSを選択して、「設定」ボタンを押してください。選択OSのIO.SYSファイルなどが、Cドライブにコピーされます。そして再起動を行うと、そのOSが起動するという寸法です。

実に簡単で、単純な原理でしょ。


【動作環境】
以下のOSで動作確認しました。それぞれの起動し分けも勿論可能です。

Windows 95 初期型(IE3.01以上が必要)
Windows 95 OSR2
Windows 98
Windows 98 Second Edition
Windows Millennium Edition(REGENV32.EXEにパッチを当てる必要あり)

multifat.exe自体が、WIN32 MFCアプリケーションなので、DOS上では動かないため、MS-DOSを起動OSとすることもできません。


【Windows MEの場合の注意】
Windows MEは、現状では、デフォルトのままでは正しく動作しません。これはデフォルトのWindows MEは終了時にConfig.sysの中身を消してしまうため、次のOSが起動できなくなることがあります。Windows 95の場合、Config.sysが空でも、何とか起動はしますが、Windows 98では、殆どの場合起動に失敗します。

またWindows ME自身も起動時のチェックで、他のOSからの切り替え起動の時に必ず、セーフモードで起動しようとします(メニューで選べば、通常起動もしますが、いちいちメニューがでるのがうざったいです)。

これらを避けるために、\WINDOWS\SYSTEM\REGENV32.EXE というプログラムにパッチを当てる必要があります。以下のページに、Windows MEでRealモードDOSを使用するためのパッチ適用の方法が書いてあります。

http://www.geocities.com/mfd4life_2000/

マルチブート上は、単に終了時のConfig.sysの削除と起動時の環境チェックだけ外せば十分なので、上記ページにあるようにIO.SYSやCommand.comまでパッチを当てたものを使用したり、Config.sysやAutoexec.batを書き換える必要はありません。上記ページのパッチ当て手順までやって、後はREGENV32.EXEだけ、パッチを当てたものと交換して下さい。心配な人は前のファイルのバックアップを取って置いてください。

【開発環境】
Microsoft Visual C++ 5.0 で開発をしています。MFCを使っていますが、スタティックリンクしているので、外部DLLを必要とせず、環境に依存せずに使用できるはずです。


【著作権】
このプログラムの著作権は、高安延匡が有します。


【免責】
このプログラムによるいかなる損害にも作者は責任を負いません。自己責任でご使用下さい。


【サポート】
以下のサイトで、このプログラムのサポートを行います。またメールも受け付けます。

HomePage: Nobusan's Square

E-mail: nobumasa@fhe.freeserve.ne.jp


【修正履歴】

2001.09.16 正式公開。

2001.09.06 β2 WindowsME対応の提示、コピー処理の見直し、アイテム編集機能の追加他、微修正。

2001.09.05 β1 最初のベータ公開