Help us understand the problem. What is going on with this article?

今のパソコン上のVirtualBoxにWindows95を入れる

この記事はTokyo City University Advent Calendar 2019の14日目の記事です
13日目は軍事基地に行こう(提案)でした。
自衛隊のイベントとか、「おーやるんだ」と思ってもなかなか行かないことが多いのですが、たしかに最近はTwitter等でも情報が回ってくるので、来年は一度くらい行ってみたいですね。

はじめに

今年はWindows10 1903、1909が出て、WSL2なども出ましたね。一昔前とはぜんぜん違う方向でのWindowsの進化をひしひしと感じます。そして数カ月後にはついにWindows7のサポートが終わってしまいます・・・(そんなWindows7をRyzen 5 3600とRTX2060で使おうとしてる記事はこちら→ https://qiita.com/mikuta0407/items/44d1944cbd07dd131282 )
そんな年の瀬ですが、ここであえて、"今の"Windowsの原点とも言えるWindows95を触って、懐かしさに浸ってみるのも面白いなと思い(?)、VirtualBoxへのWindows95のインストールにチャレンジしてみました。
思っていたよりめんどくさかったです時代を感じる罠があるので驚きました。
ちなみに実際にやらなくても体験できるようにVirtualBoxをほとんど触ったことのない人でもできるようにスクリーンショット多めです。

必要なもの

  • VirtualBox(6.xを使用しました)
  • Windows95~WindowsMeの起動ディスクイメージ(またはFreeDOS)
  • Windows95のインストールイメージ(今回はCDイメージです)

1. 400MBくらいのVHDを作る

人によってはこの工程を行いませんが、確実性を考慮し、この手順を行いました。
作成するVHDには、このあとWindows95のCDイメージをコピーします(詳しいことは後述)
今回は"ディスクの管理"を使って行いましたが、VHDが作れるなら何でも良いです。(Diskpartでも)

  1. Win+X→「ディスクの管理」→「操作」タブ→「VHDの作成」から、VHD作成画面を呼び出す
    image.png
  2. 200MBの容量可変VHDを作成する
    CDの内容を書き込むだけなので、400MBで良いです。 ちなみに画像では1000MBで作ってしまっています
    image.png
  3. 自動でマウントされたVHDを初期化する
    image.png
  4. GPTなんてDOSは読めないので、MBRにします。
    image.png
  5. 普通にFAT32でフォーマットする
    image.png
    image.png

これで、フォーマット時に指定したドライブレターに、作成したVHDがマウントされました。

2. Windows95のCD内のデータをすべてVHDにコピー

さて、なんでいちいちCDのデータをVHDにコピーするかというと、Windows95の起動ディスクがCD-ROMを読まないからです。ドライバがないんですね。
ちなみにWindows98の起動ディスクであったり、FreeDOSを使う場合にはCDの認識が可能なんですが、どちらにせよCDではなくHDDにデータを入れたほうが成功率があがる(気がする)ので、HDD経由でのインストールをします。データ転送方法ですが、わざわざCDの読めるDOSの起動ディスクを使ってxcopy駆使するくらいならホストマシン側で楽をしましょうということで、

image.png

コピーしました。

VHDはこのあと仮想マシンで使うので、切り離しておきましょう。切り離さないとVirtualBoxに怒られます。
「ディスクの管理」→画面下部から対象ドライブ(青いやつ)を右クリック→「VHDの切断」→「OK」

3. VirtualBoxで仮想マシンを作成

image.png

メモリは贅沢に256MB割り当てちゃいましょう。
ハードディスクは新規作成で8GBくらいで作っておきましょう。(仮想イメージ形式はVHDがおすすめです。ホスト側Windowsでも特別なソフトを使わずに簡単に読み書きできるので。)

4. 仮想マシンの設定

作った仮想マシンを起動する前に、設定→ストレージより、IDEプライマリスレーブに先程作ったVHDを割り当てます。
「既存のディスクを選択」→「追加」→ファイル選択ダイアログから選ぶ→一覧に追加されているので「選択」

image.png

そしてHDDと同じ要領でフロッピードライブに、起動ディスクを割り当てます
「ディスクを選択」→「追加」→ファイル選択ダイアログから選択→「選択」

最終的にこうなります
image.png

次に、USBを切ります。
Windows95の頃にはUSBなんて普及してなかったので、インストール時にコケたりしないように切ります。
設定→USBより、「USBコントローラを有効化」のチェックを外します。
image.png

これでひとまず設定は終了です。
仮想マシンを起動しましょう。

5. Cドライブをフォーマットする

仮想マシンを起動すると、「Starting Windows 95...」の表示のあと、(日本語版の起動ディスクなので)キーボード配列の選択が出てきました。「半角/全角」キーを押すことでJISと認識させます。(FreeDOS等ではこの画面は出なかったはずです)
image.png

選択後はDOSが使えます。ここから、fdiskを利用して、先程OS用に作成したハードディスクのフォーマットを行います。(FreeDOSでも、表記は英語ですが手順はほぼ同じです)

  1. FDISKの実行

    fdiskコマンドでFDISKを起動させます。

    VirtualBox_Windows 95_09_11_2019_00_42_34.png

    ここではYキー→Enterで、大容量ディスクのサポートをオンにします。

    VirtualBox_Windows 95_09_11_2019_00_44_25.png

    1番で「MS-DOS領域または論理MS-DOSドライブを作成」を選択します。

    VirtualBox_Windows 95_09_11_2019_00_45_53.png

    1番で「基本MS-DOS領域を作成」を選択します。

    MBRで初期化してくれます。

    VirtualBox_Windows 95_09_11_2019_00_46_44.png

    最大サイズを割り当てましょう。

    終了後はEscキーを2回押してFDISKを終了しようとすると、再起動しろとのメッセージが表示されます。

    VirtualBox_Windows 95_09_11_2019_00_48_12.png

    もう一度EscキーでDOSでに戻り、仮想マシンを再起動させます。(仮想マシン→リセット)

  2. ドライブをフォーマット
    もう一度半角/全角キーでJIS認識させ、プロンプトになったら、今度は
    format c:
    を実行します
    (もしJIS認識されていない場合は、「:」はShift+「;」です。)

    VirtualBox_Windows 95_09_11_2019_00_52_54.png
    ファイルなんてなにもないので、y→Enterでフォーマットします。

    VirtualBox_Windows 95_09_11_2019_00_53_04.png

    ボリュームラベルを決められます。安直にWindows95にしました。

    VirtualBox_Windows 95_09_11_2019_00_53_12.png

    フォーマットが完了し、使えるようになりました。

6. インストーラを起動、インストール開始

先程、CDの内容が入っているHDDをプライマリスレーブに割り当てたので、そのHDDはDドライブになっているはずです。d:でドライブを変更しましょう。
変更後、SETUPと打ち込んでインストーラを起動しましょう。

実行するとこうなります
image.png
チェックをしてくれるらしいのでお願いしましょう。
image.png

ScanDiskが実行されました。Xキーを押してScanDiskを終了させます。
すると、以下のようにWindows 95のGUIインストーラが起動してきます。
VirtualBox_Windows 95_09_11_2019_01_36_38.png
普段のWindowsのインストールのようにライセンスに同意したら、セットアップウィザードです。ここらへんは昔から変わってません。どんどん進めていきましょう。
VirtualBox_Windows 95_09_11_2019_01_37_03.png

ドライバは全部入れちゃいましょう
VirtualBox_Windows 95_09_11_2019_01_41_41.png

起動ディスクの項目は、FreeDOSからインストールしている場合は念の為に作っておきましょう。「はい」を選び、VirtualBoxで「デバイス」→「新規フロッピーディスクの作成」からイメージを作っておきましょう。
VirtualBox_Windows 95_09_11_2019_01_43_54.png

ファイルコピーの進捗度に合わせてスライドが変わるのですが、速くてなんにも読めません。
VirtualBox_Windows 95_09_11_2019_01_45_33.png

ファイルのコピーが終わり、マシンの再起動を求められます。まずフロッピーを抜きましょう。(デバイス→フロッピーディスク→仮想ドライブからディスクを除去)
VirtualBox_Windows 95_09_11_2019_01_46_25.png

そうしたら、OKを押した瞬間からF12を連打 します。(VirtualBoxのブートメニューを表示させる)
VirtualBox_Windows 95_09_11_2019_01_48_25.png

表示されたら、一切ブートせず、仮想マシンの電源を切ります。(画面を閉じます)

7. 高速CPU対応用のパッチを当てる

実はここが今のPCの仮想マシンにWindows95を入れるときの罠です。
仮想マシンなんだから古いOSが簡単に動いてもいいのですが、Windows95は(今に比べたら)遥かに遅いCPUを前提に作られているOSです。今のPCのCPUは速すぎるのです。それゆえ、このまま再起動してしまうとこうなります。
image.png

これでは何も出来ません。なので、高速CPUに対応させるためのパッチを当てます。
(作った人すごいですね)
http://www.tmeeco.eu/9X4EVER/GOODIES/FIX95CPU_V3_FINAL.ZIP
↑これをダウンロードすると、中にISOが入っているZIPが手に入りますので、展開してISOを取り出しておきます。

次に、仮想マシンの設定を開き、「ストレージ」→光学ドライブからイメージ割当→先程手に入った「FIX95CPU.ISO」を割り当てます。
image.png
image.png

ついでに、「ディスプレイ」→「ビデオメモリ」を贅沢に128MBにしちゃいましょう。(しなくてもいい)
image.png

では、改めて仮想マシンを起動しましょう。

起動すると、こんな真っ赤な画面が出てきます。
VirtualBox_Windows 95_09_11_2019_01_59_14.png
High-Speed Processor Support、直球ですね。

指示通り、なにかキーを押します。
すると、README読むか聞かれますが、読まなくても別にいいのでNキーで飛ばします。
VirtualBox_Windows 95_09_11_2019_01_59_18.png

また何かキーを押すと、パッチが当たります
VirtualBox_Windows 95_09_11_2019_01_59_24.png

これで高速CPU対応が出来ました。何かキーを押し、「デバイス」→「光学ドライブ」→「仮想マシンからディスクを除去」でCDを抜いて再起動しましょう
VirtualBox_Windows 95_09_11_2019_01_59_27.png

8. セットアップ続行

もし、Startup Menuが出てきたら、Safe ModeではなくNormalを押して通常起動させます。
VirtualBox_Windows 95_09_11_2019_02_03_57.png

コンピュータ名などの入力が始まります。
ひとまずコンピュータ名を入力し、ワークグループも入力(WORKGROUPで良いと思います)したら、左側のタブ「ネットワークの設定」に行きます。

このままではTCP/IPが使えないので、「追加」を押し、
image.png

「プロトコル」をクリックしてから「追加」を押します。
image.png

「Microsoft」から「TCP/IP」を選択し、「OK」で決定します。
image.png

ネットワーク構成欄にTCP/IPがあることを確認したら、「閉じる」で続行します。
image.png

バージョンの競合とか言ってくることがありますが、コピー元はどうせ一緒なので「現在のファイルをそのまま使う」にしましょう。

すると、今のPCでもたまに見かけるような画面が出てきます。
VirtualBox_Windows 95_09_11_2019_02_12_06.png

このあとはタイムゾーンやプリンタ等の設定ですが、タイムゾーンは別に弄らなくていいので「閉じる」で続行します。
プリンタも仮想マシンには必要無い(と思っている)ので、「キャンセル」します。

セットアップが完了し、再起動を求められます。再起動しましょう。
VirtualBox_Windows 95_09_11_2019_02_14_02.png

ログイン画面が出てきました。ユーザー名は先程入力したものを、パスワードは今考えたものを入力しましょう。
VirtualBox_Windows 95_09_11_2019_02_18_12.png

VirtualBox_Windows 95_09_11_2019_02_19_03.png
お疲れ様でした。Windows95がインストールできました。
最後に、グラフィックドライバを入れましょう。

9. グラフィックドライバを当てる

このままだと16色しか使えないので、
VirtualBox_Windows 95_09_11_2019_02_20_56.png

↓を落としてきます。
https://web.archive.org/web/20190210203844/http://bearwindows.boot-land.net/140214.zip
(出典:https://web.archive.org/web/20190210203844/http://bearwindows.boot-land.net/vbe9x.htm)

展開するとこんな感じです。
image.png

次に、仮想マシンのメニューから、
「デバイス」→「光学ドライブ」→「新規アドホックVISOの作成」
に行きます。
これは、ホストマシンからゲストマシンへ、拡張機能等入れずにも仮想マシンのCDドライブ経由でデータが渡せるスッゴイ便利な機能です。(本当にありがたい)
上部のファイラーから、先程展開したフォルダを下部にドラッグします。
image.png

OKを押せば、今下側に入れたファイルが入った(ように見える)仮想ディスクが仮想マシンに挿入されます。
image.png

デスクトップ→右クリック→「画面のプロパティ」→「ディスプレイの詳細」→「詳細プロパティ」→「変更」でアダプタの変更ができます。
現在は「スタンダード PCI グラフィックス アダプタ(VGA)」になってるはずです。

右下の「ディスク使用」から、
image.png

「参照」をクリックし、ドライブ欄から先程のディスクを選択、140214\128mbを選択し「OK」を押します。
image.png
もう一度OKを押すと、このようなダイアログが出てくるので、また「OK」を押します。
image.png

ディスプレイアダプタが変更されました。
image.png

このままOKをするとこんなのが出てきますが、閉じて、
VirtualBox_Windows 95_09_11_2019_02_52_15.png

閉じましょう
image.png

このままだとRundll32がエラー吐いたせいで何も出来ないのでスタートメニューから再起動します。
image.png

再起動したのに勝手に電源が落ちた場合は、手動で起動し、セーフモードではなくNormalで起動します。

再起動すると、色がたくさん選べるように。どうせなので「TRUE COLORS True Color (32ビット)」を選択しましょう。
VirtualBox_Windows 95_09_11_2019_02_55_40.png

右下の「詳細プロパティ」から、「モニター」→「変更」に行きます。
image.png
「Super VGA」の中から好きな解像度を選びましょう。
ダイアログを閉じるとリフレッシュレートの云々がですが、指示に従いましょう。

解像度が800x600や、それ以外にも自分で今選んだモニタの解像度までの解像度がいくつか選択できるようになっています。
image.png

好きな解像度にして、「OK」を押して再起動すれば・・・
image.png
きれいなフルカラーの表示、1024x768の広大な画面領域が手に入ります!

あとはFirefox1.0を入れてブラウジングするなりして、Windows95を楽しみましょう!!

あとがき

さて、この記事需要あるんでしょうか・・・
まぁ作業記録でもありますので、価値は0じゃないと信じています。
ちなみに25日にらぴーとさんによる、VMwareにWindows98を入れてみる回もあるそうなので、そちらもぜひ。

宣伝

4日目にC言語開発環境を構築しよう! ~超遠回り編~
10日目に個人シンクライアント運用のすゝめ
も書いてます。そちらもぜひ
次の記事: @ke9000によるスマホに音楽データ入れるとストレージ食うけど家にあるCDを持ち運びたくない?解決法、あります! です!お楽しみに!(僕はGooglePlayMusicのロッカー機能派)

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした