VirtualboxにWindows 95/98/MEまとめ
最近VirtualboxへのWindows 95/98/MEインストールを何回かして、結局MEを使うことにしたんだが、インストール関連の情報をまとめとく。
98に゙関しては無印(98FE)は持ってないのでSecond Edition(98SE)を前提にしています。
MEは持っている人が少ないと思いますが、USBタブレット+標準ドライバでマウス統合になることや、
標準でマウスホイールに対応している、デバイスインストール時にCD要求が無いなど98より良い感じです。
98に゙関しては無印(98FE)は持ってないのでSecond Edition(98SE)を前提にしています。
MEは持っている人が少ないと思いますが、USBタブレット+標準ドライバでマウス統合になることや、
標準でマウスホイールに対応している、デバイスインストール時にCD要求が無いなど98より良い感じです。
VirtualboxのGuest Additionsに付属するGPUドライバはWindows
7以降になるので、現行バージョンのVirtualboxではWindows
XPではGPUの3Dアクセラレーションが利用できないのでDirect3Dを使うゲームは動きません。(Virtualbox
6.0.xならXPで3Dアクセラレーションが利用できます。)
ですが、Windows 9x(含むME)ではSoftGPUというサードパーティー製のドライバを使うと3Dアクセラレーションが利用できます。
95の場合はSoftGPUの機能が限定されるようです。
98/MEのDirectX最終バージョンは9.0cでXPと同じなので、OSバージョンで弾かれなければXPで動くゲームは98/MEでも動く。
Windows 9xではGuest Additionsが利用できないので、スクリーンの自動リサイズ、共有フォルダ、クリップボードの共有、PS/2マウスでのマウス統合は利用できませんが、
Windows MEに関してはVirtualboxのポインティングデバイスをUSBタブレット(標準)でマウス統合になります。
Windows 98は標準ドライバでHIDマウス(USBマウス)に対応しますが、VirtualboxのUSBタブレットでは問題が生じます。
ここに記載されていますが、Windows 98でUSBタブレットにする場合は、
これでマウス統合にはなりますが、98はOS標準ドライバだとマウスホイールに対応していないようでホイールが機能しません。
PS/2マウスの場合、IntelliPoint 4.12(Windows 9x対応の最終バージョン)を入れるとホイール対応になりますがマウス統合にはなりません。
vbmouse.gitを使うとWindows 98でマウス統合が利用できますがホイールに対応していません。
スクリーンの自動リサイズに対応しませんが、vmdisp9x(SoftGPUに含まれる)のINFファイルに解像度を追加することでウインドウを最大化した状態のサイズに手動設定することは可能です。
共有フォルダはvbados.git(MS-DOS用Guest Additions的なもの)に含まれるvbsf.exeをautoexec.batでWindows起動前に実行すると95と98ではVirtualboxの共有フォルダが利用できますが、
vbsfを使うとマウスドライバをvbmouse.gitかvbados.gitに含まれるvbmouse(vbmouse.gitと同名のドライバですが別物です)以外にするとWindowsが起動しなくなります。
またvbsfはファイル名が8+3文字に省略されるのと、サブフォルダを開こうとするとWindowsが落ちます。
vbsfは使い勝手が良くないので、XPのVM上の共有フォルダを経由して転送するか母艦でsambaを利用するなどが良さそうです。
ホスト→ゲストの一方通行になりますが、.viso(母艦上のフォルダをISOにしてゲストでCDとして利用できる)を利用して転送することも可能です。
クリップボードの共有は利用していませんが、ネット経由で共有するツールというのも存在するらしいです。
VM作成
VirtualboxでVMを作成する際Windowsにして作成するとVirtualboxの推薦設定でVMが作成されますが、グラフィックスコントローラーを変更すると警告が出て変更がキャンセルされる場合もあるので、
一度インストールするバージョンのWindowsで作成してからLinux,Other Linux,Other Linux (32bit)に変更してGPUをVMSVGA(3D+128MB)に変更します。VRAMはSoftGPUだとほとんど利用できないので128MBでも過剰ですので256MBにする必要はありません。
システムメモリは512MB以下でCPUは1個でないとインストールできないと思われます。
システムメモリはパッチ適用後に1024MB以上に変更します。
ストレージは用途によりますが20GBくらいが適切と思います。
USB設定がVirtualbox標準でUSB 2.0 (OHCI+EHCI)になりますが、98/MEはEHCIに非対応なのでUSB 1.1 (OHCI)に変更します。
9x用のEHCIドライバというものは存在しますが、Virtualboxに対応した汎用のものがあるかはわかりません。
98は標準でOHCI対応ですがUSB Mass Storage Classに対応していないようなのでUSBメモリなどを利用する場合は別途ドライバが必要です。
ストレージコントローラは標準ではAHCI(SATA)非対応なのでIDEです。
R. Loew(PATCHMEMの作者)の汎用AHCIドライバが存在するのですが、手元ではVirtualboxでインストールできましたがデバイスを接続すると起動しなくなりました。
IDEの場合、デバイスマネージャからDMAをチェックすると速くなるようです。
オーディオは標準でSoundBlaster 16になりますが、SoundBlaster 16は非プラグアンドプレイ機器なのでデバイスマネージャにない場合はコントロールパネルからハードウェアの検索をする必要があります。
あとノイズが入るので、SB16ではなくICH AC97にしてIntel AC'97 Audio Controllerのドライバを拾ってくるのがおすすめです。
HDオーディオも9x対応ドライバが存在しますが、ハードウェアバッファが利用できなければ速度面でメリットは無さそうですし、手元ではAC97の方が再生がスムーズでした。
ネットワークはIntel PRO/1000MT(82540EM)も9x対応ドライバが存在しますが、ドライバをインストールすると一緒に常駐アプリが入ってくるので、標準のPCnet-FAST III(100Mbps)で使ってます。
事前準備
Windows 95の場合、インストーラー自体にpatcher9xを当てたほうが良いみたいで、その場合はインストールディスクの中身をHDDなどの書き換え可能メディアにコピーしてsetupを実行します。
patcher9xにformatやxcopyなどのコマンドが同梱されています。
98/MEでのインストールの際の注意点として、普通にインストールするとAPMモードでインストールされ、ACPI非対応になります。
APMでインストールしてからACPIに変更することも可能らしいのですが、試したら無効なデバイスが大量に発生しました。
インストール時にHDDのフォーマットが終わって再起動した際にDOSモード(CDサポート)で起動し、
ACPIモードでインストール後に、コントロールパネルの電源の管理から「電源ボタンを押した時」を「電源オフ」に設定するとVirtualboxのシャットダウンシグナルに対応します。
インストール中は起動フロッピーの作成が発生するので、起動フロッピーの作成はキャンセルします。
インストール後にWindowsが起動すると、現代のCPUだと「shell32.dllファイルは欠落エクスポート」みたいなエラーダイアログが複数回発生してまともに利用できません。
patcher9xでC:\WINDOWS\SYSTEM\VMM32.VXDにtlbパッチを当てるとエラーが出なくなります。
95と98FEでCPUが2GHz以上の場合はspeedパッチも当てないと起動できないようです。
また、memパッチを当てないと512MBオーバーのRAMを設定して起動できません。
エラー発生後でも良いですが、インストール最終段階で再起動する際にpatcher9xのFDイメージをFDに割り当ててFDブートし、
ME以外の場合は、
コマンドはpatcher9xではなくpatch9xです。
復元機能もあるのでバックアップは不要と思います。
MEの場合はpatcher9xのmemパッチでは問題があるようなので、
PATCHMEMはFDイメージではなくzip配信なので、どっかに展開した状態でDOS起動してzip内のPATCHMEM.EXE実行するとc:\WINDOWS\SYSTEM\VMM32.VXDが更新されます。
なので、patcher9xでtlbパッチのみを当てて、Windows起動後にPATCHMEM.ZIP内のファイルをc:\PATCHMEM以下に配置し、
patcher9xのFDイメージを入れてFDブートで再起動し、
手元の環境だとMEにpatcher9xだとmemパッチが当たらず、英語版MEのVMM32.VXDだとパッチは当たるのですがSoftGPUを使うと起動しませんでした。
PATCHMEMだと1024MBでSoftGPUが使える。
インストール後はユーザーが1人でもログインダイアログが出るが、
コントロールパネル > ネットワーク
で「Windows ログオン」に設定するとログインダイアログは出ない。
SoftGPUはISO形式なのでCDドライブに割り当てて自動再生するとGUIインストーラーが起動する。
DirectX 9.0cが同梱されててインストール可能。
MSVCRTが同梱されているが、95/98はこれも入れる。(テストツールの実行に必要)
DirectXとMSVCRTは個別にインストールして再起動になる。
SoftGPUインストール後デバイスマネージャからディスプレイアダプタを変更する。
システムメモリが1024MBの場合、SoftGPUに400MBオーバー持ってかれます。VRAMはほとんど使用されません。(SoftGPUをインストールするとタスクトレイに常駐するやつで確認できます。)
オーディオデバイスがAC97の場合はドライバインストールが必要。
デバイスマネージャからHDDとCD-ROMデバイスの設定でDMAをチェックする。(速くなるらしい)
VMにはあまりストレージ書き込みをされたくないので、システムのプロパティから仮想メモリはOFFにしました。
ACPIモードでインストールしている場合、コントロールパネル>電源の管理で電源ボタンのアクションを設定するとVirtualboxのシャットダウンシグナルに対応する。
デバイスマネージャで「PCI System Peripheral」にビックリマークがつきますが、VirtualboxのGuest Additionsのようです。9xでは利用できません。
公式のWindows Updateは利用できませんが、Windows Update Restoredが利用できます。(リンクはhttps://ですが、9xで利用する場合はhttp://で接続。95はV3.1、98とMEはV4まで)
Windows Update RestoredのV4でアップデートする場合、手元ではIE6 SP1を入れるとWindows Update Restoredが利用できなくなりました。(SP1をアンインストールすると再度利用できます)
IE6 SP1は最後に入れたほうが良さげ。
ですが、Windows 9x(含むME)ではSoftGPUというサードパーティー製のドライバを使うと3Dアクセラレーションが利用できます。
95の場合はSoftGPUの機能が限定されるようです。
98/MEのDirectX最終バージョンは9.0cでXPと同じなので、OSバージョンで弾かれなければXPで動くゲームは98/MEでも動く。
Windows 9xではGuest Additionsが利用できないので、スクリーンの自動リサイズ、共有フォルダ、クリップボードの共有、PS/2マウスでのマウス統合は利用できませんが、
Windows MEに関してはVirtualboxのポインティングデバイスをUSBタブレット(標準)でマウス統合になります。
Windows 98は標準ドライバでHIDマウス(USBマウス)に対応しますが、VirtualboxのUSBタブレットでは問題が生じます。
ここに記載されていますが、Windows 98でUSBタブレットにする場合は、
$ VBoxManage setextradata 'VM名' "VBoxInternal/USB/HidMouse/0/Config/CoordShift" 0
として.vboxに設定を追加すると利用できます。これでマウス統合にはなりますが、98はOS標準ドライバだとマウスホイールに対応していないようでホイールが機能しません。
PS/2マウスの場合、IntelliPoint 4.12(Windows 9x対応の最終バージョン)を入れるとホイール対応になりますがマウス統合にはなりません。
vbmouse.gitを使うとWindows 98でマウス統合が利用できますがホイールに対応していません。
スクリーンの自動リサイズに対応しませんが、vmdisp9x(SoftGPUに含まれる)のINFファイルに解像度を追加することでウインドウを最大化した状態のサイズに手動設定することは可能です。
共有フォルダはvbados.git(MS-DOS用Guest Additions的なもの)に含まれるvbsf.exeをautoexec.batでWindows起動前に実行すると95と98ではVirtualboxの共有フォルダが利用できますが、
vbsfを使うとマウスドライバをvbmouse.gitかvbados.gitに含まれるvbmouse(vbmouse.gitと同名のドライバですが別物です)以外にするとWindowsが起動しなくなります。
またvbsfはファイル名が8+3文字に省略されるのと、サブフォルダを開こうとするとWindowsが落ちます。
vbsfは使い勝手が良くないので、XPのVM上の共有フォルダを経由して転送するか母艦でsambaを利用するなどが良さそうです。
ホスト→ゲストの一方通行になりますが、.viso(母艦上のフォルダをISOにしてゲストでCDとして利用できる)を利用して転送することも可能です。
クリップボードの共有は利用していませんが、ネット経由で共有するツールというのも存在するらしいです。
VM作成
VirtualboxでVMを作成する際Windowsにして作成するとVirtualboxの推薦設定でVMが作成されますが、グラフィックスコントローラーを変更すると警告が出て変更がキャンセルされる場合もあるので、
一度インストールするバージョンのWindowsで作成してからLinux,Other Linux,Other Linux (32bit)に変更してGPUをVMSVGA(3D+128MB)に変更します。VRAMはSoftGPUだとほとんど利用できないので128MBでも過剰ですので256MBにする必要はありません。
システムメモリは512MB以下でCPUは1個でないとインストールできないと思われます。
システムメモリはパッチ適用後に1024MB以上に変更します。
ストレージは用途によりますが20GBくらいが適切と思います。
USB設定がVirtualbox標準でUSB 2.0 (OHCI+EHCI)になりますが、98/MEはEHCIに非対応なのでUSB 1.1 (OHCI)に変更します。
9x用のEHCIドライバというものは存在しますが、Virtualboxに対応した汎用のものがあるかはわかりません。
98は標準でOHCI対応ですがUSB Mass Storage Classに対応していないようなのでUSBメモリなどを利用する場合は別途ドライバが必要です。
ストレージコントローラは標準ではAHCI(SATA)非対応なのでIDEです。
R. Loew(PATCHMEMの作者)の汎用AHCIドライバが存在するのですが、手元ではVirtualboxでインストールできましたがデバイスを接続すると起動しなくなりました。
IDEの場合、デバイスマネージャからDMAをチェックすると速くなるようです。
オーディオは標準でSoundBlaster 16になりますが、SoundBlaster 16は非プラグアンドプレイ機器なのでデバイスマネージャにない場合はコントロールパネルからハードウェアの検索をする必要があります。
あとノイズが入るので、SB16ではなくICH AC97にしてIntel AC'97 Audio Controllerのドライバを拾ってくるのがおすすめです。
HDオーディオも9x対応ドライバが存在しますが、ハードウェアバッファが利用できなければ速度面でメリットは無さそうですし、手元ではAC97の方が再生がスムーズでした。
ネットワークはIntel PRO/1000MT(82540EM)も9x対応ドライバが存在しますが、ドライバをインストールすると一緒に常駐アプリが入ってくるので、標準のPCnet-FAST III(100Mbps)で使ってます。
事前準備
| 名称 | 種類 | 備考 |
| SoftGPU | ドライバ | Virtualbox上のWindows 9xで3Dアクセラレーションが利用できます。 Releasesから最新版(0.8.2025.53-preview)の.isoを貰ってくる。 システムメモリは512MBでも利用できますが、400MBオーバーを要求されるので利用する場合はパッチを適用してから1024MBにします。 OS上限が512MBなので1024MBオーバーは不要と思います。 |
| patcher9x | パッチ | 現代のCPUでWindows 9xをインストールするとインストール後にエラーダイアログが出まくりますが修正されます。 リンク先のReleasesから最新版(0.9.91)の.imaを貰ってくる。(ブータブルFDイメージ) |
| PATCHMEM | パッチ | patcher9xのmemパッチで512MBオーバーのメモリが利用できるはずなのですが、手元だとMEの場合patcher9xのmemパッチに問題がありPATCHMEMでは512MBオーバーが可能でした。98の場合は不要です。 |
| Intel AC97 Audio Controller | ドライバ | Internet Archiveなどで拾ってくる。 SB16であれば標準でドライバがありますが、手元ではSB16だとノイズが乗ります。 |
| Lhasa | アーカイバ | 窓の杜などから拾ってくる。 昔はLhazを使ってた気がするんですが、有料化してたので・・・ OS標準ではzipやlzhの解凍機能が無い。 |
| ぐるみんベンチ | ベンチマーク | 4Gamerなどから拾ってくる。 軽量の3Dベンチマークアプリです。最近のベンチマークアプリだと20GBとか持ってかれるみたい・・・ |
Windows 95の場合、インストーラー自体にpatcher9xを当てたほうが良いみたいで、その場合はインストールディスクの中身をHDDなどの書き換え可能メディアにコピーしてsetupを実行します。
patcher9xにformatやxcopyなどのコマンドが同梱されています。
98/MEでのインストールの際の注意点として、普通にインストールするとAPMモードでインストールされ、ACPI非対応になります。
APMでインストールしてからACPIに変更することも可能らしいのですが、試したら無効なデバイスが大量に発生しました。
インストール時にHDDのフォーマットが終わって再起動した際にDOSモード(CDサポート)で起動し、
> d:
> setup /pj
と/pjオプションをつけてセットアップするとACPIのシステムになります。> setup /pj
ACPIモードでインストール後に、コントロールパネルの電源の管理から「電源ボタンを押した時」を「電源オフ」に設定するとVirtualboxのシャットダウンシグナルに対応します。
インストール中は起動フロッピーの作成が発生するので、起動フロッピーの作成はキャンセルします。
インストール後にWindowsが起動すると、現代のCPUだと「shell32.dllファイルは欠落エクスポート」みたいなエラーダイアログが複数回発生してまともに利用できません。
patcher9xでC:\WINDOWS\SYSTEM\VMM32.VXDにtlbパッチを当てるとエラーが出なくなります。
95と98FEでCPUが2GHz以上の場合はspeedパッチも当てないと起動できないようです。
また、memパッチを当てないと512MBオーバーのRAMを設定して起動できません。
エラー発生後でも良いですが、インストール最終段階で再起動する際にpatcher9xのFDイメージをFDに割り当ててFDブートし、
ME以外の場合は、
> patch9x
として最後に[Y]でパッチが当てられWindowsが正常起動できます。コマンドはpatcher9xではなくpatch9xです。
復元機能もあるのでバックアップは不要と思います。
MEの場合はpatcher9xのmemパッチでは問題があるようなので、
> patch9x -select tlb
としてtlbパッチのみを当ててからPATCHMEMでパッチを当てます。PATCHMEMはFDイメージではなくzip配信なので、どっかに展開した状態でDOS起動してzip内のPATCHMEM.EXE実行するとc:\WINDOWS\SYSTEM\VMM32.VXDが更新されます。
なので、patcher9xでtlbパッチのみを当てて、Windows起動後にPATCHMEM.ZIP内のファイルをc:\PATCHMEM以下に配置し、
patcher9xのFDイメージを入れてFDブートで再起動し、
> c:
> cd patchmem
> patchmem
という手順でパッチを当てました。> cd patchmem
> patchmem
手元の環境だとMEにpatcher9xだとmemパッチが当たらず、英語版MEのVMM32.VXDだとパッチは当たるのですがSoftGPUを使うと起動しませんでした。
PATCHMEMだと1024MBでSoftGPUが使える。
インストール後はユーザーが1人でもログインダイアログが出るが、
コントロールパネル > ネットワーク
で「Windows ログオン」に設定するとログインダイアログは出ない。
SoftGPUはISO形式なのでCDドライブに割り当てて自動再生するとGUIインストーラーが起動する。
DirectX 9.0cが同梱されててインストール可能。
MSVCRTが同梱されているが、95/98はこれも入れる。(テストツールの実行に必要)
DirectXとMSVCRTは個別にインストールして再起動になる。
SoftGPUインストール後デバイスマネージャからディスプレイアダプタを変更する。
システムメモリが1024MBの場合、SoftGPUに400MBオーバー持ってかれます。VRAMはほとんど使用されません。(SoftGPUをインストールするとタスクトレイに常駐するやつで確認できます。)
オーディオデバイスがAC97の場合はドライバインストールが必要。
デバイスマネージャからHDDとCD-ROMデバイスの設定でDMAをチェックする。(速くなるらしい)
VMにはあまりストレージ書き込みをされたくないので、システムのプロパティから仮想メモリはOFFにしました。
ACPIモードでインストールしている場合、コントロールパネル>電源の管理で電源ボタンのアクションを設定するとVirtualboxのシャットダウンシグナルに対応する。
デバイスマネージャで「PCI System Peripheral」にビックリマークがつきますが、VirtualboxのGuest Additionsのようです。9xでは利用できません。
公式のWindows Updateは利用できませんが、Windows Update Restoredが利用できます。(リンクはhttps://ですが、9xで利用する場合はhttp://で接続。95はV3.1、98とMEはV4まで)
Windows Update RestoredのV4でアップデートする場合、手元ではIE6 SP1を入れるとWindows Update Restoredが利用できなくなりました。(SP1をアンインストールすると再度利用できます)
IE6 SP1は最後に入れたほうが良さげ。