Windows 98のMS-DOS起動ディスクからUSB-HDD(USBメモリ)を使ってみる。

以前にWindows 98のセットアップファイルから起動ディスクのイメージファイルを自動で作成するツールを公開しましたが、今度はそれを改良してUSB-HDDドライバなどの様々なツールを自由に組み込めるようにしました。また、サブディレクトリの書き込みをサポートしました。(たぶん今回の改良で一番苦労した部分。)
すっかり作れるところまで作りきった気分なので、これ以上機能を増やして更新する予定はありません。参考にならないソースコードを同梱しているのでそれは自由に使っても使わなくても構いません。

以前の記事

USBメモリでWindows 98の起動ディスクを作る

更新したツールはこちらに置いてあります。(注: 別途Windows 98のセットアップファイルが必要です。)

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

ツールの使い方はそちらのドキュメントを参照していただくとして、ここではツールのことは置いて、Windows 98/MeのMS-DOSモードからUSB-HDDを使う方法を紹介します。


○必要なもの、使用するソフト

  • kxlrw40an.exe KXL-RW40AN Win98SE用ドライバー http://panasonic.jp/com/support/drive/cdrrw/kxlrw40an/download.html
  • mhairu.zip もっとはい~る Dos用ドライバ http://www.novac.co.jp/driver/hd350w/hd350w_drv.html
  • USB1.1またはUSB2.0のインターフェース
  • FAT32フォーマットが可能なUSB-HDD

ダウンロードしたファイルは実行せずにLhaForge等のアーカイブソフトで展開します。展開したら、kxlrw40an.exeに含まれているUsbaspi.sysと、mhairu.zipに含まれているDI1000DD.SYSを取り出します。これをDOSのシステムを組み込んだディスクドライブに持って行きます。

○CONFIG.SYSにデバイスドライバを追加

DOSのシステムと同じドライブのルートディレクトリにCONFIG.SYSというファイルがあるはずなので、これをテキストエディターで開き、次の2行を下の方に追加します。

DEVICEHIGH=USBASPI.SYS /V /E
DEVICEHIGH=DI1000DD.SYS

これはUSB2.0接続のUSB-HDDを使用する場合の設定例です。USB1.1接続の場合は/Eスイッチを省略してください。

  • /W - USB接続のフロッピーディスクドライブを使用する際は、このオプションを付ける。
  • /E - 接続するポートがUSB2.0の場合には、このオプションを付ける。
  • /P=XXXX - デバイスドライバを登録する際に目的のI/Oポートに割り当てることができない場合に、このオプションでI/Oポートを4桁の16進数で指定する。

USB1.1接続かUSB2.0接続かを判別するには、以下の手順で行います。

○USB1.1(OHCI/UHCI)、USB2.0(ECHI)、USB3.0(XHCI)を判別する。

USBデバイスを接続したら、Windows上でデバイスマネージャーを開いて、メニューバーから「デバイス(接続別)」を選択します。

「ACPIユニプロセッサPC」→「Microsoft ACPI-Compliant System」→「PCIバス」→「PCI標準PCItoPCIブリッジ」とたどって、目的のデバイスらしき名前の項目を探します。このあたりはシステム構成によって若干異なります。

そのデバイスが「USB ユニバーサル ホスト コントローラ」(UHCI)または「標準 OpenHCD USB ホストコントローラー」(OHCI)に属している場合はUSB1.1。「標準エンハンス PCI to USBホストコントローラー」(EHCI)に属している場合はUSB2.0接続です。ちなみにXHCIはUSB3.0で、USB3.0接続のUSB-HDDは基本的に使えません。
I/OポートアドレスはUSBホストコントローラのデバイスのプロパティから「リソース」タブで知ることができます。
Image: Standard Enhanced PCI to USB Host Controller Properties

設定したら、あらかじめUSB-HDDをつないでおいたまま、DOSを起動します。BIOSの起動デバイス順位の設定でUSB-HDDが上位になっているとDOSが起動しないことがあるので、USB-HDDの起動順位は下げておきます。
USB-HDDはFAT(FAT16)またはFAT32フォーマットでないとアクセスできません。容量に上限があるのか、それともFAT32の上限である2TBまで使用できるのかは不明です。

以下はCONFIG.SYSの設定例です。

FILES=20
BUFFERS=15
STACKS=9,256
DEVICE=HIMEM.SYS /VERBOSE
DEVICE=EMM386.EXE RAM 2048 VERBOSE
DEVICEHIGH=BILING.SYS
DEVICEHIGH=JFONT.SYS /MSG=OFF
DEVICEHIGH=JDISP.SYS /HS=LC
DEVICEHIGH=JKEYB.SYS /106 JKEYBRD.SYS
DEVICEHIGH=RAMDRIVE.SYS /E 3072 512 224
DEVICEHIGH=USBASPI.SYS /V /E
DEVICEHIGH=DI1000DD.SYS
DEVICEHIGH=OAKCDROM.SYS /D:MSCD001
LASTDRIVE=Z
DOS=HIGH,UMB

起動時のメッセージ

ASPI Manager for USB mass-storage  Version 2.06
 (C)Copyright Panasonic Communications Co., Ltd. 2000-2003

    Controller  : 00-02-1 VID=10DEh PID=005Bh (1043h-815Ah) EHCI
                :         MEM=FEB00000h-FEB000FFh(256Bytes)
    USB Device  : HOST [00-02-1 VID=10DEh PID=005Bh (1043h-815Ah) EHCI]
                :   |-- VID=0411h PID=01F2h HS
                :   ^-- 1 device(s)
    ASPI Device : ID:0 LUN:0 = BUFFALO  USB Flash Disk   1.00

DI1000 ASPI DISK Driver Ver 2.00
Copyright(C)2001 NOVAC Co.,Ltd.

Available ID = 0
ID 0 = HD .. BUFFALO USB Flash Disk
 #1 :  基本DOS(FAT32)  7709MB drive = E:

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

管理人 : Akamaki (akm)

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

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

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