とりあえずブログ作ってみた、的なブログ

このブログの99.99%は「与太話」でできています。

VMWareでWindows95を作ってみた・前編

いささか旧聞に属する話ではあるが、「ニンテンドークラシックミニ ファミリーコンピュータ」という、昔のファミコンのミニチュア的なゲーム機が人気を博しているとか。レトロゲームならではの「味」とかノスタルジーとか、理由は色々あるだろうが、それはさておき、今回はレトロゲームに触発された訳ではないが、久々にVMWare PlayerでレトロOSのWindows95仮想マシンを作った話。Windows95と言えば、発売日には徹夜組も出来たり、ニュースやワイドショーがこぞって取り上げたりと、いい意味で話題になったOSだった(悪い意味で話題になったのはWindows10だな・・・)ことを思い出す。あれからもう20年以上も経ったんだなぁ、とちょっと感慨にふけってみたりする。

いつもの如く前置きはそのぐらいにして、ここからが本題。なお、この記事で使用しているVMWare Playerはバージョン7.xで、現在ダウンロードできる「VMWare Workstation」と画面や挙動が異なる可能性があるのでその点はご容赦願いたい。

今時のPC用のOSは、ほぼ間違いなくCD(DVD)-ROMブートによるインストール方式になっているので真っさらなPCにインストールするのも非常に楽なのだが、Windows95当時のOSはCD-ROMブートが出来なかったので、別の方法でインストールする必要がある。

オリジナルのWindows95の場合は、まずフロッピーディスク(最近はフロッピーディスクを知らない人も少なくないらしい。ジェネレーションギャップだね)からMS-DOSもどきのOSを起動してCD-ROMドライブを認識させた後、CD-ROMに格納されているSetup.exeを実行することでOSのインストールが始まる仕組みになっていた。つまり、PCを起動させてCD-ROMが読み込める状態にするために別のOSが必要だったということ。ちなみにMS-DOSWindows95の起動ディスクのOS(実態はほとんどMS-DOSなのだが)では、CD-ROMドライブの自動認識などという便利な仕組みは存在しない。ではどうやってCD-ROMを使えるようにしたかと言えば、デバイスドライバの読み込み設定を司るファイルを手動で編集するという、ちょっと玄人っぽい作業が必要になる。ぶっちゃけ「プラグアンドプレイ?何それおいしいの?」という世界の話だったのだ。

で、当然ながらVMWare Playerで新規にWindows95をインストールしようとした場合、空の仮想マシン(仮想ハードディスク)しか存在しない訳で、CD-ROMブートができる今時のOSでは必要ない手順を踏む必要がある。あ、この記事ではWindows95のインストールメディアを持っていることが前提なので、持っていない人はヤフオクとかを探してみておくんなさい。

考えなければならないことは大きく分けて2つ。
まず一つ目は、真っさらな仮想マシン上でどうやってOSを起動するか。もう一つは、Windows95のインストールメディアをどうやって認識させるか。

一つ目のOS起動については、ネット上にブート可能なPC用のDOSのISOイメージがあるので、その手のイメージをダウンロードしてきて使うのが手っ取り早い。ただし、怪しいサイトから怪しいOSをダウンロードすると余計な物まで拾ってくることになるので、その辺は要注意ということで。

問題は二つ目のWindows95のインストールメディアの認識のさせ方。前述の通り、DOSのような古いOSではCD-ROMドライブを自動で認識しない(これはVMWare Player上の仮想マシンであっても変わらない)ので、CD-ROMのインストールメディアを直接読み込ませるのは現実的ではない。ということで、今回はこんな方法を使ってみた。

その方法というのは、一言で言えば「空の仮想ディスクを作成して仮想マシンに増設する」というもの。VMWare Playerのような仮想化環境の場合、物理PCで言うところのハードディスクは仮想ディスクと呼ばれるファイルで構成される。VMWare Playerの場合は拡張子が「.vmdk」のファイルがそれにあたる。で、増設したハードディスクにWindows95のインストールファイルなどを入れておくことによって、DOSで起動した仮想マシンからセットアップを実行することが可能になる。やり方としてはあまりスマートではないと思うし、ベストな方法だとは思っていないが、まあこういうやり方もあるよ、ということで。

それはさておき、この方法を実行するためには、空の仮想ディスクをフォーマットし、そこにWindows95のインストールファイルなどをコピーするためのOSが入った仮想マシンが必要となる。必要な要件としては、「FAT形式のディスクを扱える」ことと「CD-ROMの読み取りが可能」なことと「ホストOSからゲストOSへのファイルコピー(フォルダ共有)またはゲストOSからネットワークへのアクセスができること」の3つ(ちなみにホストOSのフォルダを共有してそこを介してファイルコピーを行う場合は、2番目の要件は不要になる)で、手っ取り早いのはWindows系のOS(XP以降)の仮想マシンを準備すること。この記事では正規版のWindows10を使用しているが、ぶっちゃけマイクロソフトのサイトからダウンロード可能な評価版でも(Microsoftアカウントを作成する手間を惜しまなければ)問題ない。

ここでは、既に作業用の仮想マシンが出来上がっている前提で話を進めていく。

まずは空の仮想マシンの作成から。
VMWare Playerを起動して(仮想マシンはシャットダウンした状態で)作業用の仮想マシンの「仮想マシンの設定の編集」を開く。仮想マシンを構成するハードウェアが表示されるので、この画面で「追加」ボタンを押す。「ユーザーアカウント制御」の警告が表示されたら「はい」で先へ進む。
イメージ 1

ここではハードディスクを追加したいので、追加するハードウェアの一覧からハードディスクを選択する。
イメージ 2

ディスクタイプは「(推奨)」となっているもので問題ないのでそのまま次へ。
イメージ 3

今回はハードディスクを新規に作成するので「仮想ディスクの新規作成」を選択して次へ。
イメージ 4

作成する仮想ディスクのサイズを指定する。ここで注意が必要なのは、MS-DOS等の昔のOSでは、認識可能なディスク容量がかなり小さいので、とりあえず2GBを指定しておく(MS-DOS6.xの場合の上限値)。その辺りの詳しい話に興味があれば、「容量の壁」などのキーワードでググってみるとよい。
あと、今回作成するハードディスクの取り回しのしやすさを考慮して、ここでは「仮想ディスクを単一ファイルとして格納」を選択する(デフォルトは「仮想ディスクを複数のファイルに分割」)。
イメージ 5

仮想ディスクのファイル名と格納場所を指定。今回は分かりやすく「workdisk.vmdk」という名前にした。「完了」ボタンを押すと、仮想ディスクが作成される。
イメージ 6

「新規ハードディスク」として2GBのハードディスクが追加されていることが分かる。これで作業用OSへのハードディスクを増設が完了したので、「OK」ボタンを押して仮想マシン設定画面を閉じる。
イメージ 7

ちなみに出来上がった仮想ディスクはこんな感じ。作成したばかりの状態だとサイズがかなり小さいが、使っていくうちに指定した容量を上限として拡張していく。
イメージ 11

準備ができたので、作業用OSを起動する。
作業用OSを起動したら、OSのディスク管理ツール(Windows10等の場合は「コンピューターの管理」-「ディスクの管理」)を使って、追加した仮想ディスクを使える状態にする。ざっくりと流れを説明していくと、

まずディスクのパーティションスタイルは「MBR」を選択する。
イメージ 8

今回はパーティションを区切る必要がないので、全ての容量を1つのパーティションとする。
イメージ 9

ここが重要なのだが、パーティションのフォーマットは必ず「FAT」を選択する。MS-DOSWindows95では、NTFS形式のディスクにアクセスすることができない。これでディスクをフォーマットすると、とりあえず「器」となる作業用ディスク(以降、このディスクを「作業用ディスク」と表記する)の準備が完了する。
イメージ 10

作業用ディスクの準備ができたら、その中にWindows95のインストールファイルなどの必要なファイルをコピーする。コピーが完了したら、作業用OSをシャットダウンする。シャットダウンが完了したら、VMWare Playerを再度起動する(仮想マシンは起動しない)。VMWare Playerが起動したら、作業用仮想マシンの設定画面を開き、追加したハードディスクをクリックして「削除」ボタンを押す。これによって作業用仮想マシンから作業用ディスクが切り離される(物理的に作業用ディスクのファイルが削除される訳ではない)。


次にWindows95をインストールするための仮想マシンの作成を行う。

VMWare Playerの画面上にある「新規仮想マシンの作成」リンクをクリックする。
イメージ 12

今回はCD-ROMブートやISOイメージからのOSインストーラーのブートができないので、「後でOSをインストール」を選択する。
イメージ 13

インストールするOSの種類とバージョンを選択。ここで選択したOSによって、OSインストール後にインストールする「VMWare Tools」が変わってくるので、インストールするOSのバージョンを指定する必要がある。
イメージ 14

仮想マシン名」はVMWare Playerのメイン画面の一覧に表示される名前なので、後で見て分かる名前なら何でも構わない。場所はお好みで。
イメージ 15

ここはデフォルト値で特に問題はない。
イメージ 16

ハードウェアのカスタマイズは後で行えるので、ここはそのまま「完了」ボタンを押す。これで空の仮想マシンが出来上がる。
イメージ 17

仮想マシンが出来上がったので、仮想マシンの設定を行う。
作成した仮想マシンを選択して、「仮想マシン設定の編集」リンクをクリックする。
イメージ 18

ここではDOSのISOイメージから仮想マシンが起動するように、CD/DVD(IDE)にDOSのISOイメージファイルを指定する。ここでの作業の目的は、DOSを起動してWindows95をインストールする(Cドライブとなる)ハードディスクのパーティション作成とフォーマットを行うことにあるため、ここではまだ作業ディスクを接続しない(このタイミングで作業ディスクを接続すると、作業ディスクがCドライブとなってしまうため)。設定が完了したら、仮想マシンを起動する。
イメージ 19

すると、下図のようなエラーが表示されて先へ進まない。
メッセージを見ると、どうやらCPU辺りが怪しそうなので、CPUの設定を変えてみる。
と言うことで、再び「仮想マシン設定の編集」を行う。
イメージ 20

CPU関連の設定なので、デバイスの一覧から「プロセッサ」を選択して設定を変更してみる。
色々試してみたところ、「Intel VT-x/EPT または AMD-V/RVI を仮想化」にチェックを入れるとOSが起動した。
イメージ 21

で、こんな感じでDOSが起動する。何か表示されているメッセージを見ると、このDOSではCD-ROMのデバイスドライバの読み込みがされていてCD-ROMが使えそうな感じだけど、CD-ROMドライブとして定義されている「R」ドライブにアクセスしてみたところ、仮想マシン設定で指定したDOSのISOイメージと思われるものが表示されたので、どうやらこの環境ではCD-ROMは使えないらしい。CD-ROMが使えていれば作業用ディスクを作成する手間が省けると思ったんだが・・・・ま、いっか。
余談ついでにもう一つ。今回使用したDOSもそうだが、(多分)大抵のDOSは起動時には日本語対応していない。それは単に日本語の表示ができないというだけではなく、キーボードレイアウトも英語キーボードの配列になるということを意味する。なので、アルファベットや数字の入力は問題ないが、記号を入力する際は日本語キーボードとキーアサインが異なる。例えば「*(アスタリスク)」はShiftキー+「8」キーとか、「~(チルダ)」はShiftキー+「半角/全角・漢字」キーとか。
イメージ 22

ちなみにこの状態でCドライブにアクセスしようとしても、仮想ディスクがまだ真っさらな状態なので、当然ながらアクセスできない。
イメージ 23

なのでディスクを使える状態にする。
DOSの場合は「fdisk」というプログラムを使って行う。
イメージ 24

fdiskが起動したら、「1」と入力してパーティションを作成する。
イメージ 25

さらに次の表示で「1」と入力してプライマリパーティションを作成する。
イメージ 26

ここは「Y」と入力。これでプライマリパーティションが作成される。
あと、仮想マシンを起動してしばらくすると、ウィンドウ下部に「VMWare Toolsのインストール」がうんたらというメッセージが表示されるが、どのみちDOSにはVMWare Toolsはインストールするつもりもない(そもそもできない?)のでこのメッセージはそのまま放っておく。鬱陶しかったら「後で通知」ボタンを押せば消せる。
イメージ 27

プライマリパーティションが出来たので、次はパーティションのフォーマットだ、と思っていたら、何か「DOSのシステムディスクが入っていないよ」的なメッセージが表示されている。何でだろ?前にインストールした時はこんなの出なかったのに・・・・。まあ、とりあえず再起動してみるか。
イメージ 28

で、仮想マシンを再起動したら・・・「Operating System Not Found」の表示が。何度試してもDOSのISOから起動する気配がない。

なのでブートオーダーを確認してみることにする。
仮想マシンウィンドウの中(黒い部分)をクリックして仮想マシンの操作が出来るようにした状態で「Ctrl+Alt+InsVMWare Playerではこれが「Ctrl+Alt+Del」の代わりになる」を押して仮想マシンを再起動し、下図のように「VMWare」の画面が表示されている間に「ESC」キーを押す(ちなみにこの画面の表示時間はそれほど長くないので、かなり手早く操作を行う必要がある。ちなみにSSD環境だと一瞬しか表示されないので)。
イメージ 29

成功すると、ブートメニューが表示される。
なるほど、DOSのISOイメージはCD-ROM扱いとなっていて、起動順序がハードディスクより下にあるので、OSが入っていない仮想ディスクからシステムを起動しようとしていた訳ね。
イメージ 30

ということで、下矢印キーで「3.CD-ROM Drive」を選択してEnterキーを押すと、ISOイメージからDOSが起動した。やれやれ・・・
イメージ 31

DOSが起動したら、「format」コマンドをつかって仮想ディスクをフォーマットする。
「format c:」で、警告が表示されるので「y」を入力してディスクをフォーマット。
イメージ 32

フォーマットが終わると、Cドライブにアクセスできるようになる。
今はまだ何も入っていない。
イメージ 33

これでCドライブの準備ができたので、作業ディスクを接続するために一度仮想マシンをシャットダウンする。
「Ctrl+Alt」キーを押して仮想マシンの「外側」に出て、VMWare Toolsのメニューバーから下図のように「ゲストをシャットダウン」を選択する。
イメージ 34

確認のメッセージが表示されるが、そもそも物理環境のMS-DOSでも「シャットダウン」という操作はなく、終了する時はPCの電源を切るだけなので、ここは「はい」を押して問題ない。
イメージ 35

パワーオフが完了したら、VMWare Playerを起動して、Windows95仮想マシンの「仮想マシン設定の編集」リンクをクリックする。ここでやることは、作業ディスクを仮想マシンに追加すること。手順は最初にWindows10に作業ディスクを追加した時と同じ方法なので詳細は割愛するが、注意点だけ記載する。

ディスクタイプは「IDE(推奨)」を選択する。
イメージ 36

今回は既に存在する仮想ディスクを使用するので「既存の仮想ディスクを使用」を選択する。その後にディスクの選択画面が表示されるので、作成した作業ディスクを指定する。
イメージ 37

下図の問い合わせに関しては、「既存の形式を保持」を選択しておく。「変換」を選択するとどうなるかは試していないので不明なので、無難な選択ということで。
イメージ 38

これで作業ディスクが仮想マシンに追加されたので、「仮想マシン設定」画面を「OK」ボタンで閉じて仮想マシンを起動する。起動すると先程と同じようにそのままではOS(DOS)が起動してこないので、ブートメニューからCD-ROMを選択してDOSを起動する。
イメージ 39

作業ディスクはDドライブになるので、Dドライブに移動してWindows95のインストールファイルが格納されているディレクトリに移動し、そこで「setup.exe」を起動する。
イメージ 40

これでようやくWindows95のインストールが始まるのだが、まだ先は長い・・・・

つづく。