フロッピーディスクドライブ(FDD)はほとんどのメーカーが生産を終え、現在唯一フロッピーディスク(FD)を生産しているソニーも2011年3月で生産を打ち切ると宣言している。
FDDやFDが入手困難になるのも時間の問題なので、FDを一切使わずにしかもWindows XP(Vista, 7は未確認)上で起動ディスクを作る方法を紹介。

本来の起動ディスクの内容

Windows 98の起動ディスクのファイル一覧[Win98+7]

あれこれ作業が非常に面倒なので、起動ディスクイメージを自動で作成するツールを作りました。
下記リンクに置いてありますので詳しくはそちらを参照してください。(2011/12/06)


http://radioc.web.fc2.com/

以下、昔に書いたのをそのまま残しておきます。



○必要なもの、使用するソフト
・Win98のインストールメディア
→ 通常版、アップグレード版、98SEアップデート版のいずれもOK。ただしOEM版はどうなのか知らない。
・読み書き可能なUSBメモリ
→ 容量は16MBくらいあれば十分足りる。現在出回っているUSBメモリの最下位モデルでも4GBあるので余裕。
いっそのことWin98のインストールCDの内容を丸ごと詰めてもいいかもしれない。
・USB-HDDブートに対応するマザーボード(BIOS)
→ BIOS設定の起動順位の設定にUSB-HDDの項目があれば対応している。
・Virtual Floppy Drive(http://chitchat.at.infoseek.co.jp/vmware/indexj.html)(SourceForge)
仮想FDDマウントソフト。仮想的にFDDを作ってFDイメージファイルを読み書きするソフト。同じような機能を持ったソフトならこれでなくてもよい。
・UNetbootin (http://unetbootin.sourceforge.net/)
起動可能なイメージをUSBメモリなどに書き込める優れモノ。
実際にはイメージファイルのデータをそのままUSBメモリに書き込んでいるのではなく、仲介役となるブートローダーが存在してそのブートローダーがイメージファイルを読み込んで制御を渡している。

以下の作業はすべてWindows XP上で行っている。

○必要なファイルを集める
Windows 98のインストールCDから必要なファイルを集める。
Win98の起動ディスクは2枚あるが、これはIDEデバイスとSCSIデバイスの両方をサポートするためのドライバを含んでいるからである。
今回はSCSIデバイスを使わないという前提でSCSIデバイスドライバを省き、フロッピー1枚に収まるように起動ディスクを作ってみる。

*必要となるファイル

1998/06/12  20:01           285,178 EBD.CAB
1998/06/13  05:01            93,242 EXTRACT.EXE
1998/06/12  20:01            79,948 FDISK.EXE
1999/05/05  22:22             6,855 FINDRAMD.EXE
1998/06/12  20:01            36,647 HIMEM.SYS
1998/06/12  20:01           224,150 io.sys
1998/06/12  20:01            22,664 JDISP.SYS
1998/06/12  20:01            22,790 JFONT.SYS
1998/06/12  20:01            22,503 JKEYB.SYS
1998/06/12  20:01             1,494 JKEYBRD.SYS
1998/06/12  20:01           260,576 KANJI16.FNT
1998/06/12  20:01            41,302 OAKCDROM.SYS
1999/05/05  22:22            17,623 RAMDRIVE.SYS
1999/05/05  22:22             1,253 SETRAMD.BAT
1998/06/13  05:01            45,379 smartdrv.exe
1998/06/12  20:01             4,096 ANK16.FNT
1998/06/12  20:01             4,864 ANK19.FNT
1998/06/12  20:01             3,175 BILING.SYS
1998/06/12  20:01           118,164 COMMAND.COM


圧縮ファイルの1つ1つを探るのも酷なので、こちらの方のを参考にバッチファイルを作ってみた。

set FD_TEMP=C:\FD
set W98SETUP=E:\WIN98
mkdir %FD_TEMP%
cd %W98SETUP%
extract /l %FD_TEMP% /a base5.cab ebd.cab
extract /l %FD_TEMP% /a base5.cab command.com
extract /l %FD_TEMP% /a base5.cab winboot.sys
extract /l %FD_TEMP% /a base5.cab oakcdrom.sys ramdrive.sys setramd.ebd findramd.exe
extract /l %FD_TEMP% /a base5.cab himem.sys jfont.sys ank16.fnt ank19.fnt kanji16.fnt
extract /l %FD_TEMP% /a base5.cab jdisp.sys biling.sys jkeyb.sys jkeybrd.sys fdisk.exe
copy extract.exe %FD_TEMP%
copy smartdrv.exe %FD_TEMP%
cd %FD_TEMP%
ren winboot.sys io.sys
ren setramd.ebd setramd.bat


ここではCDドライブのセットアップファイルがあるフォルダーをE:\WIN98、コピー先をC:\FDとしている。
Windows Vista以降で実行する場合はC:\FDではなく他の書き込み可能な場所に変えておくこと。
フォルダーパスにスペースが含まれていると正しく処理できないので注意。
問題がなければ19個のファイルがコピーされるはず。

○config.sysとautoexec.batを作る
config.sys

FILES=30
BUFFERS=40
STACKS=9,256
DEVICE=himem.sys
DEVICEHIGH=biling.sys
DEVICEHIGH=jfont.sys /MSG=OFF
DEVICEHIGH=jdisp.sys /HS=LC
DEVICEHIGH=jkeyb.sys jkeybrd.sys
DEVICEHIGH=oakcdrom.sys /D:MSCD001
DEVICEHIGH=ramdrive.sys /E 8192
LASTDRIVE=Z
DOS=HIGH,UMB


autoexec.bat

@ECHO OFF
set EXPAND=YES
set DIRCMD=/O:N
set LglDrv=27 * 26 Z 25 Y 24 X 23 W 22 V 21 U 20 T 19 S 18 R 17 Q 16 P 15
set LglDrv=%LglDrv% O 14 N 13 M 12 L 11 K 10 J 9 I 8 H 7 G 6 F 5 E 4 D 3 C
cls
call setramd.bat %LglDrv%
set LglDrv=
mkdir=%RAMD%:\temp > NUL
set temp=%RAMD%:\temp
set tmp=%RAMD%:\temp
copy /B /Y command.com %RAMD%:\ > NUL
set comspec=%RAMD%:\command.com
path=%RAMD%:\;a:\;%CDROM%:\
copy /B /Y extract.exe %RAMD%:\ > NUL
%RAMD%:\extract /y /e /l %RAMD%: ebd.cab > NUL
echo 診断ツールが %RAMD% ドライブに読み込まれました。
echo.
lh %ramd%:\MSCDEX.EXE /D:MSCD001 /L:%CDROM%
smartdrv 2048
echo.
set CDROM=

これらのファイルをテキストエディタで作ったらC:\fdに入れる。
これにて準備完了。

○起動ディスクのディスクイメージを作る
1. 仮想FDマウントソフト「Virtual Floppy Drive」(http://chitchat.at.infoseek.co.jp/vmware/indexj.html) をダウンロード、解凍する。

2. Virtual Floppy Drive(以下VFD)を解凍したらその中のvfdwin.exeを実行。
ドライバをインストール、開始してドライブ文字を適当に割り当て、1.44MBのディスクイメージを作成。

3. エクスプローラからフロッピーディスクドライブ(VFDで作った仮想FDD)を右クリック→フォーマット。
「MS-DOSの起動ディスクを作成する」にチェックを入れてフォーマットを行う。

4. フォーマットが終わったらそのフロッピーディスクドライブを開いてmsdos.sys以外の全てのファイルを削除する。
(※msdos.sysはシステムファイル属性が付いているため通常はエクスプローラ上に表示されない。)

5. C:\fdにある全てのファイルをFDドライブに移す。

6. VFD上でイメージを保存、閉じる。

○ディスクイメージをUSBメモリに書き込む
7. USBメモリを接続する

8. Live USBドライブ作成ソフト「UNetbootin」(http://unetbootin.sourceforge.net/)をダウンロード、実行する。

9. 「Diskimage」にチェックを入れ先ほどのディスクイメージファイルを選択。
「Drive」でUSBメモリのドライブ文字を選んで「OK」をクリックすると書き込みが始まる。
USBメモリはFAT32フォーマットであれば必ずしも空である必要はないが、念のためにも重要なファイルは別の場所に移しておくことをお勧めする。


ブート時にCDドライブを認識できないとのエラーが出る場合、シリアルATA接続のCDドライブがAHCIモードになっている場合がある。
その際はBIOS設定などでIDE互換モードに変更してみる。

USBブート時はHDDよりもUSBメモリのほうが優先度が高いため、USBメモリのドライブがCドライブになってしまう。
なのでWindowsインストール時はSYSコマンドでインストール先のHDDパーティションにシステムを転送。
USBブートディスクの中身もすべてHDDに移してからUSBメモリを使わずにHDDから起動する。


旧ブログでのコメント

AUTHOR: トオリス・ガリー
URL:
DATE: 2012/03/31 23:18:19
今更なのですが……小ネタ
Windows98(但しUSBメモリドライバ導入済み)の上であれば、USBメモリを「起動専用」リムーバブルメティアとしてフォーマットできるのではないでしょうか……?
その後不要ファイルを削り、必要なら起動関係を書き換え、必要ファイルを移動してやれば、Windows98そのものを収めたUSBメモリも作れるかと……。

EeePC 4G-X上で、こうして作成したUSBメモリからDOS状態での起動までは確認しました。
Windows98の起動が確認できたらまたご報告したいと思います。

AUTHOR: calisii
URL:
DATE: 2012/04/01 01:23:34
Re:今更なのですが……小ネタ
トオリス・ガリー さん。
こんな僻地(当サイト)をご覧いただき、そしてコメントありがとうございます。

>Windows98上であれば、USBメモリを「起動専用」リムーバブルメティアとしてフォーマットできるのでは・・・?
もともとこのページは、起動ディスクを紛失かつ作成できない環境にあるWin98のためにWinXP上でWin98の起動ディスクを作ろうというものでした。なのでWin98が使えないことが前提になっています。

>Windows98そのものを収めたUSBメモリも作れるかと……。
何度かやろうと考えたことはありますが、わざわざUSBメモリに入れるメリットが思い浮かばないので試したことがありません。今ではWin98が動作する環境がなくなってしまったので、試しようがありません。
まあそれはともかく、USB起動にぜひ挑戦してみて下さい。


※コメント欄が表示されない場合はdisqusについてJavascriptが有効であることを確認して下さい。コメントはスパム防止フィルターによる承認制のため、投稿してもすぐに反映されない場合があります。

管理人 : Akamaki (akm)

は、PCとVTuberに夢中になっている電気技術者です。

私はレトロコンピューティングの愛好家ですが、そのようなリグはもう収集していません。

私の活動はトップページで見ることができます。読んでくれてありがとう!