2022/11/23(水) [n年前の日記]
#1 [windows] Windows98 が VirtualBox 7.0 で正常動作しない
Windwos98 FE (First Edition。SEではないバージョン)が、Windows10 x64 22H2 + 仮想PC VirtualBox 7.0.4 r154605 上で正常動作しない状態になってしまった。
症状としては、エクスプローラを使おうとするとエラーが出て不正終了する。例えば、マイドキュメントアイコンをダブルクリックするとエクスプローラが開くはずだけど、エクスプローラが開くと同時に、MSHTML.DLL、JSCRIPT.DLL、KERNEL32.DLL 等がエラーを出したり、あるいは開いた直後はエラーを出さなくてもフォルダ階層を辿ってるとエラーが出て不正終了してしまう。
使ってるメインPCのCPUは AMD Ryzen 5 5600X なのだけど、やはり Ryzen のせいだろうか…。Ryzen + VMware / VirtualBox + 古いOS (Windows95/98等)は、動かないという話をよく見かけるわけで…。Ryzen には仮想PC関係のバグがあって、Windows98 を使おうとすると、そのバグを踏むらしい…。
一応、VirtualBox側の設定を ―― 仮想PCの設定 → システムで、「ネステッド〜」とついてるものは無効にしてある。
CPUマスク云々を設定すると状況が変わるという話も見かけたので、ダメ元で試してみた。
_virtualbox.org - View topic - AMD-V with Ryzen not yet supported?
しかし、結果は変わらず。
Windows98を比較的最近のCPUで動かすために必要になるらしいパッチも当ててみた。
_JHRobotics/patcher9x: Patch for Windows 9x to fix CPU issues
Release から、v0.7.45-beta3 の patcher9x-0.7.45-boot.ima を入手。.ima を .img にリネーム。これがフロッピーディスクのイメージファイルなのだろう。中にはおそらく FreeDOS が入っていて、このフロッピーイメージから起動することもできる。。
VirtualBox側で、仮想フロッピーを指定。
しかし、結果は変わらず。相変わらずエクスプローラを起動するとエラーが出る。VMware では効果があったという話を見かけたけれど、VirtualBox では効果が無いのかもしれない。
これはどうやら、CPU に AMD Ryzen を使っている環境では、Windows98等の古いOSを仮想PC上で使えないと思っておいたほうがいいのかもしれない。いや、Intel製CPUも、最近の世代はダメらしいけど。
もっとも、それは VMware や VirtualBox を使おうとしたときの話で、例えば PCem、86Box、DOSBox 等なら、Windows98 も動く。その代わり動作が重いけど。
症状としては、エクスプローラを使おうとするとエラーが出て不正終了する。例えば、マイドキュメントアイコンをダブルクリックするとエクスプローラが開くはずだけど、エクスプローラが開くと同時に、MSHTML.DLL、JSCRIPT.DLL、KERNEL32.DLL 等がエラーを出したり、あるいは開いた直後はエラーを出さなくてもフォルダ階層を辿ってるとエラーが出て不正終了してしまう。
使ってるメインPCのCPUは AMD Ryzen 5 5600X なのだけど、やはり Ryzen のせいだろうか…。Ryzen + VMware / VirtualBox + 古いOS (Windows95/98等)は、動かないという話をよく見かけるわけで…。Ryzen には仮想PC関係のバグがあって、Windows98 を使おうとすると、そのバグを踏むらしい…。
一応、VirtualBox側の設定を ―― 仮想PCの設定 → システムで、「ネステッド〜」とついてるものは無効にしてある。
- プロセッサー → PAE/NXを有効化、のチェックを外す。
- プロセッサー → ネステッドVT-x/AMD-Vを有効化、はチェックを外す。
- アクセラレーション → 仮想化支援機能 ネステッドページングを有効化、はチェックを外す。
CPUマスク云々を設定すると状況が変わるという話も見かけたので、ダメ元で試してみた。
_virtualbox.org - View topic - AMD-V with Ryzen not yet supported?
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" modifyvm "Windows98" --cpuidset 1 00800f11 00000800 56d8220b 078bfbfd"Windows98" は、仮想PC名。
しかし、結果は変わらず。
Windows98を比較的最近のCPUで動かすために必要になるらしいパッチも当ててみた。
_JHRobotics/patcher9x: Patch for Windows 9x to fix CPU issues
Release から、v0.7.45-beta3 の patcher9x-0.7.45-boot.ima を入手。.ima を .img にリネーム。これがフロッピーディスクのイメージファイルなのだろう。中にはおそらく FreeDOS が入っていて、このフロッピーイメージから起動することもできる。。
VirtualBox側で、仮想フロッピーを指定。
- 仮想PCの設定 → ストレージ → コントローラ : Floppy → 空、を選ぶ。
- 右側のフロッピーのアイコンをクリック → 仮想フロッピーディスクの選択/作成、を選ぶ。
- 追加 → patcher9x-0.7.45-boot.img を選択 → Choose、をクリック。
しかし、結果は変わらず。相変わらずエクスプローラを起動するとエラーが出る。VMware では効果があったという話を見かけたけれど、VirtualBox では効果が無いのかもしれない。
これはどうやら、CPU に AMD Ryzen を使っている環境では、Windows98等の古いOSを仮想PC上で使えないと思っておいたほうがいいのかもしれない。いや、Intel製CPUも、最近の世代はダメらしいけど。
もっとも、それは VMware や VirtualBox を使おうとしたときの話で、例えば PCem、86Box、DOSBox 等なら、Windows98 も動く。その代わり動作が重いけど。
[ ツッコむ ]
#2 [windows][pc] DOSBox-Xを試用
DOSマシンをエミュレートする DOSBox というソフトがあるのだけど、その DOSBox を魔改造した DOSBox-X というソフトがあるらしい。
これで Windows98を動かせないものかなと興味が湧いた。自分のメインPCのCPUは AMD Ryzen 5 5600X なのだけど、Ryzen は VMware/VirtualBox上で、Windows98 等の古いOSがまともに動かせないわけで…。
動作確認環境は Windows10 x64 22H2。
ちなみに、起動するとこんな感じのウインドウが表示される。画面が大きいので老眼でも安心。
ちなみに、ビデオ → 出力、でアレコレ選ぶとサイズが変わる。
メイン → 設定ツール、を選ぶと、GUIで設定できる画面になる。
- Windows、Linux等々、クロスプラットフォームで動作する。
- GUIで設定作業ができる。
- 設定次第ではNEC PC-98シリーズのエミュレータにもなる。
これで Windows98を動かせないものかなと興味が湧いた。自分のメインPCのCPUは AMD Ryzen 5 5600X なのだけど、Ryzen は VMware/VirtualBox上で、Windows98 等の古いOSがまともに動かせないわけで…。
動作確認環境は Windows10 x64 22H2。
ちなみに、起動するとこんな感じのウインドウが表示される。画面が大きいので老眼でも安心。
ちなみに、ビデオ → 出力、でアレコレ選ぶとサイズが変わる。
メイン → 設定ツール、を選ぶと、GUIで設定できる画面になる。
◎ 入手とインストール。 :
公式サイトは以下。
_DOSBox-X - Accurate DOS emulation for Windows, Linux, macOS, and DOS
左のほうの、Windows version, 64-bit Setup (Vista+) をクリック。dosbox-x-win64-2022.09.0-setup.exe を入手して実行するとインストーラが起動する。
自分の環境では、D:\home\emu\prg\DOS\DOSBox-X\ にインストールしておいた。
_DOSBox-X - Accurate DOS emulation for Windows, Linux, macOS, and DOS
左のほうの、Windows version, 64-bit Setup (Vista+) をクリック。dosbox-x-win64-2022.09.0-setup.exe を入手して実行するとインストーラが起動する。
自分の環境では、D:\home\emu\prg\DOS\DOSBox-X\ にインストールしておいた。
◎ 設定ファイルについて。 :
DOSBox-X は、.conf という設定ファイル(テキストファイル)を与えることで、設定が違う状態で起動できるらしい。デフォルトでは dosbox-x.conf を読み込む模様。
以下、起動時の指定例。
とりあえず、dosbox-x.conf をコピー・リネームして残しておいたほうが良さそう。
以下、起動時の指定例。
dosbox-x.exe -conf dos50.conf dosbox-x.exe -conf win98.conf
とりあえず、dosbox-x.conf をコピー・リネームして残しておいたほうが良さそう。
◎ 日本語キーボード配列について。 :
DOSBox-X の起動直後は英語キーボードの配列になっている。keyb jp106 と打ち込むと、日本語キーボードの配列になる。
起動直後から日本語キーボード配列にしたいなら、.conf の最後のほうに [autoexec] と言うセクションがあるので、そこに以下を追記する。
以下が参考になりました。ありがたや。
_フリーウェア (MS-DOS 用)
_Atsushi's Homepage ? PC-98を仮想化する
起動直後から日本語キーボード配列にしたいなら、.conf の最後のほうに [autoexec] と言うセクションがあるので、そこに以下を追記する。
[autoexec] # このセクションに記載の行は起動時に実行されます。 @keyb jp106 > nul
以下が参考になりました。ありがたや。
_フリーウェア (MS-DOS 用)
_Atsushi's Homepage ? PC-98を仮想化する
◎ 参考ページ。 :
Windows98 のインストール手順は、以下で解説されてる。英文。
_Installing Microsoft Windows 98 in DOSBox-X
他に、Windows 1.0x, 2.x, 3.x, 95, 98, ME のインストール手順も掲載されてる。
_Microsoft Windows Installation Guide
_Installing Microsoft Windows 98 in DOSBox-X
他に、Windows 1.0x, 2.x, 3.x, 95, 98, ME のインストール手順も掲載されてる。
_Microsoft Windows Installation Guide
[ ツッコむ ]
#3 [nitijyou] 日記をアップロード
2022/11/06を最後に日記をアップロードしてなかったのでアップロード。
[ ツッコむ ]
以上、1 日分です。