VirtualBoxでWindows 98SEを仮想化する:1

第1回 仮想マシンの構築(導入編)

Written by Yuki_A : 2011/06/06 12:00:00
Update : 2022/05/29

0.前書き

 なぜ ME や 95 ではなく 98SE なのでしょう?  それは 95系の Windows で最も安定していてCD起動可能だったからです。
ME は不安定だし、製造元のマイクロソフトでさえ「なかった事」にされている扱いです。
98SE 以前の 95系OSはインストール時に、今や過去の遺物となったフロッピーを使い、MS-DOS の知識も多分に必要です。

 ビジネス環境の殆どが Windows 10 以降に移行した現在、古いOSの存在価値は企業では古いOSでしか動作しないアプリの運用、個人ではゲームにしか見出せない訳です。
また Windows 98SE では 95系同士の互換性も高く、バージョンによる縛りが無い限り殆どのアプリが動作可能です。
つまり古いOSを利用するに当たり、最も手間が省け効率的なのが Windows 98SE だった訳です。

 このページは AMD Ryzen 9 5950X で稼働する Windows 11 をホストマシンにして Oracle の VirtualBox という仮想マシン上で Windows 98SE を動作させた記録が
書かれています。 飽くまで個人的な記録ですので、読者様には参考にしかならないとは思います。
実際に試すのであれば、私とは条件が異なりますので自己責任でお試しになってください。
ちなみに私の環境を以下に記しておきます。

<ホストマシンの環境>
CPU AMD Ryzen 9 5950X (16 core 32th 3.40 GHz)
Video NVIDIA GeForce GTX1660 super
Memory 128 G byte
OS Windows 11 Pro Ver:21H2
SSD 1 T byte x 2 : CSSD-M2B1TPG3VNF
HDD 8 T byte x 2 : MD05ACA800

0.確認事項

 下準備と言うか念のため、ホストマシンの仕様確認です。
  • VirtualBox 仮想マシンは、仮想 CPU に実スレッドを割り当てます。
  • また仮想マシンのメインメモリーに実メモリーを割り当てます。
  • そしてセキュリティを目的に仮想マシンを仮想マシンとして認識するために仮想化機構を使います。

 このため、運用する仮想マシンとゲスト OS で必要とされる仮想ハードウェアを提供しなければなりません。
そこで これらが提供可能かどうかを確認し、必要であれば再設定が必要となるわけです。
  1. 仮想マシン(とホスト)が要求するスレッドは確保可能か?
  2. ホストマシンには仮想マシンとホストを運用可能なメモリーが搭載されているか?
  3. ホストマシンの CPU は仮想化支援機能が設定されているか?

 特に3番の仮想化支援機能の設定は BIOS (uEFI) から行うので、しっかり確認が必要で、一度シャットダウンしてから BIOS 設定に入り、設定の確認/変更が必要です。

1.用意するもの

 まず仮想マシン本体です。 これが無いと話になりません。
オラクルのオフィシャルサイトからダウンロードします。
トップページ:https://www.virtualbox.org/
ダウンロード:https://www.virtualbox.org/wiki/Downloads

最低限、以下のファイルを用意します。(6.1.34 はバージョン番号です。適切に読み替えてください。)
VirtualBox 6.1.34 platform package
  • Windows hosts (Windows 用 )
VirtualBox 6.1.34 Oracle VM VirtualBox Extension Pack
  • All supported platforms (ホスト共通)
以下は資料やドキュメントで、必要に応じてダウンロードします。
  • User Manual ( pdf版、オンライン用のHTML版もあります)
  • Source code (VirtualBox のソースコード)
 マニュアルはダウンロードしておいても差し支えありませんが、ソースコードなどは VirtualBox 自体を再構築して個人的な改造を追加しようとしないない限り
必要ありません。

次に Windows 98SE のオリジナルCDです。 これが目的の対象ですので当然です。

 以下は先に用意しておいた方が良い物です。
必要になってから慌てて探すより、前もって用意しておけば気楽に作業ができます。 出来ればまとめて ISO ファイル化しておけば更に便利です。
これらのうち、構築条件によっては使わない物も有りますが、まとめておけば「転ばぬ先の杖」にはなります。


  1. DirectX 9.0c
    こちらで希望の物が手に入ります。
    http://www.oldversion.jp/windows/directx-9-0c
    DirectX 9.0c は XP までのゲーム用ランタイムであるため、ホストマシンにはインストール出来ません。
    ホストマシンで旧作ゲーム用に必要な場合はMicrosoft Download Center から。
    ゲーム用途はもちろんの事、AC'97音源にも利用されます。
    ( VirtualBox では Sound Blaster 16 音源がデフォルトとして仮想化されていますので、AC'97音源は使いませんが。)
    また、最新とは言っても Direct X 9.0c より高位の Direct X はインストール不能です。
    少なくとも Windows 98SE にインストール可能な 2006年10月版を選ぶべきです。
     ・filehippo.com から
    これより古い物でもアップデーターがあれば後で更新可能ですが、最新を用意しておきます。
    但しサポート終了OSなのでネットに繋げない事を前提として、オフライン・インストール可能な物を用意した方が良いでしょう。


  2. ビデオドライバ
    まず VirtualBox は 95系 (16 bit系) Windows 自体をサポートしていません。
    当然の事ながら、16 bit 用の仮想グラフィック・アダプタ(仮想ハードウェア)も用意されていません。
    このため、ユーザー側で仮想グラフィック・アダプタを用意する必要があります。
    著作権上怪しい物も含め、選択肢は2つあります。
    1. Vesa Video Display Driver (無料・パブリック・ドメイン)
    2. SciTech Display Doctor 7-bata(有料・英語版のみ)
    Display Doctor は試用期間が21日間、ライセンスを購入しないと使い続けられません。
      実際に使ってみると、21日を経過すると頻繁にライセンス登録を要求するダイアログが出てウザいだけです。
      VirtualBox のオフィシャルBBSでは改造せずに利用可能と書かれています。
      ですが既に製品管理は行われておらず、合法的に?開放されている様で、以下のサイトでは解除コードも公開されています。
      なお現在は現状はβ番の最終バージョンのまま公開されています。

     一方 Vesa Video Display Driver はオープン・ソースで無料ですがバグも取れ、現在は開発終了しています。
    現時点では最高の仮想ディスプレイ・アダプタと呼べます。
    どちらの仮想ハードウェアを使っても問題はありませんが Vesa Video Display Drive をお薦めします。
    常識的には有料の方が高品位ですが、残念な事に製造元が消滅したようで、権利者は存在するものの、
    ライセンス料を支払いたくても振込先が不明なので、結局はクラッキングして利用する事になります。
    また、この状態を反映してライセンスキーも公表されています。
    このような訳で、サポートも無く自己責任で利用する事になります。

     あと、これら仮想ディスプレイ・アダプタとの関係性は未確認ですが、これらを利用すると画面モード制御の関係で、コマンドシェルが利用不能になる場合があります。
    根本原因は VirtualBox が 95系 Windows をサポートしていない事なのですが、運用中に画面モードが変更されるアプリやコマンドシェルが動作しない場合があり、
    これで最も困る部分がビデオドライバに集約されている訳です。

     これさえ解決されれば、95系 Windows を運用する仮想環境として VirtualBox が最も再現性が高く高速な仮想マシンになると思われます。
    また、この問題のせいで Win95環境で最も安定しているのが VMware であるとも言えます。
    ちなみに VMware はまだ Win95環境に対応してはいますが、65535色(16bit color)が利用不能という致命的バグがあります。
    改めて仮想ディスプレイ・アダプタを入れ替えても良いかもしれません。


  3. オーディオドライバ
    音源は仮想マシン生成時の二択です。
    • Sound Blaster 16
    • Realtek AC'97
    VirtualBox の Win95系環境ではデフォルトで SB16 が奨励されています。
    また、音源ドライバはOSに含まれ、自動的に採用されます。
    VMware player の場合も SB16 ですが、こちらは独自で音源ドライバを用意する必要があります。
    Creative archiv : http://jp.creative.com/support/downloads/
    (サイトのリストボックスより、[Sound Blaster] -> [その他] -> [旧製品:Sound Blaster 16] を選択)
    VMware に乗り換える場合、用意しておけば役立ちます。

    VirtualBox での Windows 98SE では利用しませんが Realtek AC'97 音源ドライバも役立ちます。
    Realtek : (AC'97音源)


  4. アーカイバ
    7Ziplhaplus など お好みで2点ほど用意しておきます。
    完全に起動するまでに利用するファイル類は全てアーカイブされた物から抽出するからです。
     なおホストマシンで運用する場合、Lz系アーカイバには注意が必要です。
    特に、内部的にdllを運用するアーカイバではセキュリティ上の問題が指摘されていますが、dllを使わないLzであれば問題ない様です。


  5. ブラウザ
    残念ながらこの OS に対応するブラウザは存在しません。
      ゲスト OS で現在のネット情報を表示しようとすると大多数のコンテンツがブラウザ非対応と
      なってしまうからです。
      また、例え動作可能なブラウザが存在しても、既に開発終了であり、現行のブラウザ・インストーラーを改造する事になり、OS 仕様に対応させるライブラリーを
      含めた無駄なコストを掛ける事になるからです。

     そもそもですがOSが古く対応するウイルス対策ツールも無く、仮想マシン自体ののセキュリティも甘いため、ネットに接続するのは危険です。
    また他者にも被害を与える可能性さえあります。
    仮想マシンとは言ってもネット側からは1台のPCとみなされますので、セキュリティ管理が出来ない状況ではネット接続はしない方が良いと思われます。
    Windows Update に関しても、ネットアクセスはせず、ローカルでのアップデートを行うべきです。


  6. プラグイン/ツールなど
    • Flash player Ver9.0.28 http://www.oldversion.com/windows/macromedia-flash-player-9-0-28-0
      95系OSの最終バージョンは 9.0.280 です。
      利用する場合は、ちょっとした改造が必要になります。
      なお Flash player プラグインは既に Windows OS のサポートを終了したものばかりです。

    • Resource Hacker
      DLL 改変用ツールとして Resource Hacker を用意しておくと良いでしょう。
      Resource Hacker : http://www.angusj.com/resourcehacker/
      基本 英語版ですが日本語版も統合された様で、ダウンロードしておけば良いでしょう。
      なお、本テキストは DLL の改造説明がメインではないため、方法に付きましては運用編に譲ります。

    • Java
      Oracle : http://www.oracle.com/technetwork/java/archive-139210.html
      SDK(開発環境)をインストールしない限り、Windows 98SE での最終バージョンは 1.5.0 です。
      ブラウザを運用しないのなら、あえて用意する必要は無いかもしれません。
      ネットに接続するなら、運用方法を熟考し、通常は接続せずローカルでのご使用をお奨めします。

    • アップデーター
      Windows 95 や 98 のアップデーターは こちら に保管されています。
      業務など実用に耐える仮想マシン構築が必要なら、こちらからダウンロードしておく事をお薦めします。
      もはや使用されなくなった古いOSです。 試す事が目的なら、そこまで神経質にならなくても良いでしょう。

 このように Windows 98SE の再利用に必要となるツールやファイルを事前に用意しておけば面倒なく
インストール出来ます。 また VirtualBox では仮想CDドライブが利用可能で、このようなツールやファイル、
OSのCDをイメージファイル化しておくと、非常に便利に事が運びます。
ホストOS側で これらをCDイメージ化(*.iso)しておきます。

2.VirtualBox のインストール

VirtualBox 初回起動
 Windows Vista 以降のOSにインストールするのであれば、常識的に管理者権限でインストールします。

インストールダイアログの指示や選択肢を適正に指定すれば、すんなりインストールされます。

インストールが終了したらホストマシンの再起動をお忘れなく。
拡張機能の組み込み
 拡張パックは VirtualBox を起動させて組み込みます。

[ファイル]⇒[環境設定]⇒[拡張機能] から

この時、その他の環境も設定しておきましょう。

3.仮想マシンの作成と設定


 タイトルのとおり Windows 98SE に相応しい仮想マシンを設定します。

仮想マシンの作成

  作成1              作成2              作成3
新規VMウィザード開始 OSに適したタイプの選択 仮想マシン搭載メモリの設定
  1. まず[新規作成]で仮想マシン構築ウィザードを開きます。
  2. 名称をを記入してマシンタイプを選択…
  3. 仮想マシンに搭載するメモリーの容量を決めて…
 Windows 98SE の管理可能な最大メモリー量は 756 MB です。 これはビデオメモリーも含まれます。
メインとビデオの合計が 756 MB 以下という意味ではありません。 実はこれでも障害が出ます。
この時代のハイスペック・マシンは、メインメモリが 256MB ビデオメモリ 64MB などが一般的です。
一般的には、メインメモリ 128MB ビデオメモリ 32MB に設定しておきます。
今にして思えば少ないですが、この程度にしておき、運用時の障害を見ながら増やせば良いでしょう。


仮想HDDの作成

 続いて仮想HDDの作成です。 [次へ]で仮想ディスクウィザードが開きます。

  作成1              作成2
仮想HDDの設定 仮想HDDウィザードの開始

作成3
可変/固定の設定



可変サイズ/固定サイズ
どちらか お好きなタイプを選びます。(笑)

作成4
容量の設定



 Windows 95 当時の標準的なハードディスクの容量は 2~4GB でした。
98SE の頃には 8GB 程度にはなっていました。
今回は 17GB にしておきます。

え? 17GB の根拠ですって?  それはですね…

 世間が Windows ME の発表で浮かれたいた頃、私は既に Windows 2000 pro に乗り換えていて、
デュアルブート環境として Windows 98SE を使っていたのでした。

 OSの限界から 20GB 程度の HDD が多く、 2000 用に 17GB を2台購入し、その1台を FAT32 として
Windows 98SE を入れたのでした。
もちろん何の問題もなく利用できました。 そんな記憶が 17GB という容量を選ばせたのでしょう。

注意:
 Windows 98SE では FAT16 と FAT32 のファイルシステムをサポートしています。
FAT32でフォーマットすれば最大2TB の運用は可能な筈ですが 95系のOSは管理できる容量に上限があり、1パーティション当たり 32GB です。
単一ドライブで単一パーティションの運用であれば上限は 32GB になるという事です。
つまり 32GB を超える容量のドライブを与えても内部分割して利用する形になってしまうという事です。
参考:http://www.iodata.jp/support/advice/hdd/filesystem.htm

作成4
新規仮想マシンの完成



そして仮想マシン構築ウィザードは こうなります。
[完了]で仮想マシンの概要が出来上がります。

作成4
新規仮想マシンの表示



仮想HDDが出来上がるとこんな画面になっている筈です。

 仮想マシンとしては出来上がっていますので起動は可能です。
ですがこのまま起動しても真っ暗なスクリーンウィンドウが開くだけで、何も起こりません。
当たり前です。 まだOSをインストールしていないからです。


仮想マシンのプロパティ

 ここでOSのインストールを始める前に更に細かい設定を行います。
この作業、実は BIOS 設定と同じ事なのです。
面倒がらずにきちんと設定しておくとOSインストール後に悩まなくて済みます。
先程の画面から[設定]を開くと、こんな画面が開きます。

  1. 一般設定
    • 基本(B)
      設定-一般
       これは変更する必要はありません。
      これを変更すると Windows 98SE では制御しきれない仮想マシンが
      与えられる事になり、非常に面倒です。
      仮想ハードウェアの構成が変わり Windows 98SE では対応する
      ドライバも無く起動しない場合も考えられます。

    • 高度(A)
      設定-高度
      [基本]の隣のタブです。
      Guest Adission がインストール出来ないので
      下の2つのオプションは無意味です。
      1. スナップショットの保存先は仮想HDDファイルの場所と同じ場所にしておきます。
      2. クリップボードの共有は【双方向】が指定されていますが実際には無効です。
        仕様上 95系 Windows はシームレスモードが組み込まれないからです。
      3. リムーバブル メディア 通常はチェックしておきます。
        変更を残したくない場合のみ外します。
      4. その他:シームレスモードが使えませんので設定する事自体が無意味です。

    • 説明(D)
      設定-説明
      読んでそのまま、この仮想マシンの説明です。
      特記事項のメモにでも利用します。

  2. システム
    • マザーボード(M)
      設定-マザーボード
      ご覧のとおりです。

      1. メインメモリ:ゲストOSの管理上限以下で変更可能です。
      2. 起動順序:ここで起動順序を設定します。
        OSインストール前は CD/DVD からの起動が最優先ですが、運用開始後はハードディスクを
        最優先にします。
      3. チップセット:PIIX3 にしておきます。 変更すると対応ドライバが無かったりします。
      4. 拡張機能
        • IO ACPI を有効化…チェックを付ける事も可能ですが手動インストールになります。
          手動インストールが面倒ならチェックを外しておきます。
          (解説の都合上、チェックを付けています。)
        • EFIを… Windows 98SE は対応していません。 チェックしません。
        • ハードウェアクロック… windows 98SE は Uinx 系ではありません。
          チェックしません。
        • 絶対座標… タブレット、ペンマウスを利用する場合のみチェックします。

    • プロセッサ(P)
      設定-プロセッサ
      CPUは当然1個です。
      拡張機能:PAE/NX はチェックせず無効にしておきます。
      95系Windows では障害が出ます。

    • アクセラレーション(L)
      設定-アクセラレーション
      VirtualBox のバージョンが 4 以降なら仮想化支援機能のチェックは
      任意です。
      これ以前のバージョンの場合、チェックすると支障が出ます。

  3. ディスプレイ
    • ビデオ(V)
      設定-ビデオ
      ビデオドライバに関する詳細設定です。
      1. ビデオメモリ:最大 64MB として、平均的な 32MB です。
      2. ディスプレイ数:ビデオドライバが対応していれば複数可能です。
        現状では1しかありません。
      3. 拡張機能:
        • 3Dアクセラ… :ゲームをプレイしないならチェックを外しておきますが…
          そもそも VirtualBox で3D機能のハードウェア・アクセラレーションは、
          Extention Pack による拡張機能なので、サポートされていない Windows 98SE では
          最初から利用不能です。
          仮想ビデオドライバ依存の機能なので 98SE の場合はチェックを付けません。

        • 2Dビデオ… :チェック不要
          Windows XP 以降の描画拡張なので、これもチェックは付けません。

    • リモートディスプレイ(R)
      設定-リモートディスプレイ
      Windows 98SE です。
      この機能を使うとは思えません。
      よって無効のままにします。

  4. ストレージ
    設定-ストレージ
     これはハードディスク、光学ドライブ、フロッピードライブなどの
    ストレージと呼ばれるデバイスのコントロールを扱うものです。
    パソコンを自作された方には想像しやすいと思うのですが、
    このコントローラの選択はチップセットの選択とほぼ同じです。
     仮想マシン作成直後は図のような構成になっていますが 利用するOSに見合った物を選択する必要が
    あります。 また、この画面で仮想HDDの追加や削除を行います。 新規の追加はウィザードで行います。
    削除とは「登録を解除する」という意味でHDDファイル自体が削除される訳ではありません。
    必要になったら再接続可能なのは実機同様です。
    この機能を利用すればリムーバブルHDDがエミュレート出来ます。
    こちらで詳しく紹介していますので、詳細はこちらをご覧ください。
    http://vboxmania.net/node/33

     このテキストでは Windows 98SE がメインだった頃の構成を再現する事を中心に説明します。
    また上記サイトで書かれていない部分も補足しておきます。
    Windows 98SE の時代(1999年頃)のパソコンは HDD の制御に パラレルIDE を利用していました。
    SCSI も古くから有りましたがHDDよりも周辺機器の接続に使われ、パソコンでは次第に使われなく
    なりました。 また SATA や SAS などは比較的最近の話です。
    フロッピードライブも現代のマシンでエミュレートするには無くても良い物です。
    そうなるとデフォルトのコントローラが正解となる訳です。

     ここで上記のサイトの補足です。
    それはコントローラのタイプです。 以下にそのタイプの代表的なチップセットを掲げておきます。
    そして Windows 98SE では PIIX4 が妥当であるとしておきます。

    名称チップセットターゲットCPU
    PIIX3430Pentium Ⅱ
    PIIX4440Pentium Ⅲ
    ICH6915Pentium Ⅳ

     本来なら PIIX3 だと思われがちですが、それは PentiumⅡ世代のCPUが対象だからです。
    Windows ME の頃には、むしろ PentiumⅢ がメインです。
    ところが Windows ME は非常に短命で、PIIX4 は 98SE で十分に利用可能なハードウェアであった
    という事です。 ですから PIIX3 は Windows 95 専用とも言えます。

     これらの厳密な違いは利用可能なデバイスの違いとなって表れます。
    ユーザーから見れば単純に使える機能の差として表れ Windows 98SE を Vista が運用可能なマシンに
    インストールしてもハードウェアを使いこなせない訳で、それは仮想マシンであっても同じ事です。
    何よりOS側が対応できません。
    だからその時代の平均的で利用可能なマシンスペックに合わせるのが道理というものでしょう。


  5. オーディオ
    設定-オーディオ
    音を出す設定です。
    ホスト側の機能を利用してエミュレートします。
     なお " Null Audio Driver " はホスト側でゲストよりのサウンドデータの一切を捨ててしまいます。
    単純にミュート機能だと思えば良いでしょう。

     ゲスト側のオーディオコントローラには "SoundBlaster 16"を選択します。
    OSインストール時にOSが適切なドライバを選んでくれますので悩む必要は無いかもしれません。
    AC'97 音源も選択可能ですが、ドライバが新たに必要になります。
    ( Intel HD オーディオも同様にドライバを探す事になりますが適合せず音が出ない場合もあります。)

     ちなみに私の環境では Wave音源のみ再生され、MIDI が再生されないトラブルもありました。
    それは新たに仮想音源をインストールする事で解決しましたが、仮想音源自体がフリーで手に入る
    物が有りません。 また有っても動作を保証する物でもありません。
    念のため、Wave/MIDI 両方の音源チェックはお忘れなく。


  6. ネットワーク
    設定-ネットワーク
    当初はこんな画面の筈です。
    ホストマシンのネットワークプロトコルは Windows 98SE よりも複雑でセキュリティが高く、
    ホストマシンの共有フォルダにアクセス出来ません。
    結局以下のように1台のリアルマシンとしてネットに接続する事になります。
    設定-ブリッジ
    で、結局はこういう事になってしまいます。
    それでも Windows Update が終了するまでにしたいものです。
    ただ他のマシンと繋げるにはこの設定は必要で、
    本来は NAT で利用すべきかもしれません。


  7. シリアルポート
     近年、シリアルポートの用途は無くなってきています。
    専用ハードが必要なアプリを実行するならともかく、ホストマシンにはシリアルポートが無く、
    USB のみのマシンもあります。 ましてゲーム用途なら使う可能性は極めて低いため、
    この項目は割愛させて頂きます。
     また利用するならゲストOSが起動してから設定しても良いかと思います。
    その場合にはポートや割り込み番号がコンフリクトしないよう設定する事を心掛ければ良いかと思います。
    具体的に分かりやすい運用例だとアナログ電話回線用モデムの接続ですが、 RS-232C コネクタが無いのでは
    「設定するだけ無駄」というものです。


  8. USB
    設定-シリアルポート
     Windows 98SE の時代には USB 2.0 は珍しいものでした。
    ですが、USB2.0 は利用不能です。
    USB 機能は標準で利用可能なのですが 2.0 は Extention Pack で
    拡張される部分です。
    Extention Pack がインストール不能な Windows 98SE では利用不能です。
     (Extention Pack から USB2.0 インストーラを抽出し、inf ファイルに 98SE 情報を追加可能なら
     USB2.0 の拡張可能性はあります。)


  9. 共有フォルダ
     95系 Windows をゲストOSとする場合、サポート対象外ですので この機能は利用不可能です。
    厳密には、ネットワーク・プロトコルがホストに対して有効であれば利用可能です。
    まあ、だからホストとファイルのやり取りを行う場合、仮想CDファイルが最も便利なので
    ユーティリティやツールなどを予め ISO ファイルにしておく訳です。

4.導入編のまとめ

 今回は仮想環境としてオラクルの VirtualBox をインストールし、Windows 98SE を動作させるための
仮想マシンと、その HDD を作成するまでを書いています。
ここで覚えておいて頂きたい事は…
  • 仮想マシンの作成は実マシンの BIOS 設定と同じである
  • 仮想マシンは仮想OSに相応しいハードウェアを再現させる
  • 必要となるファイルは事前に用意する
こうなります。

次回はいよいよメインの作業、仮想マシンへの Windows 98SE インストールです。
MS-DOS のの知識も必要になりますので、心して掛かってください。
次へ >>

inserted by FC2 system