LoginSignup
1

More than 3 years have passed since last update.

posted at

updated at

Windows 9xのインストール用FDをCDから生成する

Windows 95, Windows 98, Windows MeのインストールCDを使う時に用いる起動ディスクについて、純正版の情報を掲載しています。

まえがき

ブート用FDが付属したのは新規インストール用のパッケージだけで、アップグレード版では添付されていません。
本記事は所持しているFDが劣化で読み込めない方や、純正OEMディスクをFDから起動してクリーンインストールをしたい方向けになります。

98/Meのアップグレード用ではFDから起動する際に読み込むOEMSETUP.EXEが存在しないため対応していません。
そして95ではCD版がアップグレード用しか存在せず、CD版の新規インストール用は無いためインストール用FDがそもそも存在しません(OEM除く)

ちなみに純正のOEM版とは、自作PCショップで販売されていた現在で言うところのDSP版にあたるものを指しています。

用意するもの

  • Windows 9x の純正インストールCD (純正のOEM版でも良い)

95/98ではコンパネ産起動FDを基にファイルを差し替えるという形で作成します。
Meについては裏技が存在するのでそちらをご覧ください。

コンパネ産起動FDを作る (95/98)

このツールからコンパネ産起動FDを作成していじってください。

Windows 95/98/98SE/Meの起動ディスクイメージを作成
http://radioc.web.fc2.com/soflib/mkw9ximg/mkimage.htm

ファイルリスト

Windows 95

そもそもWindows 95のCD版はアップグレード版しか存在してないので、純正のCD-ROM起動用フロッピーディスクはありません。

Windows 95 OSR (Companion以外)

PC/AT互換機 CD-ROMセットアップ起動ディスク

OSRは要はOEM版の事で、OEM供給用Windows 95と言う事になります。
自作PCショップでハードウェアと抱き合わせで販売されていたFD+CD版について述べます。PC-9800版もあるらしいのですが、未所持なのでよくわかりません。

AUTOEXEC.BAT, CONFIG.SYS, DRVCOPY.INFを見る限り、自分でCDドライバを調達してこないとインストールできない仕組みになっています。そのため中古などで手に入れた品にCDドライバが組み込まれていた場合、それは恐らくメーカーPC購入時に添付されたものです。当時はPCを購入すると自分でFDインストーラのバックアップを取らされる事があり、たいていの場合PCにFD用のラベルが添付していたのでなんらおかしいことはないです。

ちなみにCD-ROMセットアップ起動ディスクの作成自体はリテールのアップグレード版Windows 95でも大丈夫です。

(PRECOPY1.CAB)
COMMAND.COM
WINBOOT.SYS -> IO.SYS

(WIN95_03.CAB)
ANK16.FNT
ANK19.FNT
BILING.SYS
FDISK.EXE
HIMEM.SYS
JDISP.SYS
JFONT.SYS
JKEYB.SYS
JKEYBRD.SYS
KANJI16.FNT
MSCDEX.EXE

(新規作成)
MSDOS.SYS
AUTOEXEC.BAT
CONFIG.SYS
DRVCOPY.INF
MSDOS.SYS
(空ファイル)
AUTOEXEC.BAT
@echo off

REM ===================
REM Notes for OEM:
REM - You should remove these remarks for the final disks you send to customers.
REM - You MUST explicitly specify the CD ROM Drive Letter for MSCDEX.
REM - You must switch to the CDROM drive, and then CD to the directory.
REM - the string CD001 must explicitly match the same string in CONFIG.SYS.
REM - The file DRVCOPY.INF MUST be modified to refer to the proper
REM - real-mode CD ROM driver. This driver will be copied to the
REM - hard disk during installation by the DRVCOPY.INF file.
REM - (Note: The user will have to type in the drive letter for the floppy disk
REM - when prompted at the end of setup.)

ECHO Warning - This system may not be setup to use the CD ROM.
ECHO Please contact your PC Manufacturer if Setup does not start automatically.
PAUSE
REM ===================

MSCDEX.EXE /D:OEMCD001 /L:D
d:
cd \win95
oemsetup /k "a:\drvcopy.inf"
CONFIG.SYS
DEVICE=HIMEM.SYS
BUFFERS=20
FILES=60
DEVICE=BILING.SYS
DEVICE=JFONT.SYS /MSG=OFF
DEVICE=JDISP.SYS /HS=LC
DEVICE=JKEYB.SYS
  
REM OEM Notes - remove these remarks before shipping to customers.
REM - You need to include the correct CD driver information for your
REM - IDE or SCSI CDROM Drivers below.
  
REM DEVICE=YOUR_DRIVER.SYS /D:OEMCD001
DRVCOPY.INF
; DRVCOPY.INF
;
; This is the Driver Copy information file for
; real-mode CD-ROM drivers.
;
; These driver(s) are copied to the root of the hard disk
; during setup, and are installed in config.sys and autoexec.bat
;
; This file MUST be modified by the OEM prior to shipping
; to end users.
;
; OEMs will need to modify this to add the proper name(s)
; for their real-mode CD ROM drivers.
; Lines that must be modified are marked OEM_Modify
; You can also copy additional drivers and add lines to autoexec.bat
; and config.sys using this file.


[version]
; Do not change this section
signature=$chicago$

[DestinationDirs]


; Do not change this section
RM.driver.dest.copy = 30 ; root directory

[install]
; Do not change this section
copyfiles=RM.driver.dest.copy
updatecfgsys=RM.Sys.upd
updateautobat=RM.Auto.upd

[RM.driver.dest.copy]
; OEM_Modify - Change the name from SAMPLE.SYS to your CD ROM drivers.
; - You can insert additional filenames for your real
; mode driver(s).
; This file name will be copied to the hard disk.
SAMPLE.SYS

[RM.Sys.upd]
; OEM_Modify - Change the name from SAMPLE.SYS to your CD ROM drivers.
: - You can also change the driver name here and below.
; This line will be added to the user's CONFIG.SYS.
DevAddDev=SAMPLE.SYS,device,,"/D:OEMCD001"

[RM.Auto.upd]
; OEM_Modify - Change the "D" in L:D to represent the default drive
; letter for your CD ROM.
; - The OEMCD001 parameter should agree with the
; config.sys parameter above.
; This line will be added to the user's AUTOEXEC.BAT
CmdAdd=MSCDEX.EXE,"/D:OEMCD001 /L:D"

[SourceDisksNames]
; Do not change this section
100="%oem.boot.desc%",,5

[SourceDisksFiles]
; OEM_Modify - Change the name from SAMPLE.SYS to your CD ROM drivers.
; Do not change the 100,,2000
; This file will be copied to the hard disk root directory.
SAMPLE.SYS=100,,2000

[Strings]
; This string is displayed to the user. It can be localized as
; necessary.
oem.boot.desc="Setup Boot Disk"

Windows 98

リテール販売されたものはWindows 98とWindows 98SEの2種類ですが、どちらも同じです。
インストール用FDにしかないファイル "FINDCD.EXE"についてはコマンドで代用できます。(後述)

リテールアップグレード版ではOEMSETUP.EXEが無いため、新規インストール用に付属しているFDからのインストールには対応していません。コンパネ産FDからいじる必要があります。

PC/AT互換機 インストール用FD (2枚)

DISK.1
(BASE5.CAB)
ANK16.FNT
ANK19.FNT
COMMAND.COM
DRVSPACE.BIN
EXTRACT.EXE
FDISK.EXE
KANJI16.FNT
MSCDEX.EXE (コンパネ産にはない)

(BASE6.CAB)
ASPI2DOS.SYS
ASPI4DOS.SYS
ASPI8DOS.SYS
ASPI8U2.SYS
ASPICD.SYS
BILING.SYS
BTCDROM.SYS
BTDOSM.SYS
FLASHPT.SYS
HIMEM.SYS
JDISP.SYS
JFONT.SYS
JKEYB.SYS
JKEYBRD.SYS
OAKCDROM.SYS
RAMDRIVE.SYS
WINBOOT.SYS -> IO.SYS

(新規作成)
AUTOEXEC.BAT
CONFIG.SYS
MSDOS.SYS

(CD内に無い)
FINDCD.EXE
DISK.2
(BASE5.CAB)
EBD.CAB
MSDOS.SYS
;W98EBD
AUTOEXEC.BAT
@ECHO OFF
set EXPAND=YES
SET DIRCMD=/O:N
cls
set temp=c:\
set tmp=c:\
path=a:\

IF "%config%"=="NOCD" GOTO QUIT
LH MSCDEX.EXE /D:oemcd001 /L:D

echo.
IF "%config%"=="SETUP_CD" goto AUTOSETUP
GOTO QUIT

:AUTOSETUP
set CDROM=FOO23
FINDCD.EXE
if "%CDROM%"=="FOO23" goto NOCDROM
path=a:\;%CDROM%\
%CDROM%
cd \WIN98
echo.
OEMSETUP.EXE
goto QUIT

:NOCDROM
echo.
echo Windows 98 セットアップ ファイルが見つかりませんでした。
echo.

:QUIT
CONFIG.SYS
[menu]
menuitem=SETUP_CD, Start Windows 98 Setup from CD-ROM.
menuitem=CD, Start computer with CD-ROM support.
menuitem=NOCD, Start computer without CD-ROM support.
menudefault=SETUP_CD,30
menucolor=7,0

[SETUP_CD]
device=himem.sys /testmem:off
device=oakcdrom.sys /D:oemcd001
device=btdosm.sys
device=flashpt.sys
device=btcdrom.sys /D:oemcd001
device=aspi2dos.sys
device=aspi8dos.sys
device=aspi4dos.sys
device=aspi8u2.sys
device=aspicd.sys /D:oemcd001

[CD]
device=himem.sys /testmem:off
device=oakcdrom.sys /D:oemcd001
device=btdosm.sys
device=flashpt.sys
device=btcdrom.sys /D:oemcd001
device=aspi2dos.sys
device=aspi8dos.sys
device=aspi4dos.sys
device=aspi8u2.sys
device=aspicd.sys /D:oemcd001

[NOCD]
device=himem.sys /testmem:off

[COMMON]
DEVICEHigh=EMM386.EXE noems
DEVICEHigh=BILING.SYS
DEVICEHigh=JFONT.SYS /MSG=OFF
DEVICEHigh=JDISP.SYS /HS=LC
DEVICEHigh=JKEYB.SYS
files=60
buffers=20
dos=high,umb
stacks=9,256
lastdrive=z

PC-9800シリーズ インストール用FD (1枚)

(BASE4.CAB)
DRVSPACE.BIN
EBD.CAB

(BASE5.CAB)
COMMAND.COM
DISKINIT.EXE
EXTRACT.EXE
FDISK.EXE
HIMEM.SYS
NECCDB.SYS
NECCDD.SYS
NECCDJ.SYS
NECCDK.SYS
NECCDM.SYS
RAMDRIVE.SYS
WINBOOT.SYS -> IO.SYS

(EBD.CABから抽出してフロッピーへコピーする)
MSCDEX.EXE
SYS.COM

(新規作成)
MSDOS.SYS
AUTOEXEC.BAT
CONFIG.SYS
DRVCOPY <DIR>

(CD内に無い)
FINDCD.EXE
MSDOS.SYS
;W98EBD
AUTOEXEC.BAT
@ECHO OFF
set EXPAND=YES
SET DIRCMD=/O:N
cls
set temp=\
set tmp=\
path=\

IF "%config%"=="CD-ROM/CD-R/DVD-ROMドライブを使用しない" GOTO QUIT
LH MSCDEX.EXE /D:oemcd001 /L:Q

echo.

:AUTOSETUP
set CDROM=FOO23
FINDCD.EXE
if "%CDROM%"=="FOO23" goto NOCDROM
path=\;%CDROM%\
%CDROM%
cd \WIN98N
echo.
OEMSETUP.EXE
goto QUIT

:NOCDROM
echo.
echo Windows 98 セットアップ ファイルが見つかりませんでした。
echo.

:QUIT
CONFIG.SYS
[Menu]
menuitem = CD-ROM/CD-R/DVD-ROMドライブを使用しない
menuitem = PC-98GS/PC-9821/Ce/Ap2/An/XaC10W内蔵用
menuitem = PC-CD103/60/60D/60F/170/170N/180/180X/600/800増設用
menuitem = PC-9821Cs2/Xs/Xp/Xn/XaC9W/Ce2/Xt/As3/Ap3/Cb/Xf内蔵用
menuitem = PC-CD60D増設用
menuitem = PC-9821Ct20/V200M7内蔵用
menuitem = PC-9821Rs20/Rv20/RsⅡ26/RvⅡ26内蔵用
menuitem = 上記ドライバで使用不可の内蔵CD-ROM/CD-R/DVD-ROMドライブ用
menudefault= 上記ドライバで使用不可の内蔵CD-ROM/CD-R/DVD-ROMドライブ用
menucolor=7,0

[CD-ROM/CD-R/DVD-ROMドライブを使用しない]
DEVICE=HIMEM.SYS /testmem:off

[PC-98GS/PC-9821/Ce/Ap2/An/XaC10W内蔵用]
DEVICE=HIMEM.SYS /testmem:off
DEVICE=NECCDB.SYS /D:oemcd001

[PC-CD103/60/60D/60F/170/170N/180/180X/600/800増設用]
DEVICE=HIMEM.SYS /testmem:off
DEVICE=NECCDB.SYS /D:oemcd001

[PC-9821Cs2/Xs/Xp/Xn/XaC9W/Ce2/Xt/As3/Ap3/Cb/Xf内蔵用]
DEVICE=HIMEM.SYS /testmem:off
DEVICE=NECCDD.SYS /D:oemcd001

[PC-CD60D増設用]
DEVICE=HIMEM.SYS /testmem:off
DEVICE=NECCDD.SYS /D:oemcd001

[PC-9821Ct20/V200M7内蔵用]
DEVICE=HIMEM.SYS /testmem:off
DEVICE=NECCDJ.SYS /D:oemcd001

[PC-9821Rs20/Rv20/RsⅡ26/RvⅡ26内蔵用]
DEVICE=HIMEM.SYS /testmem:off
DEVICE=NECCDK.SYS /D:oemcd001

[上記ドライバで使用不可の内蔵CD-ROM/CD-R/DVD-ROMドライブ用]
DEVICE=HIMEM.SYS /testmem:off
DEVICE=NECCDM.SYS /D:oemcd001

[COMMON]
files=60
buffers=20
dos=high,umb
lastdrive=z
DRVCOPY.DIR
(フロッピー内にDRVCOPYというフォルダを作り以下のファイルをコピーする)
MSCDEX.EXE
NECCDB.SYS
NECCDD.SYS
NECCDJ.SYS
NECCDK.SYS
NECCDM.SYS

(新規作成)
AUTOEXEC.BAT
CONFIG.SYS
W98CONF.SRC
AUTOEXEC.BAT(DRVCOPY)
@ECHO OFF

REM Windows 98 のセットアップ後、
REM "IF NOT EXIST W98CONF.SRC GOTO BOOT2ND" 行から
REM ":BOOT2ND" 行までは
REM 削除することができます。

IF NOT EXIST W98CONF.SRC GOTO BOOT2ND

IF "%config%"=="PC-98GS/PC-9821/Ce/Ap2/An/XaC10W内蔵用" GOTO CD_B
IF "%config%"=="PC-CD103/60/60D/60F/170/170N/180/180X/600/800増設用" GOTO CD_B
IF "%config%"=="PC-9821Cs2/Xs/Xp/Xn/XaC9W/Ce2/Xt/As3/Ap3/Cb/Xf内蔵用" GOTO CD_D
IF "%config%"=="PC-CD60D増設用" GOTO CD_D
IF "%config%"=="PC-9821Ct20/V200M7内蔵用" GOTO CD_J
IF "%config%"=="PC-9821Rs20/Rv20/RsⅡ26/RvⅡ26内蔵用" GOTO CD_K
IF "%config%"=="上記ドライバで使用不可の内蔵CD-ROM/CD-R/DVD-ROMドライブ用" GOTO CD_M

:NOCDROM
echo.
echo Windows 98 セットアップ ファイルが見つかりませんでした。
echo.
GOTO QUIT

:CD_B
echo DEVICE=NECCDB.SYS /D:oemcd001 >> W98CONF.SRC
GOTO REWRITE

:CD_D
echo DEVICE=NECCDD.SYS /D:oemcd001 >> W98CONF.SRC
GOTO REWRITE

:CD_J
echo DEVICE=NECCDJ.SYS /D:oemcd001 >> W98CONF.SRC
GOTO REWRITE

:CD_K
echo DEVICE=NECCDK.SYS /D:oemcd001 >> W98CONF.SRC
GOTO REWRITE

:CD_M
echo DEVICE=NECCDM.SYS /D:oemcd001 >> W98CONF.SRC

:REWRITE
COPY /Y W98CONF.SRC CONFIG.SYS
DEL W98CONF.SRC

:BOOT2ND
LH MSCDEX.EXE /D:oemcd001 /L:Q
Q:\WIN98N\OEMSETUP.EXE /K "/IF /IJ"

:QUIT
REM Q:\WIN98N\
CONFIG.SYS(DRVCOPY)
[Menu]
menuitem = PC-98GS/PC-9821/Ce/Ap2/An/XaC10W内蔵用
menuitem = PC-CD103/60/60D/60F/170/170N/180/180X/600/800増設用
menuitem = PC-9821Cs2/Xs/Xp/Xn/XaC9W/Ce2/Xt/As3/Ap3/Cb/Xf内蔵用
menuitem = PC-CD60D増設用
menuitem = PC-9821Ct20/V200M7内蔵用
menuitem = PC-9821Rs20/Rv20/RsⅡ26/RvⅡ26内蔵用
menuitem = 上記ドライバで使用不可の内蔵CD-ROM/CD-R/DVD-ROMドライブ用
menudefault=上記ドライバで使用不可の内蔵CD-ROM/CD-R/DVD-ROMドライブ用
menucolor=7,0

[PC-98GS/PC-9821/Ce/Ap2/An/XaC10W内蔵用]
DEVICE=HIMEM.SYS /testmem:off
DEVICE=NECCDB.SYS /D:oemcd001

[PC-CD103/60/60D/60F/170/170N/180/180X/600/800増設用]
DEVICE=HIMEM.SYS /testmem:off
DEVICE=NECCDB.SYS /D:oemcd001

[PC-9821Cs2/Xs/Xp/Xn/XaC9W/Ce2/Xt/As3/Ap3/Cb/Xf内蔵用]
DEVICE=HIMEM.SYS /testmem:off
DEVICE=NECCDD.SYS /D:oemcd001

[PC-CD60D増設用]
DEVICE=HIMEM.SYS /testmem:off
DEVICE=NECCDD.SYS /D:oemcd001

[PC-9821Ct20/V200M7内蔵用]
DEVICE=HIMEM.SYS /testmem:off
DEVICE=NECCDJ.SYS /D:oemcd001

[PC-9821Rs20/Rv20/RsⅡ26/RvⅡ26内蔵用]
DEVICE=HIMEM.SYS /testmem:off
DEVICE=NECCDK.SYS /D:oemcd001

[上記ドライバで使用不可の内蔵CD-ROM/CD-R/DVD-ROMドライブ用]
DEVICE=HIMEM.SYS /testmem:off
DEVICE=NECCDM.SYS /D:oemcd001

[COMMON]
files=60
buffers=20
dos=high,umb
lastdrive=z
W98CONF.SRC
FILES=30
LASTDRIVE=Z
DEVICE=HIMEM.SYS

FINDCD.EXEについて

このファイルは実行するとA:\WIN98\SETUP.EXE, B:\WIN98\SETUP.EXE ... という風に順に検索していき、存在したら%CDROM%にドライブレターを格納するというようなファイルになっています。
PC-9800シリーズでも A:\WIN98N\SETUP.EXE, B:\WIN98N\SETUP.EXE ... という感じで検索していきます。そのため、PC/AT版とPC-9800版とでは内容が異なります。

とはいえ、MSCDEX.EXEでドライブレターが指定されるのでAUTOEXEC.BATのFINDCD.EXEの行を以下のように変えればOKです。

AUTOEXEC.BAT(PC/AT)
if exist "D:\WIN98\SETUP.EXE" set CDROM=D:
AUTOEXEC.BAT(PC-9800)
if exist "Q:\WIN98N\SETUP.EXE" set CDROM=Q:

ただPC/AT側もMSCDEX.EXEをDドライブからQドライブに変更したほうがいいかもしれません。

Windows Me, Windows 98/98SE OEM版

95とリテールの98とは異なり98のOEM版とMeはCDブートが可能なので最初書くかどうか悩みましたが、Windowsから読み込まれない領域にあるブート領域から直接生成できることが判明したので一応掲載しておきます。

リテールアップグレード版、98用アップグレード版ではOEMSETUP.EXEが無く、ブータブル領域もないためこの方法では作成できません。新規インストール用に付属しているFD、またはブート領域から抽出したFDイメージを用いてもそのFDではOEMSETUP.EXEを読み込むため対応していません。コンパネ産FDからいじる必要があります。

おおまかに
1. CDをISOイメージ化
2. ISOのブータブル領域からフロッピーイメージを取り出す
3. JO.SYSを削除

という操作をしていきます。

1. インストールCDをISOイメージ化する

IMGBURNを使うといいです。

2. ISOのブータブル領域からフロッピーイメージを取り出す

バイナリエディタで文字列「BOOTCD」を検索します。一番先頭の領域にあるものがFDイメージの最初の部分になります。

そのちょっと前の部分を先頭に00000000-00167FFF分のバイナリを取り出し、ファイルとして保存します。

私が持っているCDではBOOTCDの文字列が0000A82Bにありました。そこの箇所の先頭「0000A800」から00167FFFを足した「001727FF」までをファイルとして保存します。ファイル名はなんでもいいですが、拡張子は.IMGとします。(多分どのディスクも同じ範囲で、A800~1727FFまでに位置していると思います)

image.png

image.png

3. JO.SYSを削除する

このままFDイメージをフロッピーに書き込んでもいけますが、起動時に以下のようなメッセージが表示されます。
image.png

このメニューはFDイメージ内の「JO.SYS」によるものです。削除すれば表示しなくなります。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
1