†逆襲のOS/2†

OS/2@VirtualBox

作成開始日 2020.11.28
最終更新日 2020.12.19

以下のような仮想化環境でOS/2を使用したところ、非常に快適に動作した。 Core2 DuoマシンでネイティブOS/2を動かすよりも高速で安定している。 以後、このように仮想化されたOS/2を「V-OS/2」と表記する。

CPU Core i3-2120/3.3GHz(EPSON Endeavor AY320S)
RAM 4GB/DDR3-1333
ホストOS Linux(Debian 8.11.0)
仮想化ソフト VirtualBox 6.1
ゲストOS OS/2 Warp 4.52(512MB)

なお、これは必要最低限のシステム要件ではなく、私が実際に試して、充分実用になったシステム。実際には、これ以下のスペックでも、けっこう動くのではないかと思っている。今後、Core2Duo+2GB+Puppy+VirtualBoxで同様な実験を試みる予定でいる。

●背景

OS/2はそもそもレガシー世代のOSだが、Seamonkey 2.28(TLS1.2対応)などを使用するには、レガシーPCでは荷が重い。そこで、より高速なPCで動かすことができないか試したところ、Core2 Duo/Athlon 64マシンでの動作を確認した。また、Core i/Athlon II(AM3)以降のマシンでは、動かないことも判明した。【別項】参照。

C2D/Ath64の世代のPCはレガシーPCよりもかなり高速にOS/2が動作する。パフォーマンス的には合格点だった。しかし、その一方で安定性に大きな問題が出た。特にPS/2マウスとUSBはシステム不安定化の元凶と呼んでもよい。な〜んか動きが引っ掛かる、突然フリーズすると言った症状が出たら、まず、これらが原因だと思って間違いない。相手がOS/2開発時点で想定しないシステムである以上、そして、OS/2の事など一顧だにしないシステムである以上、こうした問題を完全に解決する決定的な方法はない。

そこで、いっそネイティブ環境は諦めて、仮想化環境でOS/2を動かすことを考えた。VirtualBoxなどの仮想化ソフトは、こうした相性問題を吸収する、一種のミドルウェアとして機能する。IDEとPS/2という典型的なレガシー環境を再現してくれるため、OS/2側で対応する必要がない。ノースもサウスもペリフェラルも、OS/2開発時点で想定していた環境が再現されるので、相性問題が発生しない(はずである)。

だが、そんなに上手くいくだろうか?速度は?機能制限は?エミュレーターがネイティブに及ばないのは世の常識、果たして仮想化環境は実用になるのだろうか?

●試行錯誤:Debian+VirtualBox

結論から言えば、上記の私のシステムでは、現状、何の問題も起きていない。充分高速で、充分安定していて、何の機能制限もない(発見されていない)。しかし、すべての仮想化環境が同じように優秀かと言うと、実はそうでもない。なぜDebianなのか、なぜVirtualBoxなのかと言えば、以下のようなトラブルを経験したからである。

OS/2@VirtualBox@Windows7@Corei5-3470
動作がスムーズではなく、ときどき動作がカクカクする
LAN上のサーバ(samba)の漢字ディレクトリ名が認識できない

OS/2@VMWare@Windows7@Corei3-2120
Seamonkey 2.28を起動すると必ずシステムクラッシュする
※うろ覚えだが、これはLinux上のVMWareでも同じだったと記憶している。

実は、Core2 Duoマシンでのネイティブ動作の実験を始めたのは、このような状況で「やっぱ、仮想化環境じゃ無理かぁ…」と思ったからだった。が、ネイティブはネイティブで安定性に問題があって実用は厳しい。じゃあ、もう一度仮想化環境に戻るか…でも、今度はLinuxベースで…という試行錯誤の末、ようやく辿りついた楽園だったのである。ちなみに、Win7@Ci5よりもDebian8@Ci3の方が、OS/2は高速に動作する。

●仮想化環境のメリット

上述のように、V-OS/2ではレガシー環境が再現されるため、相性問題が発生しない。マウスもキーボードもHDD/SSDも光学ドライブも、何の苦もなく認識してくれる。唯一、サウンドカード(SouondBlaster)だけは上手くいかなかったが、これもHD Audioに変更してUniAudioドライバを組み込んだら、問題なく(?)動いた。

実は、UniAudioはデフォルト設定がタコで、正常動作しているのに音が出ない設定になっている。Unimixで設定の変更が必要。
unimix -id2 -cnt0 -val1 / unimix -id2 -cnt1 -val1

この、デバイスのレガシー化には、もう一つメリットがある。それは、OS/2で対応していないデバイスが利用できると言う点である。たとえば、OS/2はUSBの無線LANアダプタにほとんど対応していない(1機種のみドライバがあるが)。あるいは、Bluetoothなどもしかり。それが、仮想化によってレガシーデバイスとして認識できるようになる。また、キーボードのCtrl/CapsLock入れ替えなども、ホストOS側に処理を任せれば良い。つまり、普通のUSBキーボードが、プログラマブルなPS/2キーボードに変身する。デバイスのレガシー化は安定性だけでなく、多機能化にも寄与する。

と言うのはウソで、実はVirtualBoxのキーボードの管理はX-Windowを飛び越しているようで、キーの入れ替えなどは有効にならない。ただし、USBキーボードもPS/2キーボードとして扱われるので、OS/2のMYKBDは有効。結果的に、USBキーボードでもCtrl/CapsLockの入れ替えが可能になる。

更にもう一つ仮想化のメリットを指摘しておくと、それが「普通のPC」で動くと言う点にある。前述のようにネイティブOS/2はCore2 Duo世代が上限で、しかもメモリを512MB/667MHzに落とさないと動かない。今日び、そんなPCを常用しているユーザーは少ないだろうから、ネイティブOS/2用にわざわざ骨董PCを用意しなければならない。骨董PCは極めて安価だが(私はEPSON AY301を1円即決で落札した)、物が増えるのは荷である。その点、V-OS/2は普通のPCで実現できるので、物が増えないで済む−−LinuxとWindowsの共存となるといろいろ工夫が必要になるだろうが。

●V-OS/2システムの構築

V-OS/2システムの構築手順は次の通り;

@PCにLinux(ここではDebian 8.11.0)をインストールする
ALinuxにVirtualBoxをインストールする
BVirtualBoxにOS/2をインストールする

あらまあ、何てカンタンなんでしょう(*^_^*) もちろん、それぞれ気を付けるポイントやコツはあるが、ここでは割愛する。ただ、Aの手順だけは少々補足説明をしておく。と言うのは、Aの手順がまさにLinux的と言うか、Win系のユーザーにはおよそ馴染みのないものなので。

●VirtualBoxのインストール

1. rootでログインする(クレーム禁止(^_^;)

2. VirtualBoxのホームページからDebian 8(jessie)用のページへ移動する

3. 公開鍵をダウンロードする

 oracle_vbox_2016.asc
 oracle_vbox.asc

4. 公開鍵をインストールする;鍵ファイルをダウンロードした場所で以下を実行

 apt-key add oracle_vbox_2016.asc
 apt-key add oracle_vbox.asc

5. SynapticパッケージマネージャのリポジトリにVirtualBoxを追加・更新する

 [deb] http://download.virtualbox.org/virtualbox/debian
 jessie
 contrib

 ※本来は「https:」のようだが、なぜか「http:」でないと上手く機能しなかった

6. パッケージマネージャからVirtualBoxを検索・インストールする

 virtualbox-6.1

以上でインストール終了。しかし、もう少し何とかならんもんかね…

●OS/2@VirtualBoxインストール時の留意点

やはり、少しだけ;基本的には、Warp 4.52のインストールディスクを光学ドライブに入れて、 そこから起動するように設定すれば、後はスンナリ行くと思う (私はISOファイルを作ってネットワーク上に置いてあるので、そこからブートした)。 が、トラブルを起こしやすい点を若干補足しておく。

ネットワーク設定はNATではなくブリッジに(LANを使うなら必須)
仮想ディスクの削除/リネーム/移動などには仮想メディアマネージャを使う
ホットキーはデフォルトで右Ctrlだが変更を推奨(右Ctrlのないキーボードもある)

特に、仮想ディスクの扱いには注意。OSレベルで勝手に削除やリネームをしても、VirtualBoxには元の設定が残っているので、トラブルの原因となる。仮想メディアマネージャを起動するには、VirtualBoxのメインパネルから[ファイル|仮想メディアマネージャー]を選ぶ。


【逆襲のOS/2目次】 【ホーム】