オープンソースの仮想環境VirtualBoxでWindows 98を動かそうとすると、少なからずトラブルに見舞われます。Windows 9x系は古いOSなので、それ程テストされていないのかもしれません。古いOSこそ仮想環境で素早く準備したいと言うのに、試行錯誤に時間を取られてしまっては本末転倒。
そこで、Windows 98を快適に動かす手順をここに記しておきます。
Tutorial: Windows 95/98 guest OSes (virtualbox.orgフォーラム)
インストールに使用したOSのバージョンはWindows 98 SE。CDだけでインストールが可能です。なるべく、無印バージョンは使わない方がいいです。なぜなら、今では珍しくなりつつあるフロッピードライブが必要な事と、不可解な起動エラーに見舞われる可能性があるからです。本記事執筆時点の環境は、VirtualBox 2.2.4、ホスト Windows Vista x64です。
まず、VirtualBoxのマネージャからWindows 98用の仮想マシンを作成します。このとき、プリセットされた設定を以下のように変更します。
[一般]-[基本]タブの[メインメモリのサイズ]を128MB、[ビデオメモリのサイズ]を32MBに設定。あまり多くすると仮想マシンが起動しなくなる可能性があるので程々に。特に、ビデオメモリを64MB以上にすると、VGAドライバがハングアップしてしまいます。
次に[一般]-[高度]タブの[VT-x/AMD-Vを有効化]を解除して下さい。ホストCPUの仮想化を有効にしていると、Windows 98起動時に確実にフリーズします。
[オーディオ]の[オーディオコントローラ]は、"ICH AC97"から"SoundBlaster 16"に変更。[ネットワーク]の[アダプタ タイプ]も、"PCnet-FAST Ⅲ"から"PCnet-PCI Ⅱ"に変更して下さい。古いハードウェアを指定する事により、Windows 98に標準添付されているドライバが自動適用されるようになります。
もし、上記ハードウェアの設定を修正し忘れてインストールしてしまったなら、後から変更しても構いません。その場合、SoundBlaster 16のドライバを手動で適用する必要があります。このサウンドカードはプラグ アンド プレイに対応しておらず、自動検出されないからです。Windows 98にログイン後、[コントロールパネル]-[ハードウェアの追加]をクリックして下さい。プラグ アンド プレイ対応機器の検出後、「インストールするデバイスは一覧にありますか?」と訊かれます。"デバイスは一覧にない"を選択して先に進んで下さい。
次のステップで、プラグ アンド プレイ以外の新しいハードウェアの自動検出をするか訊かれます。ここで"はい"を選択して下さい。SoundBlaster 16が検出されドライバが適用されます。
インストール後、ブート画面に"EMM386 not installed"と言うDOSのエラーが出現しフリーズする場合があります。
そのときは、F8キーを押しながらsafe modeで起動し、c:\config.sysのEMM386に関する内容をメモ帳を使い次のように修正して下さい。この修正によりDOS環境でEMSが使えなくなってしまいますが、Windows専用ソフトを動かす分には支障ありません。
device=C:\WINDOWS\EMM386.EXE NOEMS
そして、見た目を美しくするのに一番重要なVGAドライバの更新です。残念ながら、VirtualBox Guest AdditionsはWindows 9x系には一切対応していません。代わりのVGAドライバをインストールします。次のオープンソースVGAドライバが安定していてお薦めです。Universal VBE20 version(Manualではないほう)をダウンロードして解凍後、"\VBE9x\UNI"フォルダにあるinfファイルを使用して下さい。もし、ドライバ一覧に見当たらないときは、「すべてのデバイスを表示」してみましょう。
Universal VESA/VBE Video Display Driver (for Windows 9x x86 Architecture) (VBEMP x86 Project)
最後に、体感的な速度アップもしておきましょう。ハードウェア仮想化機能であるVT-x/AMD-Vを無効にしているため、全体的に動作がもっさりしています。[画面のプロパティ]の"ウィンドウ、メニュー、および一覧をアニメーション化する"のチェックを外してみてください。アニメーションしない分、少しは早く動いて見えるようになります。