VMwareで古いPCアプリを使い続ける話
もうすぐ2024年ですけどその次の2025年には現行のWindows10がサポート終了を迎えます。Windows11はintel第8世代Core-iシリーズ以降のPCからしかサポートしませんので、それ以前のPCは好むと好まざると買い替えを余儀なくされる事になるかと思います。
そんな中世の中的には既に見捨てられて久しいWindows95/98/me/XPで動作するPCアプリをいまだに現役で使用しなければいけない世界は沢山あり、しかしだからと言って最新PCを用意すればそれで解決するという問題でもない厄介な問題というのが存在します。その解決方法の一端をご紹介しようと思います。
前段:25年前の技術を現役で使用してる世界の一つ
今回もまずは前段から。
世の中には鳩レースというものが存在します。簡単に言えば誰の飼育する鳩がNo.1かを競う事なのですが人間の競争の様にヨーイドンでスタートしてみな同じゴールを目指すとは行きません。鳩レースは鳩の帰巣本能に根差した競技なので全てのレース参加鳩が個々の巣へ帰る事になり、単純に早い時間に帰ってきたから1位という訳には行きません。
鳩レースの詳しいルール等は別の機会に取り上げますので、ここでは鳩レースの優劣の決め方は鳩の飛ぶ速度の速さで決める事になる、と言う事をまずは覚えておいてください。
で、速度というのは「道のり」÷「時間」で計算しますがこれを計算するための機器がこの世界には存在します。
現在のレース参加鳩は足にICチップが入った脚環(チップ環)をつけており、一方で個々の鳩小屋には入舎口にコイルアンテナを内蔵したマットを敷いており、マットの上を鳩が通過すると接続されている計測機に何時何分に何番の鳩が帰ってきたかを自動で記録する様になっています。
この計測器をパソコンに接続しデータを収集/集計すると誰のどの鳩が優勝かを決める事が出来るのです。
鳩レースの詳細はともかくとしてここで取り上げる問題は、この計測器を管理しレースデータを収集するソフトとレース結果を計算するソフトの2本が既に25年以上前のソフトで最近のWindowsパソコンではインストールしても動作できない状況である、と言う事なのです。
これらのソフトはこれまではWindowsXPが動作するPCにインストールして運用されてきましたが、そのPCも既に15年以上前のPCなのでそろそろトラブルが発生してもいい時代になってしまってます。トラブルが起きないうちに新しいPCに乗り換えたいところですが上記の通り単純に最新のWindows10や11のPCにインストールしても使用できない、となるとどうしたらいいもんか、という悩みにぶち当たるのです。
解決策は仮想化にある
で、解決策として考えたのが仮想PCを使う方法です。
今回は古いPCの環境を一括して仮想PCに落とし込むやり方を紹介します。
用意するのは以下のもの。
・最新のWindowsPC
・VMwareと仮想PC用OS(今回はWindowsXP)
・パソコン引越しPRO(ソフトウェア)

まずパソコンについてですがこれは最新のパソコンであれば普通に家電量販店で売ってるもので十分です。特にWindowsにこだわる必要はありませんが、一番安価で簡単です。最近のPC用のintel CPUには仮想化技術がほぼ導入されているので安価なCerelonのPCでも大丈夫です。
VMwareは公式サイトからダウンロードします。またWindowsXPについてはVMwareで使用する事を前提にしたものが配布されているのでこれを使います。
パソコン引越しPROはAOSテクノロジーズというメーカーで販売しているソフトウェアでパソコンの買い替えをした際に古いPCで使用しているデータやアプリケーションを新しいパソコンにそっくり移行する事が出来るものです。
このソフトはXPでも動作するので以下の様に段取りしていきます。
1)古いXPにパソコン引越しPROをインストールして引越し用のデータをエクスポート
2)新しいPCにはVMwareをインストールして仮想OSとしてXPをセットアップ
3)仮想OSにパソコン引越しPROをインストールし、古いPCのエクスポートデータをインポート
気を付けたいのは古いPCのデータ量がまぁまぁあるのでUSBメモリでは量的不足かもしれません。可能であればUSB接続できる外付けHDDを用意した方がいいでしょう。
周辺機器の問題も併せて考える

中継器とPC/プリンタはそれぞれ昔の規格のシリアルポート/パラレルポートで接続しているのでここの代替も問題。
ここまでのやり方でPC側の問題はおおよそ解決できるのですが問題はこれだけではありません。
レースデータを集計する計測器とPCは実は直接接続はしていません。両者を接続させるのには専用の中継器が存在し、更にこの中継器は計測器とプリンタとの接続の仲立ちもしています( 上図参照)。
PCと中継器の接続は基本的にはシリアルポートで接続しますが、いわゆる旧来型のシリアルポート接続なので9ピンのシリアルケーブルが用いられます。しかしご存じの通り、最近のPCには9ピンのシリアルポートは存在しません。あるのはUSBポートのみ。そこでUSBポートを9ピンのシリアルポートに変換するアダプタを用います。
物理的な接続はこれで行けますが計測器を管理するソフトの方もここで設定を直す必要があります。と言うのも計測器管理ソフトは標準設定ではCOMポート1を使う様になっていますが、USBシリアルポート変換アダプタはドライバをインストールして有効化するとCOM3やCOM4で認識される事になりこのままでは計測器管理ソフトと中継器は通信できなくなってしまいます。
そこで計測器管理ソフトのポート接続設定をCOM3またはCOM4で接続する旨設定変更し、同時にCOM1での使用はしない様にチェックボックスでチェックを外すようにします。どうもこのCOM1設定が生きてると接続してないCOM1で中継器との接続を繰り返してしまいループになってしまう様なのです。なのでこの変更は忘れずに行う様にします。
それとこれは新しく購入するPC、特にノートPCの場合の問題なのですが、XPが動作する頃のノートPCは画面サイズが15インチでも解像度は1024x768ピクセルのXGAだったのに対して昨今のノートPCは15.6インチの画面サイズに1920x1080ピクセルのフルHDの解像度を持つようになっています。この状況でVMwareでXPを動作させると文字が細かくて読みづらくなってしまいます。この問題はホストOS側の表示を150%や200%に拡大表示させても解決しません。

この画像では120%設定だけどカスタム設定を選べば150~200%も設定できる。
そこでゲストOSのXPを起動後に画面表示を150~200%に設定してやると読みやすい画面にする事が出来るようです。
あと問題と言えば実はここで使用するプリンタも厄介な問題と言えます。
プリンタはレースの持ち寄りリスト、帰還リスト、集計結果等多数の情報を印刷するのですが、持ち寄りリストや帰還リストはPCを介さず計測器から中継器を経て直接プリンタに情報を送る事になるのですが、ここで使われるプリンタ制御コードがESC/P、中継器とプリンタの接続は旧来式のパラレル接続になるので正直この仕様で現存するプリンタはほぼ皆無となっています。とにかくこの接続にはPCが介在する要素がないのでここは非常に困っているところです。

型番の末尾にNがついているとネットワーク対応/パラレルポート非対応になる
例えばの話、中継器のパラレルポートに接続出来て現在一般的になっているUSBケーブルで接続のプリンタ
を利用できるアダプタの様なものがあればいいのですが…。物理的に接続できる機器は実はあるのですが、あくまで接続できるだけの機械なので制御コードの関係は何にも手付かずのまま。よって印刷されたものは文字化けしてしまいます(文字化けと言っても数字とアルファベッドはそのまま、日本語にローカライズされた部分が文字化けてしまうのです)。
自分が電子工作に興味を持ったのもこの辺が原因です。
何かいい方法ご存じでしたら誰か教えてほしいかも、と思う今日この頃です。