VirtualBoxでIPXが使えるかテスト
- 公開日: 2016/10/22(土) 20:12[JST]
サーバを入れ替えるにあたって問題になるのがDOS用ファイルサーバ。Netwareクローンのmars_nweというのを使っているのだがこれはFreeBSD8までしか対応していない。Samba使えばいいじゃん、って思うかもしれないけどSambaだとDOSにTCP/IP環境を入れなきゃいけないし、何よりもPC9821やTOWNS用のLANマネージャ(NTサーバの4.0以前のバージョンについてくる。念のためヤフオクで買っておくべきか…)を持っていない。それにLANマネージャはコンベンショナルメモリ食いなんで(TCP/IPを入れるとさらにメモリを食う)あまり使い勝手がよろしくない。だからNetwareで行きたい。
で、サーバOSを更新するとmars_nweは使えなくなる。なんでFreeBSD8+IPX環境をどっかで確保しておく必要がある。でも基本DOSでしか使わない[1]サーバを確保するのも場所と電気代の無駄かと。
てことで、仮想環境にFreeBSD8をインストールしてそこにmars_nweを入れればいいんじゃないかと。ただIPXをサポートしていないホストでIPXのパケットを出力できるのか、というのが問題。ということでテストのため、Linux上のVirtualBoxにFreeDOS+Netwareクライアントをインストールしてみた次第。
VirtualBoxのインストール
ホスト環境はXubuntuなのでapt-getでさくっとインストール。ゲスト環境は環境名に"DOS"を入力すると自動で適切なパラメータを設定してくれた。ただ、試しに使っててLinuxが時折重くなることがあったので使用率制限はつけておいた方がよさそう。また、ネットワークはPCnet-PCI II(AMDのネットワークアダプタ)をブリッジアダプターで使用する設定に変更。
FreeDOSのインストール
基本的にFreeDOS公式サイトからダウンロードしたISOイメージをマウントしてVirtualBoxを実行し、メッセージに従ってインストールするだけ。ちなみにDOSの起動時にメニューがでるけどここは2のemm386を選択する。ちなみにJISキーボードにもちゃんと対応していた。ただキーコードを直接読んで処理しているらしく、xmodmapによるキーの入れ替えは無視される。
Netware Clientのインストール
ホストPCは光学ドライブ無のLinuxだし32ビット版クライアントは容量が大きいのでクライアントとドライバを収めたisoファイルを作成することにした。ぐぐってみたところBraseroというツールが使えそう。ということでインストールしてisoファイルを作成してみた。
で、インストール。その前に、FreeDOSのコンフィグファイルはFDCONFIG.SYSで標準(CONFIG.SYS)とはちがうので一時的にリネームしておく。ちなみにPCnet-PCI IIのドライバはクライアントに標準で付属していた。
インストール完了後リスタート。だがうまく動かない。クライアントのドライバを読み込むためのLOAD命令が無いというエラーがでる。Netwareクライアントが動作している実機(DR-DOSマシン)で調べてみたところ、LOAD命令はNIOS.EXEというNetwareのI/Oサブシステムを起動することでDOSに追加されるのだが、FreeDOSだとうまく動作していないようだ。
てことでDR-DOSでテストを行うことにする。[2]
(10/23追記)16ビット版のVLMクライアントならどうか?と思って改めてテストしてみたところ無事動作した。なお、PCnet-PCI IIのドライバはクライアントに付属していないため、AMDのサイトから別途ダウンロードする必要がある。
私自身は実機用にDR-DOSを購入しており、また同梱のライセンス文書を見ると「同時に使わないのであれば二台めのPCにインストールしてもよい」となっているのでライセンス違反じゃないよ。念のため。
DR-DOSのインストール
DR-DOSは拡張子.144の(RAWRITE用の)イメージファイルとして提供されているが、これを直接VirtualBoxでマウントすることは出来ないようだ。でもってDRDOSの配布物に付属するRawrite2.exeはDOSには対応していない。いろいろ試行錯誤した結果、以下のやり方でVirtualBox用のイメージファイルを得た。
WindowsマシンにRawrite for Windowsをインストール
WindowsマシンにUSBフロッピーディスクドライブを接続して、Rawrite for WindowsでDR-DOSのイメージファイルをフロッピーに書き出し
Rawrite for Windowsを使ってフロッピーの中身をイメージファイルに変換
で、イメージファイルをVirtualBoxにマウントしてDR-DOSをインストール。このままだとCD-ROMが使えないので、XCDROM.SYS(FreeDOSのWikiにリンクあり)をダウンロードして、Rawrite for Windowsを使ってフロッピーディスクのイメージファイル化した上でVirtualBoxに持ち込む。でもってCONFIG.SYSとAUTOEXEC.BATを編集してCD-ROMを使えるようにする(具体的には昔書いたドキュメントを参考のこと)。
テスト結果
サーバは見つけられず。ダメか残念。てことでDOS用サーバは実機を用意するしかなさそう。
↑は間違い。PREFERRED SERVERで接続するサーバを明示的に指定したらmars_nweサーバに接続できた。てことでDOS用サーバをVirtualBox内で動かすことは可能とみた。