東京大学大学院数理科学研究科
何よりもまず, 正式なマニュアル 「ファーストステップガイド」 の xix ページ「Windows 95 のセットアップ」を読んでおくこと.
1ライセンスごとにユニークな プロダクトID が発行されており, 「ファーストステップガイド」の表紙に書かれている. もし「ファーストステップガイド」が紛失または 遠隔地にある状態で Windows を再セットアップする可能性があるなら プロダクトID をメモしておくべきであろう.
すでにセットアップされている Windows 95 システムのプロダクト ID は
「コントロールパネル」中の「システム」を
開くと見ることができる.
また, レジストリ中の
\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ProductId
がこれに対応するらしいので, Windows が正常に起動しなくてもレジストリファイルさえ
残存していれば何らかの手段で検索できるかもしれない.
Windows 95 のセットアップの元となるメディアには
CD-ROM とフロッピーディスクがある.
いずれにしても MS-DOS 上で動作する
SETUP.EXE
を起動すれば
セットアップが開始される, と
「ファーストステップガイド」には書かれている.
フロッピーディスク版を買うものはあまりいないと思うが, CD-ROM ドライブが存在せず Windows がプリインストールされている PC の場合, 初回起動時にフロッピーディスク数十枚を使って セットアップディスクを作ることを 要求することが多い. この場合は素直に従っておけば, そのフロッピーディスクが紛失したり破損したりしない限り, プロダクトID を知るだけで再セットアップができる.
筆者の観察したあるセットアップディスクの1枚目はブートディスクであり,
自動的に OEMSETUP.EXE
が起動されるようになっているが,
これと SETUP.EXE
の関係は不明である.
このセットアップディスクと同じ物を,
CD-ROM からセットアップされた Windows システム
から作る方法はおそらく存在しない.
CD-ROM の中にはいくつかのディレクトリがあるが,
このうちセットアップに必要なのは \WIN95
ディレクトリの内容だけである.
セットアッププログラムは
\WIN95\SETUP.EXE
である.
変わったハードウェアのためには \drivers
ディレクトリの
内容を使う可能性もあるが, まだ実例はみたことがない.
Windows 95 のセットアップのためには数十メガバイトのファイルが使われる.
このファイルたちは元となるメディアから
フロッピーディスクドライブか CD-ROM ドライブを経由してもたらされるわけであるから,
まず常識的にはこのデバイスが SETUP.EXE
を動かすための MS-DOS
から認識されるようにすればいい.
以下ではこの作戦を 正攻法 と呼ぶことにする.
MS-DOS はデフォルトではフロッピーディスクとハードディスクしか認識しない
ので, CD-ROM による正攻法には MS-DOS の
デバイスドライバの組み込みが必要となる.
しかしながら, CD-ROM による正攻法がうまくいかない場合には, 何らかの方法で CD-ROM からいったんファイルをハードディスクに移動し, そのあとで起動した MS-DOS のなかで SETUP.EXE を 起動するというインストール法が可能である. 以下ではこれを迂回法 と呼ぶことにする.
正攻法は手順が短くて済むが, CD-ROM を用いる場合は MS-DOS から CD-ROM デバイスを認識させなければならない. 迂回法は多少手間がかかるが, MS-DOS から CD-ROM デバイスを認識させられなくても セットアップが可能になる.
さらに迂回法を用いた場合, CD-ROM にあるファイルがすべてハードディスクに インストールされるので, のちのち CD-ROM を挿入せよと要求されることがなくなる. これは非常に便利なので, 筆者は特に困難がない限り迂回法をとることをお勧めする.
注意: フロッピー版のメディア (セットアップディスクたち) が 存在するときだけ可能である.
MSCDEX.EXE
をコピーする.
CONFIG.SYS
に
CD-ROM ドライバを指定する.
(これは UNIX でいえばカーネルの再構築にあたる)
AUTOEXEC.BAT
で
MSCDEX.EXE
を起動するようにする.
(これは UNIX でいえばマウントにあたる)
\WIN95
に移動し
SETUP.EXE
を起動する.
もうひとつの正攻法としては Windows 95 上で CD-ROM を挿入して 自動的に起動するメニューから SETUP.EXE を起動する方法がある. これは Windows が正常に動作していなければ実行できないので 応用範囲の狭い方法ではあるが, Windows のアップデートには有用である.
MS-DOS ベースでネットワーク経由のファイル共有ができる場合は そこから CD-ROM を読ませることによってセットアップが可能であるらしい. 詳細はリソースキットを読んで考えられたし.
迂回法の種類は CD-ROM を読む手段で区別される.
Windows 95 が動作していれば CD-ROM を読むことができるから,
その間に Windows 95 の CD-ROM をハードディスクにすべてコピーしておき,
次に MS-DOS モードで起動するか別途つくったブートディスクで
起動して SETUP.EXE
を起動することができる.
これは一見無意味に見えるが, アンインストールできないプログラムが邪魔であるとか, Windows が挙動不審であるとかいうときに Windows ディレクトリを含む ファイルを完全に消去して再セットアップすることができる点が, Windows 自身による正攻法 より優れている.
Windows ディレクトリを消去し再セットアップする手順:
XCOPY.EXE
と DELTREE.EXE
は
ブートディスクにコピーしておくことが望ましい.
C:\CDROM
) を作り, CD-ROM の内容をコピーする:
md C:\CDROM
xcopy D:\WIN95 C:\CDROM\WIN95\ /S
deltree C:\WINDOWS
cd C:\CDROM\WIN95
setup
PC で動作する UNIX または UNIX もどき OS で CD-ROM が読めて, MS-DOS パーティションをマウントできるならば, これで Windows の CD-ROM を MS-DOS パーティションにコピーすることができる. この方式の主な利点は
ハードディスクのパーティションを切り直す典型的な手順:
FDISK.EXE
と FORMAT.COM
をコピーしておく
べきである.
fdisk
でパーティションを切り直す.
MS-DOS パーティションをアクティブにする.
(UNIX の fdisk なら bootable flag を立てる).
こうしておかないと Windows のセットアップができない.
format
でハードディスクにファイルシステムを作り直す:
format C:
WIN95
ディレクトリをコピーする. 典型的なコマンドは
$ mount -t hsfs -o ro /dev/sdc /cdrom
$ mount -t vfat /dev/sda1 /mnt
$ cd /mnt
$ mkdir CDROM
$ cd CDROM
$ (cd /cdrom ; tar cf - WIN95) | tar xvf --
のようになるだろう.
C:\CDROM\WIN95
に移動してセットアップを開始する.
パーティションは切り直したいが, UNIX は使いたくない/使えない, という場合, 近くに CD-ROM が読めて MS-DOS フロッピーが書ける機械が別にあるなら, Windows (MS-DOS) だけでのセットアップは不可能ではない. ただし Windows CD-ROM にあるファイルの中には 1.44 MB より大きいものが あるので, バイナリファイルを分割するプログラムか, kmtar のようなマルチボリューム・アーカイバがなければならない.
手順:
FDISK.EXE
と FORMAT.COM
をコピーしておく
べきである.
\CDROM\WIN95
ディレクトリを作り,
フロッピーディスク経由でどうにかして CD-ROM の内容をコピーする.
Windows 95 以前の Windows は MS-DOS のシェルたる
COMMAND.COM
から WIN.COM
を起動することでスタートしていた.
Windows 95 も Windows と MS-DOS が同一パッケージで売られていることと,
ブート時に WIN.COM
が勝手に起動することをのぞけば
このような構造は基本的に変わっておらず,
MS-DOS の部分はほとんど従来の MS-DOS のままである
(参考文献).
本稿で MS-DOS と呼ぶのは Windows 95 に含まれる MS-DOS の部分のことである.
MS-DOS のブート時にカーネルが読み込む設定ファイル.
device=ファイル名 引数
の形式のコマンドがあれば該当するデバイスドライバが読み込まれる.
このほかのコマンドについては Windows が動いているうちに
\WINDOWS\CONFIG.TXT
および
\WINDOWS\MSDOSDRV.TXT
を参照のこと.
MS-DOS のシェル
COMMAND.COM
の起動時に実行されるスクリプト.
UNIX でたとえれば /etc/rc* のようなものである.
(その1) 「コントロールパネル」中の 「アプリケーションの追加と削除」を開き, 「起動ディスク」を選択する.
(その2)
DOS 窓を開き C:
ドライブがカレントドライブになっている
ことを確認した後
format a: /s
としてフロッピーディスクを初期化する.
すると単にファイルシステムが作られるだけでなく
カーネル(IO.SYS
, MSDOS.SYS
)
とシェル(COMMAND.COM
)
もコピーされて, 最低限のブートディスクができる.
ただしこれでは AT 互換機用の MS-DOS では英語版 DOS になってしまうので
CONFIG.SYS
というファイルを作り,
device=biling.sys
device=jfont.sys
device=jdisp.sys /HS=LC
device=jkeyb.sys
のような指定をする. ここに現れている *.sys ファイルと
ank16.fnt, ank19.fnt, kanji16.fnt
は
C:\WINDOWS
からコピーしておく.
Windows 95 の (主にアプリケーションレベルの) 設定を格納するもので, 従来の Windows の *.ini ファイルに当たると説明されている. Unix でいえばいわゆる dot files や X のリソースや環境変数のようなものである.
その実体は windows
ディレクトリの USER.DAT
,
SYSTEM.DAT
という不可視属性付きのファイルであり,
Windows が動いていれば REGEDIT.EXE
によって編集できるが,
レジストリの直接編集は危険なので見るだけにしておこう.
Windows 95 のコンフィギュレーションをほとんど GUI で操作できるインターフェイス. Windows のシェルでは「マイコンピュータ」の中の フォルダとして扱われているが, もちろん対応するディスクやディレクトリは存在しない. コントロールパネルを開くには CTRL-ESC s c と押す.
Windows 95 の GUI と呼ばれているものは EXPLORER.EXE
という
シェルによって実現されている.
エクスプローラというと Windows 上のアプリケーションであると思われがちであるが,
実はそれはみせかけに過ぎず, デスクトップやタスクバー, それに
フォルダを開いたときのウィンドウもブート時に起動される
EXPLORER.EXE
が作っている.
嘘だと思うなら windows
ディレクトリの SYSTEM.INI
の Shell=
行にたとえば sol.exe などと書いて
リブートしてみればよい.
(その後どうしたら戻せるかわからない人はやってはいけません)
ディレクトリというのと違いはない. MS-DOS や Windows 3.x ではディレクトリといっていたが, Windows 95 では Macintosh 臭いフォルダという呼び方を採用した, というだけのことである. ただし Windows 95 の中でも MS-DOS の部分 ではディレクトリと呼ばれている.
Windows の世界ではインストーラならなんでも SETUP.EXE
という名前をつけるので, とんでもないところから SETUP.EXE
という名前のファイルを探して持ってきても同じ動作をするとは限らない.
たとえば CD-ROM の \WIN95\SETUP.EXE
は MS-DOS ベースで
使えるセットアッププログラムであるが,
ルートディレクトリにある \SETUP.EXE
は
どうも違うことをするようで Windows が動いていないと使えない.
Windows 95 付属のマニュアル.
アスキー出版局, Windows 95 の別売りマニュアルとでもいうべき書物.
Andrew Schulman 著, 1994年, IDG Books Worldwide Inc., 邦訳あり (太田純 監訳, 1995年, 「Windows 95 内部解析」, ソフトバンク, 684pp., ISBN 4-89052-768-0)