FrontPage 新規 編集 検索 一覧 ヘルプ RSS

MS-DOS7

まえがき

 Windows95/98/98SEをMS-DOS7として使うためのメモ。 ファイルを取り出すことで、長いファイル名(LFN)、FAT32(95OSR2以降)、LBA(約137GBまでのHDD)をサポートするDOSとして使うことができる。

MS-DOS7を取り出す

_用意するもの

_インストール

  1. CDブートできないものは、FATでフォーマットしたHDDにCDのi386フォルダをコピーし、setupコマンドでインストールする。
  2. 修正hotfixを入れる。

_取り出し

  1. Windows9xを起動しブートフロッピーを作る(要インストールCD)。 これがMS-DOS7のインストール兼ブートディスクになる。
    • hotfixでio.sysとfdisk.exeが更新されるので、c:\io.sysとc:\windows\command\fdisk.exeを1枚目のブートフロッピーに上書きコピーしておく。
  2. 次のファイル(約5MB)を外部メディアにコピーする。 (括弧)のファイルは無くても可。
    • ディレクトリ構造をそのまま残しておくと、bootdisk.batでブートフロッピーが作れるようになる。
    • C:\WINDOWS\COMMAND\EBD\はブートフロッピーの中身なので重複ファイルがいくつかある。
    • C:\WINDOWS\COMMAND\EBD\はブートフロッピー作成時に作られる? 作られる条件が不明。

C:\

 (AUTOEXEC.BAT) 後で作成するので不要
 (COMMAND.COM) sysコマンドでコピーされるので不要
 (CONFIG.SYS) 後で作成するので不要
 (DOSIME.SYS) MS-IMEを後から組み込む時に使う。通常は不要。
 IO.SYS hotfixにより更新されるのでブートフロッピーのものより新しい
 (MSDOS.SYS) 後で作成するので不要

C:\WINDOWS\

 ANK16.FNT
 ANK19.FNT
 (ASPI2HLP.SYS) SCSI関連? 通常は不要。
 BILING.SYS
 (CMD640X.SYS) CMD PCI-0640x IDEコントローラ用ドライバ 使ってなければ不要
 (CMD640X2.SYS) CMD PCI-0640x IDEコントローラ用ドライバ 使ってなければ不要
 (COMMAND.COM) 重複
 (CONFIG.TXT) ドキュメント
 COUNTRY.SYS
 DBLBUFF.SYS
 EMM386.EXE
 GAIJI16.FNT 外字フォント。JFONT.SYS /U=0とすると読み込まれない。
 GAIJI24.FNT 外字フォント。JFONT.SYS /U=0とすると読み込まれない。
 (GENERAL.TXT) ドキュメント
 HIMEM.SYS
 (IFSHLP.SYS) Microsoft Network Client for DOS等で使用。通常は不要。
 JDISP.SYS
 JFONT.SYS /U=0とすると外字フォントを読み込まない。
 JKEYB.SYS
 JKEYBRD.SYS
 KANJI16.FNT
 KANJI24.FNT 24ドットフォント。V-TEXTや印刷では使うこともある。WebBoyの表示にも使える。
 KKCFUNC.SYS
 (LICENSE.TXT) ドキュメント
 (MSDOSDRV.TXT) ドキュメント
 (NETWORK.TXT) ドキュメント
 (PROGRAMS.TXT) ドキュメント
 RAMDRIVE.SYS
 SETVER.EXE
 SMARTDRV.EXE

C:\WINDOWS\COMMAND\

 ADDDRV.EXE
 ANSI.SYS
 ATTRIB.EXE
 BOOTDISK.BAT
 CHEV.COM 使うにはNLSFUNC.EXEの組み込みが必要。chejを使うので無くても良い。
 CHKDSK.EXE
 CHOICE.COM
 CVT.EXE
 DEBUG.EXE
 DELDRV.EXE
 DELTREE.EXE
 DISKCOPY.COM
 (DOSIME.BAT) MS-IMEを動的に組み込むバッチ。通常は不要。
 DOSKEY.COM
 (DRVSPACE.BIN) 圧縮ドライブを使わなければ不要
 (DRVSPACE.SYS) 圧縮ドライブを使わなければ不要
 EDIT.COM テキストエディタ。日英両モードに対応。V-TEXT非対応。
 EDIT.EXE テキストエディタ本体(日本語)
 EDIT.HLP テキストエディタヘルプ(日本語)
 EDIT2.EXE テキストエディタ本体(英語)
 EDIT2.HLP テキストエディタヘルプ(英語)
 EXTRACT.EXE
 FC.EXE
 FDISK.EXE 98はhotfixを当てると128GiB(約137GB)までのHDDを扱える。当てないと64GiBまで。
 FIND.EXE
 FORMAT.COM
 JP.BAT chejでモード切り替えするように編集する(後述)。
 JPRINTER.SYS
 LABEL.EXE
 MEM.EXE
 MODE.COM
 MORE.COM
 MOVE.EXE
 MSCDEX.EXE
 MSIME.DIC
 MSIME.SYS
 MSIMED.SYS
 MSIMEK.SYS
 MSIMEKEY.EXE
 MSIMEKEY.INI
 MSIMELST.EXE
 MSIMER.DIC
 MSIMERGN.EXE
 MSIMESET.EXE
 NLSFUNC.EXE
 SCANDISK.COM
 SCANDISK.EXE
 SCANDISK.INI
 SCANDSK2.EXE
 SELKKC.EXE
 SORT.EXE
 SUBST.EXE
 SYS.COM
 US.BAT chejでモード切り替えするように編集する(後述)。
 XCOPY.EXE
 (XCOPY32.EXE) XCOPY.EXEと全く同じファイルなので削除可。
 XCOPY32.MOD XCOPY本体

C:\WINDOWS\COMMAND\EBD\

 BOOTDISK.BATで作られるブートFDの中身になる。 C:\WINDOWS\COMMAND\EBD\が存在しない場合もあるが、SCSIドライバ類が必要ならブートフロッピーから取り出せる。

 ANK16.FNT 重複
 ANK19.FNT 重複
 ASPI2DOS.SYS Adaptec SCSIドライバ
 ASPI4DOS.SYS Adaptec SCSIドライバ
 ASPI8DOS.SYS Adaptec SCSIドライバ
 ASPI8U2.SYS Adaptec SCSIドライバ
 ASPICD.SYS SCSI CD-ROMドライバ
 AUTOEXEC.BAT
 BILING.SYS 重複
 BTCDROM.SYS BusLogic/Mylex製SCSI用CD-ROMドライバ
 BTDOSM.SYS BusLogic/Mylex製SCSI用CD-ROMドライバ
 COMMAND.COM 重複
 CONFIG.SYS
 (DRVSPACE.BIN) 重複 圧縮ドライブを使わなければ不要
 EBD.CAB
 EXTRACT.EXE 重複
 FDISK.EXE 重複
 FINDRAMD.EXE
 FLASHPT.SYS BusLogic/Mylex製SCSI用CD-ROMドライバ
 HIMEM.SYS 重複
 IO.SYS 重複
 JDISP.SYS 重複
 JFONT.SYS 重複
 JKEYB.SYS 重複
 JKEYBRD.SYS 重複
 KANJI16.FNT 重複
 OAKCDROM.SYS
 RAMDRIVE.SYS 重複
 (README.TXT) ドキュメント
 SETRAMD.BAT

 取り出した後のWindows9xは不要なので消す。 インストールした環境でそのままMS-DOS7を使いたいのなら、前述のファイルを残してすべて削除する方法を取ってもよい。

MS-DOS7のインストール

_インストール

  1. 作成したブートフロッピーで起動
  2. fdiskでパーティション作成
  3. 再起動後、format C: /sでフォーマット&システムファイル転送
  4. 事前にコピーしたファイルを転送

 前もってFATパーティションを作成し、ファイルをコピーした後にブートフロッピーからsysコマンドでシステムファイルを転送してもよい。

_msdos.sysの編集

 編集の前にシステム属性と隠し属性を解除しておく。

 [Path]セクションは不要なので削除。 特に「WinDir=…」の項目があると、config.sysの内容にかかわらずbiling.sysとifshlp.sysを自動的に組み込もうとする。

 [Options]セクションでは次のようにすると良い。

 [Options]
 BootGUI=0 DOSモードで起動。
 DBLSpace=0 DoubleSpaceを使わない。
 DRVSpace=0 DriveSpaceを使わない。
 ;BootMenu=1 ブートメニュー表示(マルチコンフィグのメニューより先に表示される)
 Logo=0  起動時にWindowsロゴを表示しない。
 DisableLog=1 起動ログファイルbootlog.txtを作らない。
 SystemReg=0 起動時にレジストリの検査をしない。(DOSではレジストリ自体が存在しない)

_日本語環境を整える

 OS標準のドライバだけで構築した場合、だいたい次のようになる。

config.sys

 BUFFERS=20
 FILES=30
 DOS=HIGH,UMB
 COUNTRY=081,932,C:\WINDOWS\COUNTRY.SYS
 SHELL=C:\COMMAND.COM /P /E:512
 LASTDRIVE=Z
 DEVICE=C:\WINDOWS\HIMEM.SYS /NUMHANDLES=128
 DEVICE=C:\WINDOWS\EMM386.EXE RAM
 DEVICEHIGH=C:\WINDOWS\BILING.SYS
 DEVICEHIGH=C:\WINDOWS\JFONT.SYS /P=C:\WINDOWS\ /U=0
 DEVICEHIGH=C:\WINDOWS\SETVER.EXE
 DEVICEHIGH=C:\WINDOWS\JDISP.SYS
 DEVICEHIGH=C:\WINDOWS\JKEYB.SYS /106 C:\WINDOWS\JKEYBRD.SYS
 DEVICEHIGH=C:\WINDOWS\COMMAND\ANSI.SYS /X
 DEVICEHIGH=C:\WINDOWS\COMMAND\EBD\OAKCDROM.SYS /D:mscd001 
 DEVICEHIGH=C:\WINDOWS\RAMDRIVE.SYS 16384 512 1024 /E
 DEVICEHIGH=C:\WINDOWS\KKCFUNC.SYS
 DEVICE=C:\WINDOWS\COMMAND\MSIMEK.SYS /A3
 DEVICEHIGH=C:\WINDOWS\COMMAND\MSIMEI.SYS /D*C:\WINDOWS\COMMAND\MSIMER.DIC /DC:\WINDOWS\COMMAND\MSIME.DIC /N /G /A3
 INSTALL=C:\WINDOWS\COMMAND\NLSFUNC.EXE C:\WINDOWS\COUNTRY.SYS

autoexec.bat

 @ECHO OFF
 SET COMSPEC=C:\COMMAND.COM
 PROMPT $P$G
 PATH C:\;C:\WINDOWS;C:\WINDOWS\COMMAND
 SET TEMP=C:\TEMP //一時フォルダ 適当に作る
 SET TMP=%TEMP%
 SET TZ=JST-9
 MSCDEX.EXE /D:mscd001 /e /k
 SMARTDRV.EXE
 DOSKEY.COM

カスタマイズ

_JP.BATとUS.BATの編集

 chcpで切り替えるとV-TEXT環境ではフリーズする事があるため、chejを使うようにする。

 chejを使うならNSLFUNC.EXEの組み込みは不要。

JP.BAT

 単純に「chej jp」で問題ないが、画面モードを判別して処理すると次のようになる。

 @echo off
 chej > nul
 if errorlevel 9 goto END
 if errorlevel 8 goto NEXT
 if errorlevel 1 goto END
 :NEXT
 chej jp
 :END

US.BAT

 同様に「chej us」だけでも良い。

 @echo off
 chej > nul
 if errorlevel 1 goto NEXT
 goto END
 :NEXT
 chej us
 :END

VT.BAT

 V-TEXTに切り替えるバッチ。

 @echo off
 chej > nul
 if errorlevel 2 goto END
 chej vt
 :END

_SVGA以上の解像度で使うには(V-TEXT)

 V-TEXT対応ドライバを使うことで、より高解像度の画面表示が可能だが、MS-DOS7の日本語関連ドライバはbiling.sys+jfont.sys+jdisp.sysの組み合わせ以外では問題が出る。

 たとえばフォントドライバjfont.sysを$fontx.exeに置き替えると、ディスプレイドライバjdisp.sysはフォントが見つけられず日本語表示が出来なくなる。 また、jdisp.sysをSVGA表示が可能なdispv.exeに置き換えると、DBCSベクターアドレスの取得に失敗、画面モードが判別できず、日本語モードでもメッセージ類が英語で表示される。 biling.sys+jfont.sys+jdisp.sysの組み合わせでないと、biling.sysが正しいDBCSベクターアドレスを返さないのが原因のようだ。

 対処方はbiling.sys互換機能を持つフリーのドライバに置き換える。

が使える。 メッセージ類が英語でいいのならbiling.sysを使う必要はない。 $fontx.exe+dispv.exeだけでOK。

_LFNサポート

メモ

 以前のMS-DOSと比較して、いくつかコマンドが削除されている。 (share.exe, mouse.com, power.exe, defrag, undelete等) 必要ならFreeDOSから流用したり、フリーウェアで代用する。

_FreeDOSのdefragを使うには

 前もってsetverでバージョンをごまかしておく。

 C:\>setver defrag.exe 6.20
  1. lockコマンドでHDDをロック
  2. 英語モードに変更
  3. defragを実行
  4. 終了したら日本語モードに戻す
  5. unlockでHDDのロック解除

 lockが必要なのはWindowsの排他制御のなごりと思われる。 一連のコマンドをバッチファイルにしておくと便利。 英語モードにしなくても動くが、表示が正しく行われないので操作が困難。

_マウスドライバ

 日本語モードで正しく動く、フリーのマウスドライバはなかなか無い。 DR-DOSのものは表示が異常で、OSごと落ちるのでダメ。 Genious(http://www.geniusnet.com.tw/)のgmouse.comが唯一入手可能。 Windows用マウスドライバファイルに同梱されているので適当にダウンロードして取り出す。 (参考:http://d.hatena.ne.jp/lukewarm/20050426#p2

_share.exe

 ファイルアクセスの排他制御等に必要だが、Windows95OSR2以降ではカーネルに機能が吸収されてしまったため存在せず、代替品もなかなか見つからない。 FreeDOSのものはFreeDOSカーネル依存なため使えず、PC DOSのものはバージョンチェックが厳しくて弾かれる。 MS-DOS6.3かWindows3.1、Datalight ROM-DOSのものが使えるかも?

_fdisk

 Windows98/98SEのfdiskはhotfixを適用してもまだ色々と問題があるため、FreeDOSのものや次のツールを使った方がいいかも。

 作者のまりもさんのサイト http://hp.vector.co.jp/authors/VA012947/

_必須ソフトウェア

備考

[カテゴリ:DOS]

最終更新時間:2014年03月30日 18時18分50秒