M1 MacやiOSでも動く高機能な仮想環境UTMを使ってみた

macOSで仮想化といえば、VMware FusionやParallels、変わり者としてはWineなどが使われてきています。しかし、これらはVirtualizationという括りになり、CPUエミュレーション等は行っていませんので、基本x86-x64の環境でなければ使う事が出来ません(VMwareもParallelsもARM対応。Wine/CrossoverはRosetta2経由でx86,x64アプリが動作します)

そうなると、他のアーキテクチャで動いてるOSを動かしたいとなると、専用のエミュレータを使うのが定石でした。しかし、Windows11の項目でちょいちょい話題になっていた「UTM」を使うと、様々なCPUをエミュレーションする事が可能で、しかもmacOSだけじゃなくiOSデバイスでも動かせるとか。ということで、今回はUTMを利用して、一通り使い方をまとめてみました。

目次

今回使用するアプリ等

現在、x86, x64, ARM, PPCなど様々な手持ちのOSで仮想環境構築にチャレンジしています。ギャラリーにはそのOSを動かすための設定がいくつか既に用意されているので、面倒なセッティングの手間を省く事が可能です。時間があれば色々他のOSも試してみようと思います。

※現在、M1 Mac上でだけ、ゲストにmacOSをインストール可能になってるようです(v3.0以降)

M1 MacだとParagon VMDK Mounterが使えないので、qcow2やimg形式のディスクイメージで受け渡しという手段を利用します。

UTMとは?

UTMとは、Qemuをベースに作成されている仮想環境を作るmacOSとiOS向けに作成されているオープンソースのソフトウェアです。CPUエミュレーションをしない「仮想化」と、CPUエミュレーションを行う「エミュレータ」の2つの顔を持っており、特に後者の機能により、全くCPUアーキテクチャが異なる環境上で、そのCPUを再現し、実現してくれるかなり凄いアプリが土台になっています。Qemuのフロントエンド的な役目を担っています。

結果、ARMなM1 Mac上でx64のWindows10等を動かしたり、x86な環境上にPowerPCで動くMac OS 9を動かしたりと、違う環境の垣根を超えてアプリケーションを動かせる為、ある意味ではVMware FusionやParallersを超えてる仮想環境です。

このサイトでも過去に純粋なQemuを使ってRaspberry PiのRaspbianを動かすといった事をチャレンジしています。最近のv3.0からはmacOSをゲストOSとしてサポートするなど、かなりのスピード感で進化しています(UTMではRaspbianは動作させることができません)。

※CPUエミュレーションを行えるので、古いWindowsで古いプリンタもデバイスドライバを入れてUSB接続すれば利用できるのではないかと。

macOSでQEMUを使ってRaspbianを起動する

macOS用VMware Fusionの無償版を利用する

M1 MacでParallels Desktopを検証してみた

macOSはWineを活用するともっと便利になる

macOSでUTMを使ってみる

バックエンドはQemuを利用してる

UTMはバックエンドはQemuを利用しており、2024年10月時点では最新のQemu 9.xを利用しています。しかしこれはHomebrewなどでインストールするQemuとは別でUTMアプリ内部で持ってるものであり、UTMと一体化しています。

単なるフロントエンドではなく、さまざまな便利な機能や独自の機能が組み込まれており、結果として

  • オリジナルのQemuとは操作感や動く動かないの差がかなりある
  • オリジナルのQemuでは難なく動くものでも、UTMでは動かすのが大変というケースがある
  • UTMのバージョンによっては動いていたVMが、新しいバージョンでは不具合が出ることがある(これはUTM自身が原因の場合もあれば、Qemuの場合もある)
  • 特にVGAドライバ関係はQemu側が年々Cirrusの互換性が薄れてきていたりして、古いOSの実行面で動かないケースもある
  • 故に敢えて古いバージョンのUTMを別に使うケースがあります。
  • Qemuベースなので、ParallelsやVMwareと異なり、ARMだけしかサポートしていないということではなく、x86, x64, SPARC, MIPS, PowerPCなど様々なアーキテクチャのOSを動かすことが可能

とはいえ、本エントリーで検証してるように、かなり多数のOSが設定は必要ではあるものの動作するので、macOSでは欠かすことのできないアプリの1つです。

※ただし、MacOS8.1のような68Kであったり、OpenStep 4.2のようにどう頑張っても動かせないものもあります。

UTMをインストールする

UTM(250MB程度)のインストールはとても簡単で、DMGファイルをダウンロードし、ダブルクリックでマウント⇒アプリケーションフォルダに入れるだけです。現在は、Mac App Storeでも配信されており、こちらは$10の有償となっているようです。

インターフェースはとっても、簡素なのですが、様々なアーキテクチャに対応する為に、個々の設定項目は非常に細かいシーンもあり、また、好き勝手にRAMやCPUを指定して動くわけではないので、この辺りが設定を行う上での大きな壁になります(例えば、Mac OS 9の環境はPowerPCを指定する必要があり、またその時のCPUのコア数やRAMには上限値がある)。

なお、新規に仮想環境を構築した場合に仮想マシンが保存される場所は以下のディレクトリ内になります。Finderで表示をクリックした場合このディレクトリが表示されることになります。

図:見た目はとってもシンプル

図:VMが保存される場所

ディスクイメージでやり取り

フロッピーイメージを共有する

古いOSの場合、まずCD-ROMドライバを入れる必要があったりして、いきなりISOイメージでゲストとホストで共有するといったことが難しいケースが沢山あります(Windows3.1等)。その為、最初のファイル受け渡しの手段は仮想FDDを使う必要があります。UTMは仮想FDDに対応している為、その手段を使います。

  1. 適当なテキストファイルを作り、floppy.imgという名称で保存する
  2. UTMのドライブの設定で、RemovableにてFloppyを追加する。追加後、Image TypeをDisk Imageへ変更する
  3. この時、ドライブが読み取り専用がデフォルトになってるので、このチェックを外す
  4. 仮想環境一覧に戻り、2.で作ったドライブに1.のファイルを指定する
  5. 起動したら、Windows3.1ならば、Aドライブとして認識されるのでFAT16等でフォーマットする
  6. 後はこのファイルを経由して受け渡しが可能。
  7. macOS側でもダブルクリックすれば簡単にマウント出来ます。

ここに用意しておきました空のイメージをコピーして使い回すのも楽なのでオススメです(FAT16フォーマット済み)。

FDDイメージの場合、macOS上でもダブルクリックで即時マウントして中身に直接読み書きが可能であるので、設定ファイル等をVM上で弄るのが大変な場合にはFDDイメージ経由でのやり取りが非常に有効です(macOSでマウントできないフォーマットはマウントできません)。

図:Floppyドライブを追加してる様子

図:ゲストでAドライブとして認識される

ISOイメージを共有する

macOSは簡単にISOイメージを作成する手段が用意されているので、ゲストOSでCD-ROMが使える状態であるならば、一方通行ですがゲスト側にファイルを渡す手段としては悪くありません(セットアップファイル等をまとめて渡せる)。以下の手段で簡単に構築が可能です。

  1. フォルダを用意して、中にISOイメージに含めたいファイルを一式用意する
  2. ディスクユーティリティを起動する
  3. メニューからファイル⇒新規イメージ⇒フォルダからのイメージ作成をクリック
  4. フォルダを選んで選択をクリック
  5. 保存場所を指定して、イメージフォーマットを「ハイブリッドイメージ」を選択し、保存をクリック
  6. disk.dmgという形でファイルが保存されるので、拡張子をisoに変更する
  7. 仮想環境のCD-ROMにディスクイメージとして6.で作ったファイルを指定すればゲストで読み込める

ISOイメージなので追記は出来ません(ツールを使って読み書きする手段はあったりしますが)。

図:ISO作成中の様子

qcow2イメージを共有する

Windows11等はSPICE Guest ToolsでホストであるmacOSと直接やり取りが可能ですが、それが無いOSの場合、FTPやSamba等を介してやり取りをする必要があります。しかしもう1つ手段があり、UTMことQemuのディスクイメージであるqcow2イメージを利用してやり取りをする事も可能です。

以下の手順で受け渡し用のqcow2イメージを作成して、macOS側でマウントが可能です。ターミナルで作業をします。

  1. homebrewをインストールしておく
  2. 以下のコマンドでqemuを別途インストールする(qemu-imgコマンドが使えるようになります)
  3. 以下のコマンドで空のqcow2イメージを作成します。但し、rawディスクで作成する必要があります(でないと100KB程度のディスクになってしまう)。

    これで、デスクトップに1GBの未フォーマットのqcow2ディスクイメージが出来ます。これをデスクトップにでも配置しておきます。尚、固定サイズイメージを作りたい場合は以下のコマンドで作成可能です
  4. 以下のコマンドでこのディスクイメージに接続します。

    まだ、マウントは出来ません。diskutil listで調べると自分の場合、/dev/disk4として認識されました
  5. ディスクユーティリティを起動すると、空のディスクが認識されてる
  6. FAT32やexFATでフォーマットします。
  7. 次回以降は、以下のコマンドでディスクユーティリティを起動せずに直接マウント出来ます(但しフォーマットがオカシイものは対応のものでもマウント出来ないことがある)
  8. マウントすると普通にmacOS上でqcow2イメージの読み書きが可能になるので、UTMのOS側に渡したいファイル類を入れてあげる
  9. アンマウント(取り出し)をして、UTMを起動する
  10. 仮想環境を右クリック⇒Editを開く
  11. New Driveをクリックして、IDEのRaw Imageにチェックを入れてImportをクリック。インポートされてしまうので、元のファイルは削除してしまって問題ないです。後でインポートされたファイルを持ってやり取りをします。
  12. 作成したdata.qcow2を選ぶと「インポート」される
  13. 仮想マシンを起動するとHDDとして認識されるので、Windowsならばここに、管理ツールのコンピュータの管理等からプライマリパーティションを作成し、FAT32等でフォーマットする。

次回以降は、以下の手順でこのディスクをmacOSでマウントする

  1. 以下のコマンドでUTMの仮想マシン内にあるqcow2ファイルに対して、一度マウントせずに接続する
  2. ディスクユーティリティを起動して、認識されたドライブをマウント

これで、中身が取り出したり追加する事が可能になります。このページの上部に1GBの空のパーティショニングとFAT32フォーマットを済ませてあるqcow2イメージをZIPで圧縮したものをアップしてあるので、ご利用ください。

ゲストOSが認識できる形式でフォーマットやインターフェースを指定してあげる点が注意点です。また、接続というよりインポートという形になり、リムーバブルドライブでは認識されないので注意です。

空のディスクを作ってフォーマットをする場合にはこちらのサイトを参考にすると良いでしょう。

※ちなみにhomebrewでインストールしたqemuのパスは「/opt/homebrew/opt/qemu」以下のディレクトリになります。バージョンは「qemu-system-aarch64 --version」とターミナルで実行するとQemuのバージョンを確認可能です。

Mac OS X時代は、Paragon VMDK Mounterが使えたのでVMDKファイルをUTMに直接接続してやり取りが出来ましたが、現在のmacOSはセキュリティを落としてkextを追加しないと動作しないので、qcow2方式がオススメです。

図:qcow2ファイルがドライブとして認識されてる

図:インポートする様子

図:XPでパーティショニングしてる様子

図:Windows11にインポートしてみた

図:Qemuのインストール先のフォルダ

空のimgファイルで共有する

最近ウェブを徘徊していて見つけた手法ですが、FAT32でフォーマット済みのimg形式のディスクイメージを使ってゲストとホストの間でファイルをやり取りする手法が非常に有効なので、紹介します。

こちらのサイトに1GB〜8GBまでのFAT32でフォーマット済みの空のimg形式のファイルやLinuxで生成するスクリプトが用意されています。

このイメージをUTM上では

  • USBドライブのリムーバブルとしてドライブを用意する
  • イメージとして入手した空のimgファイルを割り当てる

ことでWindows11 ARM版では少なくとも認識しファイルを読み書きすることが出来ました。また大きな利点として、このimg形式のイメージファイルはmacOSでダブルクリックで簡単にマウントして読み書きが可能です。qcow2よりも手っ取り早い。

ディスクユーティリティでdmg形式を作ってimgにリネームしても認識しませんでした。

以下はmacOSのターミナルで好きなサイズで空のイメージファイルが作れるスクリプトなので使ってみてください。他のインターフェースだとエラーになったので、USBの使えるゲストOSであれば有効です。

上記のスクリプトをtest.shとでもしてDesktopに保存。以下のターミナルを実行する

chmodで実行可能なパーミッションをセットしてから、test.shを実行すると指定のファイルサイズのRECOVERYという名称の仮想ディスクが、noob1gb.imgというファイル名で生成されます。途中管理者パスワードを要求されるので、macOSのログイン時のパスワードを入力しましょう。

これをUTMでリムーバブルで指定すると利用できますし、ダブルクリックでmacOS上で中身をマウントでき、読み書きが可能です。

図:imgファイルを生成してる様子

図:UTM側でのドライブの設定

図:Windows側で読み書きしてる様子

図:macOS側でimgファイルをマウント

日本語入力切り替えを楽にする

UTMでのWindowsに於ける日本語入力切り替えは、macOS準拠の英数/かなキーでの切り替えが出来ないケースが多く、そのためには、各OSで利用できるキーマップ変更ツールを入れる必要があります。applekbwinというツールもあったのですが、こちらは仮想環境では利用できません。以下の手法は、Windows9x〜XPまで有効な手段です。

XPでの事例として、まずはKeyboardを101英語キーボードから日本語106キーボードに変更する

  1. コントロールパネルのキーボードを開く
  2. ハードウェアを開き、プロパティを開く
  3. ドライバ⇒ドライバの更新をクリック
  4. いいえ、今回は接続しませんをクリック
  5. 一覧または特定の場所からインストールするをクリック
  6. 検索しないでインストールするドライバを選択するをクリック
  7. 互換性のあるハードウェアを表示のチェックを外す
  8. 標準キーボードの中に、日本語PS/2キーボード(106/109キー Ctrl+英数)があるので選択する
  9. ドライバ更新警告では「はい」を選択する
  10. 完了したら再起動する

次にキー入れ替えツールをダウンロードして設定します。今回はAltIMEを使ってみたいと思います。

  1. ファイルをダウンロードして解凍する
  2. 中に入ってるaltime.exeを起動する
  3. 再起動する旨のメッセージが出るので、支持に従って再起動
  4. OptionキーがIMEのオンオフに変わる

Altキーを多用する人には具合悪いですが、使わない人にとってはこの手法は良い選択肢です。

図:キーボードを106日本語キーボードに変更

図:altimeでoptionキーを変更

マルチディスプレイ

2022年8月6日リリースv4.0 Betaよりマルチディスプレイ対応しました。WindowsXPのイメージでやってみましたが、少々手順が面倒なので、以下に記録を残しておきます。

  1. VMの設定画面にデバイス追加があるので、ディスプレイをもう一個追加する
  2. GPUは「Spice QXL (secondary)(qxl)」にしておく必要がある
  3. WindowsXPを起動すると認識するが、ドライバの追加が必要なので、SPICE Guest ToolのISOをマウントしてドライバをインストール
  4. 再起動する
  5. デスクトップで右クリック⇒プロパティを開き、設定を開く
  6. 何故かセカンダリモニタがプライマリになってるので、1の「ディスプレイ設定をプライマリ」にするように変更する
  7. Windowsデスクトップをこのモニタ上で移動できるようにする」にチェックを入れる
  8. タスクバーがセカンダリ側のままなので、一度掴んで縦置きにして、そのままもう一度掴んでプライマリ側に移動すれば、プライマリ側にタスクバーが表示されるようになります。

こうする事で、ディスプレイが二枚表示されるので、実際のデュアルディスプレイ環境でもう一個を2つ目のディスプレイに表示してあげれば、相互で行き来が可能になります。

※但し、v4.0で開くとutmの形式が新形式になり、v3.0で開けなくなるので要注意です。

図:なぜかセカンダリがメインになってる

図:モニタの設定画面

図:VMのセカンダリ側設定

新共有フォルダ機能のVirtFS

UTM v4.0より旧式のWebDav方式の他に、新たにVirtFS方式でのShared Directory共有が出来るようになりました。但し、UTM 4.0でutmファイルを開くと、新形式に変換されてしまうので、旧3.0では開けなくなるので要注意。

手順と言っても設定の、共有⇒Directory Shared ModeをVirtFSに変更し、すぐしたのPathで共有したいホスト側のフォルダを指定するだけ。

※ただ、この機能が使えるのは現在はLinuxでのみのようです。

図:共有の設定から変更してフォルダを指定するだけ

Rosetta2で動かしてみた

UTMのプロパティをみたら、Rosetta2を使用して開くという項目があったので、チェックを入れて、WindowsXPの仮想イメージを使ってベンチマークを取ってみました。ベンチはCrystalMark 2004R3を利用しています。数値が高いほど性能が上ということのようです。

計測結果は、Rosetta2を使わないほうがHDD以外の項目ですべて上でした。実際中身がどうなってるのか謎ではあるのですが、Rosetta2の場合はUTM側はエミュレーションではなくパススルーのハズ?なので、結果的にはQemu7.0 > Rosetta2という事なのかなと思います。

図:通常の場合のベンチマーク

図:Rosetta2のベンチマーク

ポートフォワーディング

UTMの仮想環境に対して、ポートフォワーディングにてホスト側から接続したい場合には以下のような設定をする必要があります。今回、ゲスト側のSSHにホスト側からアクセスする事を前提にテストしてみました(ゲスト側のポートは22番)

  1. 仮想環境のネットワークのモードは仮想VLANにする必要がある
  2. プロトコルはTCPとし、ゲストポートは22、ホストポートは23を指定
  3. アドレスは指定しません
  4. 保存をクリック

ゲストはUbuntu 22.10 ARMを使っているのですが、以下の手順でSSHをインストールして有効化しています。

ホスト側からターミナルを起動して、以下のコマンドで接続します

無事接続ができれば、ターミナルから仮想環境内のUbuntuをSSHで操作が可能になります。

図:VLAN設定を行う

図:ゲスト側の状況

図:ホスト側から接続

Rosetta for Linux

Debian12をインストール

macOS Ventura以降に於いてVirtualization Frameworkを利用することで、UTMで作成したARM Linux環境にて、x86, x64バイナリをRosetta2を介して動かせるようにするという不思議な機能がRosetta for Linuxです。OSはARMなのにbox86などのエミュレータも無しでそのままx86, x64バイナリがRosetta2経由で動かせるのは、ARM版Linuxのアプリ不足を補う面や、Dockerでx86コンテナが使えるそうなので便利な機能と言えます(Wineなど動くのかな?)

試しにこちらのエントリーを参考にDebian12を使ってテストしてみました。こちらも参考にすると良いでしょう。

  1. Debian Net InstallerのISOをダウンロードする
  2. 仮想化で新規に仮想マシンを作成し、ISO指定画面にある「Apple仮想化を使用」および「Rosettaを有効にする」にチェックを入れる
  3. ブートさせる
  4. Graphical Installで今回は完了まで進めました。
  5. ソフトウェアの選択画面では、Gnome、SSHサーバ、標準システムユーティリティにチェックを入れて進める

図:この設定を有効化するのがポイント

図:ソフトウェアの選択画面

インストール後設定

OSインストール後も色々とターミナルを使ってパッケージをインストール等します。

  1. 以下のコマンドを実行してsudoを使えるようにする
  2. 各種パッケージの追加を行います。
  3. こちらのページを参考にvirtiofsをマウントするように共有フォルダをセットします。ホスト側にrosettaというフォルダを用意して、UTMにてそれを共有フォルダとして追加しておきます。
  4. 以下のコマンドを実行して、ホスト側の共有フォルダをマウントします。
  5. geditをインストールして、sudo gedit /etc/fstabを開く
  6. 以下の内容をfstabに追記して保存する
  7. 一旦ここで再起動すると共有クリップボードが使えるようになる
  8. 後は、以下のコマンドでx86, x64パッケージをインストール出来る

デモ動画

Rosetta 2 WORKS on Linux on Mac? Future of Linux Proton gaming on Apple Silicon Macs, VM Tutorial!

パッケージをインストールしてみた

試しにHandbrakeをインストールしてみたいと思います。

結構あっさりインストールされ、アプリとしても登録されますので、起動してみたらかなりスムーズに起動しました。ひょっとしたらflatpakなどやWineの類いも動作するかもしれません。ARMのOSなのにx86のアプリがframeworkを通じてRosetta2で動くというのはなかなか奇妙ですが、非常に面白い仕組みだと思います。

※また、こちらのサイトにあるように、architectureにi386として追加すればWineが動く可能性が。

図:x64版Handbrakeが動きました

使い捨てモード

現在のUTMには使い捨てモードという、OSを起動して色々作業をしても実ディスクには一切データを反映させないという変わった機能があります。これ何に使うのか?といったら、OS内でテストでアプリを動かすであったり、環境構築を検証してみるであったりした場合、他のVMだとスナップショットがありますが、今現在まだUTMはスナップショット機能が無いので、メモリ上でだけ動作する形で動作させるものです。

これならばいくら破壊しても、次回起動時は反映されていないので無事な環境でいくらでもスタートできます。起動も簡単でVMを右クリックして「変更内容を保存せずに実行」をするだけです。VMのメニュー上には使い捨てモード表示が出ます

図:右クリックで保存せずに実行するだけ

図:使い捨てモード表示

スナップショット機能は?

実は現時点のUTMにはOSのあるシーンを取得して復元するようなスナップショット機能が装備されていません。しかし、qemuそのものには以下のようなコマンドでスナップショットを取ったり復元することが出来ます。

しかし、使う度にターミナルから操作するというのも面倒。これに対してGUIを被せたUTM Snapshot Managerというツールがあります。但し正式なツールというわけじゃなく概念検証の為に作られたものでソースコードしかなく、自力でxcodeでビルドする必要があります。こちらのサイトが詳しく解説していますので、Xcodeでビルドして使ってみると良いでしょう。

将来的にUTMそのものに標準装備されるといいですね。

仮想HDDの変換

UTMはQemuのフロントエンドですので、利用する仮想HDDの形式はqcow2形式となります。VMwareのvmdk形式やVirtualBoxのvdi形式、VirtualPCやHyper-Vのvhd形式はそのままでは利用できませんしインポートもできません(vmdkについてはリムーバブルとして接続すると中には入れる)。

これらをUTMで利用するためには変換が必要ですが、macOSでこれらを変換する手段は2つあります。

  • qemu-imgを利用してコマンドラインから変換する
  • Wineを使ってNHCを起動し使って変換する

前者はHomebrewのqemuをインストールすることでqemu-imgコマンドを使えるようになります。

  1. Homebrewを予めインストールしておく
  2. ターミナルを起動する
  3. 以下のコマンドを実行して、qemu-imgを使えるようにする
  4. 3.でインストールしたqemu-imgを使って、VMDK形式などへ変換するコマンドを実行する
  5. 4.で生成されたqcow2イメージをもとに仮想環境を作ったり、ファイルを差し替える

後者のNHCはWindows用のNHCをWineを使って起動し動かします。個人的にオススメなのはCross Over Macです。qemu-imgもNHCも幅広い仮想HDDに対応してるので、Parallels, DOSBoxからやBochsなどの仮想HDDからも変換が可能です。

macOSはWineを活用するともっと便利になる

図:NHCをeasywineで起動してみた様子

USBブートさせたい

UTMのUEFIを利用して、そこから指示することでUSBメモリから例えばOSインストールなどをブートさせることが可能です。以下の手順で実際にブートさせることが出来ました。例示のOSはRescueZillaをUSBに書き込みしてブートさせています。RufusBarena Etcherなどをつかってイメージを書き込みましょう。

  1. 仮想環境は特にオプションしていもせず作りたてのまま。ただし、ディスプレイだけはvmware-svgaを指定
  2. USBメモリをmacに接続
  3. 仮想環境を起動し、右上のボタンからUSBメモリを仮想環境内に接続
  4. UEFI画面が出るのでESCキーを押して、exitと入力してEnterでBIOS画面に入る。
  5. Boot Managerを開く
  6. USBメモリと思われるものを選択してEnterキーを実行
  7. あとはUSBメモリからブートが開始されます。

OSをそこからインストール出来るとは思いますが、インストールしたOSが起動するかどうか?などは仮想環境の設定次第や、そもそも対応してないこともありえるので要注意。

SteamOSをこれで試してみましたが、途中で起動せず。残念。

図:UEFIの画面

図:Boot Managerからブートデバイスを指定する

図:初期起動は問題なし

図:さらにLinuxとRescueZillaが起動出来た

古いOSを動かす場合の注意点

Windowsにファイアウォールが標準装備されたのは、WindowsXPからでソレ以前のOSの場合、標準でファイアウォールが装備されていません。自分もかつて経験したことがありますが、Windows2000をクリーンインストールしてネットに繋いだ途端に、CodeRedやらBlasterやらの「ワーム」と呼ばれるプログラムによって一瞬で感染し、あっという間にクラッシュするに至ったことがあります。

今どきのPC環境だと間にルーターが入っていたり、OSに標準でファイアウォールがある為、ネットに接続したらからといってこういった破壊的な目に合うことは少なくなりました。

以下の動画はWindowsXP環境をファイアウォールを解除して、直接ネットに接続したらどうなるか?を実証した動画です。もしUTMを利用してる環境で、仮想環境がブリッジで接続、途中にファイアウォールも何も無い状態の場合、同様にワームに感染する可能性があります。今現在でも、どうやらワームはネット空間を飛び交ってるようなので、無防備な状態で仮想環境を晒した場合困ったことになるかもしれません。

What happens if you connect Windows XP to the Internet in 2024?

UTMリモートサーバー

2024年2月、UTMに大きなアップデートがあり「iOS端末でmacOS上の仮想マシンをリモート操作する機能」が登場しました。このUTM Remote Serverと呼ばれる機能ですが、iOS端末に専用のアプリを入れて、macOS側でサーバとしてオープンする。そこに接続し、iOSデバイス上で操作するというもの。VNCともちょっと違ってiOS側から編集や仮想マシンの起動が可能です。

  1. UTMを起動してメニューから設定を開く
  2. サーバタブを開いて、UTMサーバを自動的に起動にチェック
  3. 外部クライアントからのアクセスを許可にチェックを入れて、ポート番号を入れる(例えば21589)
  4. パスワードには接続用パスワードを入れる
  5. 設定ダイアログを閉じる
  6. 一旦UTMを終了して起動する
  7. メニューのウィンドウ→UTMサーバをクリックして画面を表示する
  8. この状態で、iOSデバイス側で起動して、検出されてるmacOS端末をクリックする
  9. 接続が始まるので、接続をする(パスワードやポート番号を入力求められるので入力する)
  10. macOS側の7.のウィンドウに出てくるので右クリック→承認をする(状態が接続済みになる)
  11. iOSデバイス側は「ようこそUTMへ」という画面になるので、左上のUTM Remoteをタップする
  12. 自分でUTMに用意した仮想マシンのリストが出るのでタップする
  13. 画面真ん中の▶️をタップして、仮想マシンを起動する(macOS側では画面は表示されない)
  14. 無事にマシンが起動して、カーソルはiOSデバイスの画面をさわれば操作できます。

起動したら右上の<のボタンをタップするとキーボードや電源ボタンなどが表示されてデバイス操作可能です。

図:UTMサーバの接続リスト

図:UTMのサーバ設定

図:iOSデバイス側から起動可能

図:WindowsXPをiPad上で起動させてみた

Total Score Orderingオプション

UTM 4.6.xより、TCOと呼ばれるオプション機能が搭載されました。このオプション機能は

  • Apple Hyper Visor Frameworkを利用する「ハイパーバイザーを使用」にチェックが入ってる場合に利用可能
  • TCOオプションを有効化するのは、OSがx86_64の場合であり、ARMネイティブの場合はオフにしないとパフォーマンスが落ちる。
  • OSがx86系でハイパーバイザーが使える場合、このオプションを有効化するとx86エミュレーションのパフォーマンスが大幅に向上するとのこと
  • このオプションはmacOS 15 Sequoiaから搭載されてるAHVFを利用してるのでSonomaでは使えません。

実際に、このオプションを利用してる状態のChrome OS Flexを起動してみましたが、それまでは実用はできないレベルの遅さと反応の悪さでしたが、ギリギリ動かせるレベルまで向上しました。Windows7あたりで使えるのか?は検証してみたいところ。

図:TSOオプションが増えました

図:Chrome OS Flexがなんとか動いた

カスタムBIOSを指定する

まず通常のケースでは使う機会も何もないと思いますが、UTMことQemuは標準ではBIOSメニューは存在しません。その内容はすべてQemuの引数で指定することで実現しているため。とはいえ、オプションとしてカスタムBIOSのファイルを指定することができるようになっています。

UTMでも同様ですがQemuの引数ではなく、ドライブで指定します。

  1. PCシステムフラッシュとして追加し、読み込むで直接BIOSのファイルを読み込ませる。
  2. 起動順番を1番目に持ってくる
  3. イメージの種類をBIOSに変更する
  4. 保存して起動してみる

こちらのサイトにあったi815.binというAward BIOSのi815.binを読み込ませてみたら下の図のようになりました。この状態だとBIOS画面に入ることができますが、このBIOSで仮想マシンがコントロールされてしまうのでOSが起動しなくなったり壊れたりもしますので要注意。

また、同じサイトのw6337ims.740を指定すると、懐かしいEnergy Starのロゴ表示のBIOS画面が見られます。

図:Award BIOSを指定してみた

図:Energy Starが見たくて指定してみた

図:BIOSの指定方法

様々なOSを試してみた

Qemuを味わい尽くすために、様々なアーキテクチャのCPU、OSをインストールしてテストしてみました。ARMやx86, x64, PowerPC, UltraSPARCなどなどといったものが平然と動き、DOSからWindows3.1、Windows11、macOSやらSolarisやら歴代の様々なOS環境を実現できるUTMは最強の仮想環境と言えるのではないかと思います。

macOSの過去の資産を活用できるのでそういった手段としてもM1 Macではもはや必須のアプリケーションと言えるでしょう。

AIX VM on x86 using KVM and QEMU

動画:Qemu自体はIBM AIXも動作するらしい

Ubuntu Linux

x64版のUbuntuの場合

OSのインストール

Macbook Pro 2016はIntel CPUであり、またUbuntu Linux 20.04もx64用のOSであるため、UTMで利用する場合にはCPUのエミュレーションは不要故にかなり快適に動作します(M1 Macではエミュレーションが必要)。また、仮想環境の構築も非常に楽ちんで、以下の手順で簡単に構築する事が可能です。

  1. UTMを起動し、Create a New Virtual Machineをクリックする
  2. Virtualizeを選択する
  3. OSでは、Linuxを選択する
  4. Boot ISO Imageでは予めダウンロードしておいたUbuntu Linuxのisoファイルを指定する
  5. RAMは4GB、Core数は4を指定。Storageでは100GB程度を割り当てました。
  6. Shared Directoryがホスト側と共有するフォルダの指定ですのでお好みで
  7. そのまま起動せず、左パネルに出来た項目を右クリック⇒Editで入ってみる
  8. 他にも色々と細かいセッティングがあり、USBについてホストと共有する項目や、ドライブの設定等があるのでお好みに応じて変更する
  9. 起動させる
  10. 普通にインストールが始まるでの、指示に従って進める
  11. インストールが完了し、無事にUbuntu Linuxが起動したら成功

64bit環境でインストールしてるので、UEFIブートで尚且Apple Virtualizationが利用可能です。M1 Macではギャラリーにインストール法が記載されているので、ARM版 Ubuntuを利用すれば同様にインストールが可能です(ただしこちらは、Ubuntu Desktopではないのでコンソール)。Ubuntu DesktopのARM版については、Nightly buildが提供されていて公式に提供がされていません(が、Parallels Desktopはこの版を利用して、Ubuntu環境を作っています)

v4.0.1 Betaより、ホストがVenturaの場合、新Virtualization.frameworkを利用して、ゲストの ARM Linux上をEFIブートで作成可能になりました。Rosetta2を利用してのIntelバイナリの実行も出来るようになったようです。

図:セッティング項目は豊富

図:無事にインストールして動作するようになった

SPICE Guest Tools

WindowsおよびLinuxに用意されている、VMwareで言うところのVMware Toolsと同じ役目を果たしてる、追加のプログラムです。フォルダの共有やクリップボード共有、画面サイズの動的可変対応、各種ドライバ等が入っており、WindowsやUbuntu等では必ず入れるようにしましょう。

Ubuntuの場合はターミナルを起動して、以下のコマンドを実行するだけです

Windowsをインストールした場合には、サポートページにあるGuest ToolsのISOをダウンロードして、仮想環境内で中に入ってるインストーラを実行する必要があります。

ARM版のUbuntuの場合

M1 Mac上のUTMでUbuntu Linux使いたいとなったら、x64版ではなく現在まだ公式に提供されているわけじゃないのですが、22.10 Daily Buildとして提供されてるARM版を使うことで、x64エミュレーションをせず快適に利用することが可能です(Parallelsではこちらの版を利用して環境を構築しています)

インストール時の注意点

Ubuntu Linux 24.04のインストール時遭遇した問題ですが、本当に最初の言語の選択にて日本語を選びたかったのに「文字化け豆腐状態」で選べませんでした。ARM版は正式リリース版ではないので仕方ないのですが、この場合は以下で対処します

  1. 英語版でまずはインストールを完了させる
  2. Ubuntu Linuxを起動して設定アプリ→System→Multi Language Installで日本語の言語をインストール
  3. 一旦再起動
  4. 再度設定にて、言語とフォーマットの2つそれぞれを日本語に変更する
  5. 一旦ログアウト
  6. 再度ログインすると日本語になります。

図:24.04 ARM版もインストールできた

OSのインストール

とはいえ、特別な手法は必要なく、以下の手順でインストールが可能です

  1. こちらのページから64-bit ARM (ARMv8/AArch64) desktop imageをクリックして、ISOをダウンロード
  2. UTMにて新規仮想マシンではLinuxを選び、次の画面では「仮想化」を選択します(エミュレーションではありません)
  3. メモリ4GB、CPUコアは4コア、Diskは64GB、ネットワークをブリッジにして今回は挑戦しています。
  4. ディスプレイの項目は必ずインストール時は「virtio-ramfb」を選ぶこと。virtio-ramfb-gl(GPU Supported)を選ぶと、起動はしますが、ダイアログ等が真っ黒のままです。
  5. ブートさせると、ISOからいつもどおり起動するので、Try or Install Ubuntuを選択
  6. ログイン画面が出るので、Live Session Userをクリック
  7. 左のサイドバーの一番上のアイコンをクリックする
  8. あとは、画面にしたがってインストールを進めるだけ

インストールが終わったら、isoファイルを取り除いて再起動するだけ。ただしいくつか問題点があって、再起動すると再起動せず真っ黒の画面のままだったりします。また、次回起動時にUEFI画面で固まったまま?ディスプレイアダプタおかしくなった?いう印象を持つことがありますが、我慢してれば起動します。ハードウェア情報を以下のコマンドでインストールしたツールで見てみると

図:いつものブート画面

図:ようこそ画面

図:Hardinfoの情報

図:GPUの選択は限定的です

SPICE Guest Tools

Ubuntu x64版同様にターミナルを起動して、以下のコマンドを実行するだけです。また、Qemu 4.0からはVirtFSという新しいデスクトップ共有機能が入っているのですが、こちらはまだ試していません。マウント等の手作業が必要になりますが、こちらにドキュメントが公開されています。

VirtFSを準備することで、WebDavとは異なるホストとゲストの間でのディレクトリ共有が可能になります。

WebDavによるファイル共有

VirtFSではなく通常通りこれまでのWebDavでの共有を有効にし、ディレクトリを指定すると、以下の手順でホスト側のファイルが見えるようになります。以下の手順はUbuntu Linuxの場合で、上記のSpice Guest Toolsがインストール済みの場合です。

  1. Nautilusを起動する
  2. 左サイドバーの他の場所をクリック
  3. ネットワークの項目にSpice Client folderという項目が出てくるのですが、2つ出てきます。フォルダのアイコンのものがアクセス可能なものになり、灰色のアイコンはアクセス出来ません。
  4. 出てこない場合、起動中に一度、SharedDirectoryを再指定すると出てくるようになります。

図:ちょっと面倒な手順です

ネットワークカードについて

過去版ですが、Ubuntu ServerのARM版で構築した際に、なぜかネットワークカードが認識されず、設定ファイルを記述しなおしたら、認識していても通信が出来ないというケースに遭遇したことがあります。公式サイトのFAQにも記載があるのですが、UTMのコミュニティではUbuntu側のバグでは?であったり、AskUbuntuでも同様の内容がIntel版について過去報告されています。

ちなみに自分の場合、rtl8139を指定しています。これ以外だと不具合がある印象です。

自分もこのエントリーを参考にnetplanディレクトリ以下に設定ファイルを作ったり、resolve.confに書き加えてみたり、nmtuiで設定をしたのですが、結局解決せず、Daily buidの22.04をインストールし直したらあっさり問題なく通信できたことから、Ubuntu側の問題なのではと思っています。

仮想環境で使う場合はこういったこともままあるので、あまり1つの問題にのめり込むと沼ることがあるので要注意です。

macOS Apple Silicon

UTMでは、ゲストOSとしてARMアーキテクチャのmacOSをインストールすることが出来ます。Montereyから可能になっていますが、IntelアーキテクチャではないためCPUエミュレーションが無い分非常に快適に動作します。ゲストでmacOSを使う理由の中で一番有意義なのは「開発環境の構築テストをする為」というのが挙げられます。ホストのOSを汚さずに、色々な開発環境用のアプリのインストールとテストを行えるので、M1でまだまだ十分ではないmacOSの開発環境構築では利点が大きいです。

ISOやインストーラのappではなく、Appleで用意されてるIPSWファイルというものを使って仮想環境を構築する必要があります。ちなみに、こちらのサイトにipswファイル一覧があります。

OSのインストール

以下の手順はmacOS Montereyの場合の手順ですが、最新版でも同じ手順です。Montereyのインストールそのものは難しくありません。M1 MacでホストがMontereyならばOS自体用意せずに自動的にバックアップファイルから構築してくれるようです。

  1. 新規仮想マシンを作成をクリック
  2. 仮想化を今回は選択
  3. macOS 12以降をクリックする
  4. そのまま続けるをクリックすると最新のipswというバックアップファイル(IPSWファイル)を自動でダウンロードしてきます。任意のIPSWを指定することも可能です。
  5. RAM 6GB, 4コア, HDDは100GBで指定しました
  6. 自動的にインポート作業が開始されます。
  7. インストールが終わるとサイドバーにmacOSのアイコンが出現します
  8. 起動すると何やらメッセージ(仮想HDDの中身消すけどOK?的な)が出ますが、OKをクリックして進める
  9. 10分くらいバックエンドでインストール作業が進む。
  10. 完了するとHelloの文字とともにセットアップが開始されます

現時点で、Spice Guest ToolsはmacOS向けに用意されていないので、インストールが完了したらドライバの割当作業等はありません。

図:インストールソースはバックアップファイル

図:セットアップ自体は普通に進めます

現時点での問題点

Guest Toolが無い為、以下のような問題点があります

  • ゲストの解像度をウィンドウのサイズに合わせて自動調整はされません。
  • キーボードが101英語キーボードとなるため、日本語キーボードのmacOSだとマップされてるキーが異なる(@マークはShift+2キーで出る)。この問題点はIssueでも取り上げられています
  • その為、日本語入力のIMEのオンオフもオカシナ状態に
  • KeyboardSetupAssistant.appが起動しないので現状変更も出来ない
  • UTMの設定画面も他のOSと違いちょっと特殊になってる
  • 仮想環境下からのApple IDでのアカウントログインはできません(Apple側から弾かれてる為)。よって、Mac App Storeが利用できません。
  • ISOファイルやmacOSインストーラのappからの仮想環境構築はできません。

ただキーボードの環境設定にて、入力ソースにCapsLockでオンオフの設定があるので、これで日本語入力のオンオフは対応出来ますし、Karabiner-Elementsで設定して変えるという手もあるので、なんとかなります。こちらのサイトにターミナルから設定変更する手段が掲示されています。

ディスプレイ設定もUTM側のDisplayに細かい解像度設定があるので、こちらで設定しておくと良いでしょう。ネットワークはShareになっているので、自分はBridgeに変更しています。

v4.0.1 BetaよりVenturaをサポートし、クリップボード共有とディレクトリ共有が利用可能になったようです。

図:日本語入力オンオフはここで暫定対応

図:解像度変更はUTM側に存在する

ホストと共有する機能

ゲストがmacOSの場合だけ、ホストとディレクトリ共有する機能がちょっと特別です。ホスト側のディレクトリを指定するだけで、仮想環境内のmacOSにはドライブとしてホスト側のディレクトリ内が表示されてファイルのやり取りが簡単にできる仕組みが備わっています。

ただし、ゲストがmacOS 13(Ventura)以降の場合にだけ利用できます。

UTMの設定画面から共有フォルダを追加するのではなく、メイン画面でmacOSの仮想環境を選んだ状態で、右下にある「新規共有ディレクトリ」をクリックして追加する仕組みなのでちょっと変則的です。

図:ここからディレクトリの追加は出来ない

図:共有するとこのように表示される

リカバリモードを使う

Apple SiliconのmacOSは電源ボタン長押しリカバリモードに入ることが可能です。しかし仮想環境の場合電源長押しなんていうアクションはやりようがありません。しかし、UTMは違います。Apple Silicon macOSのリカバリモードに対応しており対象仮想環境を右クリック→復旧を実行で簡単にリカバリモードで起動させることが可能です。

これはUTM 4.2.5以降から対応してるため、SonomaでなくともMontereyでも動作すると思います。

リカバリモードではTimemachineからの復旧やセキュリティをあえて落としてレガシーシステム拡張機能を動作させるなどの実験を行うことができるため、実機でやるにはちょっと・・・といったテストを仮想環境で実験することが可能になります。

図:直接リカバリモードで起動可能

図:リカバリモードで起動できた

ISOファイルを利用する

インストーラからISOファイルを生成する

通常、UTMでmacOSの仮想環境を構築する場合にはIPSWファイルが必要です。過去のIPSWなどのファイルについてはこちらのサイトからAppleからの直リンクを拾うことができるので、そこからIPSWファイルを手に入れると良いでしょう(UTMはデフォルトではIPSWを指定しない場合、自動的に最新版のmacOSのIPSWをダウンロードしてインストールが開始されます)

一方で、App Storeから毎回macOSのインストーラを手に入れてる人は、アプリケーションフォルダ内に「macOS Sequoiaインストール」みたいなファイルがいるハズ。これをそのままUTMで利用することは出来ないので、ISOファイルに変換が必要です。hdiutilを使ってターミナルから変換が可能です。

以下はshファイルを作成して実行する場合のコマンド群です。

  • hdiutil createでsizeにてテンポラリのimgファイルのサイズを指定していますが、サイズが足らない場合、「/Volumes/sequoia is not large enough for install media. An additional xx.xx GB is needed.」とエラーになります
  • hdiutil attachでインストーラファイルをマウントしています
  • sudoで実行してる部分がUSBメディアを作る場合と同じことをテンポラリのimgファイルに対して行っています。ここで管理者パスワードを求められるので入力します。
  • hdiutil ejectにてインストーラファイルをアンマウントしています。
  • hdiutil convertでimgファイルをisoファイルに変換しています。デスクトップにファイルが作成されます。

後述のMarvericksの項目では古いIntelモデルのInstallESD.dmgファイルからISO変換も行っています。同様のスクリプトで過去のインストーラもISO化しておくことができるでしょう(pkg形式の場合は、ダブルクリックでインストール実行するとアプリケーションフォルダにインストーラが生成されます)。

但し、Apple SiliconのmacOSをVMにインストールするという目的のためにISOファイルは使えません(あくまでもIPSWファイルからの復元のみ)

図:ISOファイル作成中の様子

ISOからインストールはできるのか?

UTMはVMware Fusionと違い、インストーラのappやISOからのOSインストールが原則できません。新規にVMを作成した時にIPSWに含まれてるファームも含めて利用して環境を構築してるため、空っぽの状態だとISOイメージを追加しても、そもそもブート自体出来ません。

しかし以下のパターンの時だけはISOイメージからの初期化が可能です。

  • すでに先に別のmacOSのVM環境が存在して起動できる状態にある
  • インストーラからISOファイルを生成し、VMにはディスクとして追加してる

この状態で、前述のリカバリーモードで起動すると、インストーラが認識されてる為、そこから復元することが可能です。既に入ってるVM環境を初期化してインストールすることになります。別の空のディスクを使う場合には、事前にディスクユーティリティからAPFS(GPT)にてフォーマットしておかないと、ディスクとして認識されません。

メリットとして、すでに構築済みのVMに対して新しいOSのアプデを適用即座に適用できる点。もちろんOS本体はApple IDでログインは出来ずともアプデは受け取れるのでこの手法である必要はないものの、この利点はケースによってはありがたい。

図:MontereyのVMでリカバリモードで認識

プレビュー版のインストール

macOSは正式リリース前にデベロッパー向けにBeta版やRC版がApple Developerから入手して先行してテストすることが可能です。この際に手にいれるIPSW形式のファイルを使って、UTMにてmacOSの仮想環境を構築して利用することができます。

ただし大抵、XCodeのプレビュー版も必要なので以下の手順で両方導入しましょう(XCodeはUTMじゃなくホスト側のOSにインストールする)。以下の事例はmacOS Sonomaのプレビュー版での事例になります。

OSのダウンロード

Public Previewの段階でApple Developer Programで登録してるApple IDでログインして作業が必要です。

  1. こちらのサイトにApple IDでログインする
  2. まずは、macOSのプレビュー版のipswを入手する必要があるので、こちらのサイトを開く
  3. macOSのところにMac computers with Apple siliconという項目があるのでクリックするとipswファイルがダウンロードされる。
  4. ちなみにpkg形式はUTMでは使えませんがこちらから直リンクでダウンロードが可能です
  5. 3.だけでは足りないので、XCode Betaをホスト側にインストールが必要なので手に入れるのですが、Applicationsからはなぜかダウンロードできないので、こちらのサイトを開く
  6. XcodeのDownloadをクリックすると、appleから直接xip形式でダウンロードされる
  7. ダウンロードされたxipファイルをダブルクリックして、中身を取り出す
  8. Xcode Betaをインストールする。このとき、iOSにもチェックを入れておく

これで、OSインストールの準備が整いました。

図:Sonomaには最新のXcode Beta版が必要

OSのインストール

インストールはここまで来たら、Montereyなどと同じように進めることが可能です。最新BetaのUTMを用いてインストールします。Guest Toolsとかは無いのと、色々な問題点は同じですが、色々先にお試しできますしVirtualizationなので十分なスピードが出ます。

  1. 新規仮想マシンを作成をクリック
  2. 仮想化を今回は選択
  3. macOS 12以降をクリックする
  4. ダウンロードしておいた、ipswファイルを指定して次に進む
  5. RAM 8GB, 4コア, HDDは120GBで指定しました
  6. 自動的にインポート作業が開始されます。
  7. インストールが終わるとサイドバーにmacOSのアイコンが出現します
  8. 10分くらいバックエンドでインストール作業が進む。
  9. 完了するとHelloの文字とともにセットアップが開始されます
  10. 途中のApple IDでのログインはできませんのでスキップが必要です。

新機能やUTM上での挙動などはこれから調べますが、Monterey同様に仮想化でも問題なく動作します。既にParallelsでもインストール方法が掲示されています。Sonomaの情報はこちらからどうぞ。

図:ipswから復元中の様子

図:Sonomaのセットアップ画面

図:あっさりインストール完了しました

Mac OS 9.2.1

これまで、PPCなMac OSについては、SheepShaverを使い、68KなMac OSについては、BasiliskIIという専用のエミュレータを使うのが定石でした。長く開発されていて完成度が高く、驚くべき事にまだ開発は続いています。しかし、ことPowerPCのエミュレーションについては、SheepShaverが対応しているのは仕様上Mac OS 9.0.4まで、それ以降の9.2.1やPowerPCのMac OS Xなどは対応しておらず、PearPC等がありましたが、随分前に開発停止の状態です。

そこで、今回はUTMを利用して、Mac OS 9.2.1日本語版をインストールしてみようと思います。予め、インストールディスクはISO形式で抽出してファイルにしてあります。アップデータで9.2.2にすることも可能です。

※OS9のアプリを動作させる選択肢はもう一つあり、後述の10.4 TigerのClassic環境を構築することでも利用可能です。但しこちらのほうがデスクトップを扱えて軽量です。

※UTMことQemuにはm68kのCPU設定はあるものの、Macintosh 68Kは動かせない模様。なので、そちらを動かしたい人は、BasiliskIIを利用しましょう。Qemu Wikiには設定があるのですが、UTMでは細かくパラメータ指定ができない故。

M1 MacでもPowerPC MacOSを動かしてみた

M1 Macでも68K MacOSを動かしてみた

OSのインストール

Mac OS 9については、ギャラリーに既に設定用のファイルが用意されており、これを使ってセットアップを行います。

  1. 設定用ファイルのページのOpen in UTMをクリックする
  2. 設定がインポートされるので、仮想環境を右クリックして、Editで設定に入る
  3. PowerPCの場合、RAMは最大1GBまで指定は出来るのですが、指定すると音が出なくなるバグが存在するので、512MBまでにしておきます
  4. NetworkがEmulated VLANのままだと、ホストと通信が出来ないのでBridge(Advanced)に変更する
  5. IDEデバイスのCD-ROMにMac OS 9.2.1のISOファイルを指定し、順番をIDEのディスクよりも上にしておく(起動順番を変える為
  6. 仮想環境を起動する。OSの起動は結構時間が掛かりますし、よくフリーズします(これはOSそのものが不安定であるため)
  7. 起動が完了したら、5.の中にMac OS 9のインストーラがあるので、実行してインストールを完了させます。
  8. 一旦シャットダウンする
  9. 5.の設定に於いて、IDEの起動順番をCD-ROMをIDEディスクよりも下げておく(これでCDから起動しなくなります)
  10. 再度起動して、🍎をクリック⇒コントロールパネル⇒モニタに於いて、画面解像度を大きくしておきましょう。

Mac OS 9用のSPICE Guest Toolsは無い為、クリップボード共有やフォルダの共有、画面のサイズの動的変更などは出来ません。この辺りはSheepShaverは対応しているので、さすが専用エミュレータです。しかし、サウンドとネットワークに関しては既に使えるようになっています。IE5.1.6阿部寛氏のホームページを開いてみたら開けました(他のhttpsなページは流石に全滅ですが)

なお、日本語UIMのことえりは、Commandキー+Spaceキーでオンオフしますので注意。

図:メモリは最大512MBまでにしておく

図:インストール中の様子

図:画面解像度はモニタ設定から行う

図:IEでネットもつながりました

ゲストから抜ける設定キー

WindowsやUbuntuはGuest Toolsのおかげでいちいち意識せずに仮想環境とホストをマウスで行き来出来ますが、それが無いMac OS 9の場合は、いちいちゲストから抜ける場合にはゲストから抜けるキーを使ったり、また入る場合には右上のCapture Mouse Cursorのボタンをクリックしないと、マウスカーソルが動きませんし、出られません。

UTMのメニューにあるPreferencesにはこのキーを「OptionキーとCommandキーの組み合わせ」に変更する設定があるので、自分はこれをオンにしています(VMware Fusionも同じ設定な為)

図:ゲストから抜けるキーの設定

図:ゲストに入る為のボタンはコレ

ホストとの共有手段

これが一番苦労します。既に現在のmacOSはAFPが利用出来ないので、Mac OS 9で標準のプロトコルでの通信に未対応です(BigSurで廃止されちゃった)。また、Web共有でゲスト内のファイルをホスト側が見たり手に入れる事は出来ても、送ることが出来ない。かといって、Sambaに簡単にアクセス出来るわけじゃない。この辺りもSheepShaverは対応していて、ホスト側の環境は見えるように仕組んでくれています(Unixというドライブとしてボリュームが見える)。

UTMではどうやってやり取りをするかを考えると

  1. FTP対応のルーターを用意する(例:ASUS TUF AX3000は対応しています)。Mac OS 9側にFTPクライアントを入れて受け渡しを行う
  2. 空のVMDKファイル(FAT32でフォーマット済み)を用意。macOS側はParagon VMDK Mounterで読み書きし、UTM側はこれをドライブとして接続可能です。リアルタイムのやり取りは出来ないですが、1.用のアプリやStuffit Expanderなど必要なものを予め詰めて渡してあげる
  3. USBメモリ機能がUTMにはあるものの、手元のUSBメモリを接続してみても、OS9では認識しませんでした(FAT32なんだけれど・・・)
  4. afpプロトコルを使える別のマシンを用意する
  5. Windows9x側にPC MACLANを入れてApple Talkを使えるようにする
  6. DAVE6をインストールしてなんとかする

UTM側の設定で、IDEのディスクイメージをRemovableとして追加し、メイン画面下にあるRemovableをクリックして、Browseで空のVMDKを指定すれば、Mac OS 9側ではボリュームとして中を見ることが可能です。一度渡してあとは、FTP経由でやり取り出来るようにすれば問題ないと思います。ウェブブラウザはもうまともに動くものが無いと思うので、そちらは諦める・・・

また、試しにVMware Fusionで過去のMac OS Xでafp経由で直接接続した所、UTM内の共有フォルダが見えました。ただとても手間が掛かるものなので、常用するにはちょっと不便ではないかと。

過去の資産などを動かすのには使えるかもしれませんね。Mac OS 9だけじゃなく、Mac OS X 10.xのPowerPC版も動かせるようなので。

図:VMDK内のファイルが見られた

図:VMDKを読み込ませる設定

図:afp経由でやり取りは可能だけれど

図:FTPでAsus TUF AX3000に接続してみた

Chrome OS Flex

OSのインストール

2022年2月にリリースされたばかりのChrome OS Flex。VMwareやVirtualBoxでは利用出来なかったのですが、Qemuでは動くという事を耳にしたので、色々試してみた所、以下の手順でUTMにて動かす事が出来ました。インストールはまだ試していないので、イメージファイルからのブートだけです。

  1. このURLからChrome OS Flexのディスクイメージを直接ダウンロードする(最新版はこのページChromeOS Flex インストーラ イメージから手に入ります。)
  2. 1.を解凍するとbinファイルが手に入るので、拡張子をqcow2に変更する
  3. UTMでまず適当にVirtualizeで仮想マシンを作る。ISOは一時的に2.を指定する
  4. Finderで3.の仮想マシンを探しだし、パッケージの中身を表示⇒imagesに入る
  5. 2.のファイル名をdata.qcow2に変更する
  6. 4.の中のdata.qcows2と5.のdata.qcows2を差し替える
  7. UTMのIDEデバイスでCD-ROMが存在するので、それは削除してしまう
  8. 新しくドライブを追加し、NVMeの64GBくらいで追加しておく
  9. インストールが完了してシャットダウンしたら、2.のディスクイメージは削除する。

つまり、Chrome OS FlexのディスクイメージってQemuベースという事なので差し替えてしまうわけです。

UTMの設定を変更

次に以下のように仮想マシンの設定を変更します。色々試してみたのですが、キーボード入力できなかったり、ロゴで止まったりした中で、以下の設定はきちんと入力も出来たのでベストなのではないかと。

  • Architecture : x86_64
  • System : Standard PC (Q35+ ICH9, 2009)(alias of pc-q35-6.2)(q35)
  • UEFIやRNG Bootのチェックは外す
  • CPU : Default もしくは Haswell
  • Core : 4
  • RAM : 4096MB
  • Use Hypervisorにチェックを入れる(ホストがM1の場合出てこない)
  • Display : virtio-vga
    但し、GPU Supportedがないものだと、描画がものすごく遅いが、セットアップ時はこの設定じゃないとキーボードが入力出来ない。
  • Input : Legacy PS/2 Modeにチェックを入れる
  • Network : Bridgeにて、virtio-net-pciを指定
  • Sound : Intel HD Audio Controller (ich6) (intel-hda)

インストール時のアカウントとパスワード入力がかなり遅いが、インストールが完了したらDisplayをvirtio-gpu-gl-pci(GPU Supported)に変更すれば、あとは問題なく利用出来ます。

図:アップデートも出来ます

トラブルシューティング

USキーボード配列になってしまう点がちょっと気になる。+キーはShift+〜キーで、@はShift+2キーとなる感じ。これを変更する場合は以下の通り。

  1. 設定アプリを開く
  2. 詳細設定以下にある「言語と入力方法」を開く
  3. 右パネルの「入力とキーボード」を開く
  4. 入力方法は、英数字(日本語)キーボードと、日本語のみの状態にする
  5. これで、日本語キーボードに対応したキーアサインに変わる

図:JPキーボードに変更しておく

Linux仮想環境についてはインストールしてみましたが、表示は出てこず。ファイル共有に関しては、Google DriveやSambaが使えるのでダイレクトではないものの、他と違って困る事は無いのではないかと。

Youtubeの動画を見ると画像が乱れる。音はきちんと出ますが。。。ちょっと違うパターンで正しく再生できるものを見つける必要有り。

ちなみに日本語入力はOptionキー+Spaceでオンオフとなります。

図:バッチリ動いてしまった

WindowsNT 4.0 Workstation

自分の人生で3つ目に使った現在のWindowsの祖先に当たるOS。今回、手元に残っていたNT 4.0 Workstationを入れてみたいと思い調べてみたのですが、非常に手間が掛かりました。何よりも旧時代のOSが故に現代のOSになれていると、嵌るポイントが沢山あります。当時はWindows95よりはるかに安定していたので、ゲームをやるならNT4.0という選択をしていた人もいました。

最新の実機でインストール挑戦してる人がいました。

図:堅牢で安定した初のOSと言えます

インストール作業

仮想環境の準備

UTMでWindowsNT4.0を動かすのはかなりシビアです。その為、以下のような設定で仮想環境を用意する必要があります。セットアップ時はRAMは256MB以下でないとハングするという症状があったり。SP6以降はそれ以上でも大丈夫のようだ。

WindowsNT4.0をQemuで動かす場合、CPUはPentiumでなければブートしないので嵌りどころです。また、通常はSound Blaster 16指定で音が出るはずなのですが、後述のトラブルでドライバが当たらないので、AC97を選択しています。

※ちなみに、NT4.0はx86だけじゃなくPowerPCやMIPS, AlphaなどのCPUでも動作していましたので、アーキテクチャを変えても動作する可能性があります。

USBは無効化しておく必要があります。有効のままだと起動できなくなります。

図:細かなセッティング指定が必要

OSのインストール

WindowsNT4.0のディスク自体はCDブート可能であるので、インストールそのものはそこまで難しくありません。しかし、放置しておくと必ずCDから自動でブートしてしまうため、インストールが完了したらCD-ROMの起動順序をUTM上で下に下げておかないと再起動のたびに毎回、セットアップが始まってしまいます。

また、使用許諾の画面はPageDownで下まで行かないと次に進めないのですが、macOSでPageDownを実現する場合は、Fnキー + ↓キーとなります。

Windows95やXPなどと違って、所々見慣れないセットアップ箇所がありますが、なんとかなります。Ethernet Driverですが、セットアップ中に認識してくれるので、pcnetやne2k-pciを通常使います。今回は後で、rt18130のドライバを入れるのでインストールしなくても結構です。

ここで嵌りどころですが、NT4.0にもPlug and Playはあるにはあるのですが、Windows95と違い、UTM上で設定変更しても再認識したりしないばかりか、一度認識したものは手動で変更しないと、そのドライバで運用が続いてしまいます(sb16外したのに何故か認識し続けてた)これは、NT4時代のPlug and Playの嵌りどころです。

図:セットアップ開始。苦行の始まり

図:当時は個人でNT4.0はワクワクしたもんです

図:NICを認識した様子

図:ログオン画面がちょっと厄介

Installing Windows NT 4 into QEMU/KVM

SPを順番に当てる

インストールが完了したらログオンするわけですが、Ctrl+Alt+Delを毎回しなければなりません。macOSでそれを実現するには

Control + Option + fn + backspace」4つで実現が可能です。

インストール直後はNIC以外のサウンドやグラフィックなどは認識していない16色の小さい画面のままです。ドライバを先に割り当てたい所ですが、一部のドライバがSP3以降でないと使えないケースがあるので、まず先にService Packを順番に当てていきます。ファイルの受け渡しはmacOSでISOイメージを作成し、その中にSPやIE、ドライバの類を一纏めにして、CD-ROMとして渡します。

SPの類はいきなりSP6にする事が出来ず、またIEなどは順番にアップデートしないとIE6がインストール出来ないというトラップがあるので、以下の順番でファイルを入手してアップデートを繰り返して行きます。こちらのサイトがインストール手順は詳しいです。

  1. こちらのサイトからService Pack 4を順番に当てる(AT版をダウンロードして実行して再起動)
  2. こちらのサイトからIE4.0SP2を入手してインストール
  3. こちらのサイトからService Pack 5と6を順番に当てる
  4. SP6の後にでたパッチのまとめである、セキュリティロールアップパッケージを当てる
  5. こちらのサイトからIE5.5⇒IE6.0SP1を入手してインストール
  6. WindowsNT4.0のCDの中にあるdrvlibj⇒pnpisaの中のx86を開き、pnpisa.infを右クリックしてインストールする(ISAバスをPnPで認識する為のドライバ)

これでOS自体のインストールは完了。ここまでは割と素直に進めると思います。

図:IE4.0を入れてる様子

図:Active Desktopが有効になった様子

デバイスドライバを割り当てる

ここからもっともハードルの高いデバイスドライバの変更を行います。NT4のPlag and Playは非常に低機能で、Windows95以降のPlag and Playとは違っておまけ程度の機能なので、基本デバイスドライバは手動で割り当てる必要があります。UTM側と食い違いがあっても動いてしまうのは再認識されない為。よって、必ずUTM側の設定に合わせてデバイスドライバを割り当てるようにしましょう。

モニタ解像度の変更

まず、16色なグラフィックをどうにかしますが、通常はCirrius CLGD 54xxVGAであればNT用ドライバがあるので確かに変更して、True Colorで1280x768といったサイズも使えるのですが問題は「マウスカーソルが透明になる」「あちこちにマウスカーソルが飛びまくる」と不具合が多発します。よって標準のドライバが使えません。vmware svgaも実は使えるので、VMware Fusionで動いていたものを変換した場合は、そのドライバを当ててもOKなのですが、今回はWindowsNT4用に独自に開発されてるこちらのサイトのドライバを利用します。

  1. サイトにある「Release version beta 2015.01.01」をダウンロードして解凍し、NT4側へ渡してあげる
  2. UTMのDisplay項目にて「Spice QXL (primary, vga, compatible)(qxl-vga)」に変更して起動する
  3. デスクトップを右クリック⇒プロパティを開く
  4. ディスプレイの設定タブを開いて、ディスプレの種類を開く
  5. アダプタの種類の変更をクリックする
  6. ディスクを使用をクリック
  7. 1.のファイルの中にあるvbe30フォルダを開き、NT4フォルダの中にあるvbemp4.infを選択する
  8. AnaPa Corp VBE Miniportがあるので選択する
  9. 再起動する
  10. 3.の作業後に、カラーパレットをTrue Colorに変更し、デスクトップ領域を1280x720に変更しEnterキーを押すと解像度が変わる

マウスカーソルが消えたりはしなくなりました。ただ、時々カーソルキャプチャを押すとマウスがあちこち飛ぶ現象が出る場合がありますが、再起動すれば治ります。

図:これでフルグラフィックスで使える

ネット接続

標準ドライバのAMD PC-NET Famliyのドライバ(pcnetの場合)でも、Ethernet通信は可能なのですが、今回はRealtek 8139に変更してみます。UTM側ではネットワークカードはrtl8139に変更しておくこと。また、ネットワークモードはBridgeにしておきましょう。

  1. こちらのサイトからNT4用デバイスドライバを解凍して、NT4側に渡してあげる
  2. WindowsNT4,0を起動する
  3. スタート⇒コントロールパネル⇒ネットワークを開く
  4. アダプタを開きが1個もない状態にする
  5. 追加をクリックして、ディスクを使用をクリック
  6. 1.のドライバの中のoemsetup.infを選択する
  7. ドライバが割り当てられて、バインドが始まる
  8. プロトコル⇒TCP/IPを開き、DHCPサーバからIPアドレスを取得するに変更しておく
  9. 再起動して、他のドライバがコケたりしていなければこれで準備は完了。一旦再起動する
  10. コントロールパネルのインターネットオプションを開く
  11. 接続⇒セットアップをクリックする
  12. ローカルエリアネットワークを選んで進む
  13. 次の項目もLANを選択する
  14. プロキシ関係は特に何もしないのでチェックを外す
  15. メールアカウントは不要なのでいいえを選択
  16. IE6が起動してエラーページが出るので、阿部寛氏のページ「http://abehiroshi.la.coocan.jp/」を開いて表示されれば成功
  17. command.comでipconfigを打って、IPアドレスがきちんと出ればちゃんと接続出来ています。

図:無事にEthernetが認識されました

図:LAN接続を選ぶ

図:ipconfigで調べてみた様子

サウンドカードを認識させる

これが最も難しいのと、サウンドカードの認識がされていないと、ネットワークカードの認識がされていてもネットに繋がらないという謎のバグがあるので、かなり嵌るポイントです。また、通常はsb16で殆どのOSは認識するはずなのに、NT4.0は「The port is in use by another part of the system」というエラーが出て、Port220が何かに掴まれていて、sb16が利用できません(厳密にはIRQ5が何かに使われてる)

PnPISAやPlag and Playの設定をオンオフして検出させる方法も試してみましたが、結局同様のエラーで使えず。ということで、RealtekのAC97のドライバを割り当てて、こちらのサイトを参考にSciTech Snap Audio for NT4を使ってループバックで音を拾ってみたけれど、かろうじて再生できてもカックカク。そもそも、Realtekのサウンドドライバ自体当てても「ドライバは使用可能ですが、起動されていません」ということもありました。

そこでこちらのサイトのヒントで「Intel 440 Chipset driver」を当てたところ、AC97で無事にサウンドが出るようになりました。

  1. UTMにてサウンドはIntel 82801AA AC97 Audio(AC97)へ変更しておく
  2. こちらのサイトのデバイスドライバをダウンロード(こちらのサイトにも掲載されてるがいかほど?)
  3. 解凍すると中に「Vinyl_AudioCodec_V550a.zip」が入ってるのでさらに解凍する
  4. 解凍されたA1u550aフォルダをNT4側へ渡してやる
  5. NT4側でsetup.exeを実行する
  6. Install Driverで進める
  7. Intel ICH/ICH0/ICH3/ICH4 Driverを選択してNextをクリック
  8. あとは指示に従い最後までインストールしたら再起動
  9. 起動音を楽しむことができます。

図:インストール中の画面

図:VIA PCI Audio Controllerとして認識

図:WinampでMP3再生してみた

Windows NT4.0 起動音

ファイル共有

Windows95と異なりネットワーク機能が強化されているWindowsNTの場合、標準でNASにアクセスして開けます(SMB1.0)。また、ISOファイルで受け渡しといった手法やもちろん、FTP接続でも利用可能ですが、SPICE Guest Toolsなど無いのでホストとゲストの直接的なやり取りはISOファイルでのやり取りや、qcow2をマウントしてのやり方しかありません。

Sambaに接続可能なので、いくぶん楽にファイルのやり取りはしやすいと思います。

図:TUF-AX3000のNASが開けた

トラブルポイント

WindowsNT4.0はWindows95と異なり、かなりインターフェースが異なる部分があります。デバイスマネージャ等はなくコントロールパネルにデバイスという項目があるだけ。また、サービスも非常に簡素が画面です。また、Plag and Playも一度サービスを停止して、再度オンにし、PnPISAをインストールしていたら一旦無効⇒有効にして再起動すると、新デバイスが認識されるなど癖が強いです。

また手動でデバイスドライバを割り当てる関係上、古いデバイスドライバ等が有効の状態でデバイスの一覧に残ってたりしますので、手動で外す必要性もあります。デバイスのPortやIRQの競合などを確認するには、Windows NT 診断プログラムから自分で調査しなければなりません。

特にサウンドカードの認識は大変苦労しました。しかし、Windows95のようなOS自体の不安定さは全く無く、一度セットアップ出来てしまえば9x系のゲームも利用可能なので、DOSアプリを使うということでないのならば、UTMで9x系を動かすよりもNT4.0で環境を作ったほうがトラブル無く動くというメリットがあります。

尚、NT4.0はシャットダウンをしても自動で電源が切れませんので、シャットダウン後再起動ボタンが出た画面で、UTMのウィンドウをそのまま閉じて終了となります。

※一太郎8+ATOK11を入れてみましたが、英数キーで日本語オンオフが普通にできました。

図:随分と見慣れないUIが多い

図:9x系のゲームも動きます

図:一太郎8とATOK11を入れてみた

Windows2000 Professional

Windows NT4.0の後継でWindowsMeとXPの間を担った業務用のOSです。WindowsMeが不安定過ぎた為、WindowsXPが出るまでの間、一般のユーザからも強い支持を受けた堅牢なOSでありながらメディア系も強化されたOSがWindows2000。

ウェブを探索すると、QemuではWindows2000は起動しないようなコメントがあったのですが、とりあえずインストールしてみました。

図:自分も随分お世話になったOSです

インストール作業

確かに設定がシビアなのですが、NT4.0 Workstationと同様の設定であれば、インストール作業自体は出来ます。ディスクフォーマット後の再起動でPage Faultのエラーが出たりしましたが、再度ブートさせたらセットアップ画面に行けます。

NT4.0と異なりPlug and Playがしっかりしているので、ドライバを手動で割り当てるみたいな面倒な作業が無いのが良いです。使用した設定は以下の通り。

NT4.0同様にQemuで動かす場合、CPUはPentiumでなければブートしないので、CPUの明示的な指定をしています。セットアップ中の画面は、キャプチャーボタンを押さずともゲスト⇔ホストをマウスカーソルが簡単に行き来できるので、楽です。

また、特殊な設定等も無いので(途中ドメインの参加の画面があるくらい)、セットアップ自体で躓くこともないと思います。セットアップが完了したら、UTMからWindows2000のディスクを外して通常の起動をさせます。

結果、無事に起動しました。サウンドもバッチリ認識、ネットワークカードも問題なし。但し、VGAとUSB関係がまだNGの状態でした。ネットにも問題なく接続出来ています。

図:エラーが出ても再起動してチャレンジ

図:セットアップ画面

図:ドメイン参加の画面

図:セットアップ直後のデバイスマネージャ

SP4までアップデートする

Windows2000はSP4までリリースされており、アプデのパックを当てる必要がありますが、既にサポート切れで通常の手段では入手が難しい。しかし、Windows2000に関しては、黒翼猫氏というWin2Kマニアの凄いサイトがあるので殆どが入手可能です。本当の最後のアプデパッチは、「Windows 2000 SP4 用の更新プログラム ロールアップ 1」なのですが、Webarchiveに残っていました。(Windows2000-KB891861-v2-x86-JPN.EXEがソレなのですが、自分は所持していたので今回当てます。)

何故か、101英語キーボードとなってるので、¥マークは「む」のキーで入力します。Windows2000は起動が遅いので再起動時はゆっくり待ちましょう(フリーズしてることもありますが)

  1. ネットワークが使えるので、NAS経由でアプデパッチを当てていきます。
  2. SP4のインストーラをWindows Updateの片隅に残されてるものからも取れるので、ダウンロードしてアップデートして、再起動する(W2KSP4_ja.EXE
  3. 次に、Update Rollup 1 for Windows 2000 SP4をダウンロードして、アップデートして再起動する
  4. IE6は既に配布終了なので、サルベージされてるこちらのサイトからダウンロードしてインストールして再起動する(IE6SP1JPN.exe
  5. Windows Update Agentをダウンロードしてインストールする
  6. Windows Legacy Updateを開き、手動アップデートをクリック⇒「ルート証明書の更新プログラム」を検索して出る「Update for Root Certificates Mar 2021」をクリックしてダウンロードする。拡張子がwluのファイルが手に入ります
  7. 黒翼猫氏のサイトから、wlupdate v1.5aをダウンロード。解凍し、6.のファイルをwluupdate.vbsにドラッグアンドドロップしてルート証明書を更新します
  8. 不要だと思いますが、Windows2000に137GBのBigDriveを認識させるレジストリのエントリを入れると尚良いかもしれません。
  9. その他必要な追加のアプデは黒翼猫氏がまとめています。

この段階ではDirectX9.0cや.Net Frameworkがまだ入っていませんが必要ならば調達してインストールすると良いです。

図:いきなりSP4にアプデ可能です

グラフィックアダプタの問題

一番の問題はやはり、グラフィックアダプタ。現在すでにQemuではCirrus Logicを指定するのは非推奨となっていて、実際NTの時にはマウスカーソルが消えたり飛んだり、エミュレーション精度がとても悪くUTMでも使えませんでした。公式サイトには指定があるのですが。

vmware-svgaがあるので、VMware Toolsからドライバを持ってこれれば使えるのではとは思うのですが。Hounsellドライバーパックの中にVMware SVGAIIのドライバが入っているのですが、Webarchiveからv6.5v7.0がダウンロード可能です。vmware-svgaに変更してドライバを当てたところ、VMware SVGA IIとして認識されました。

ただ、実際にUTMのDisplayの設定をCirrius CLGD 54xxVGAに変更したら何の問題もなく、ディスプレイアダプタが変更されて、認識されました。

図:Cirrusのドライバで問題なかった

図:ディスプレイ解像度を変更してみた

図:vmware-svgaでドライバを当ててみた

不具合の修正

日本語キーボードに変更

何故か、USキーボードで認識されているので、以下の手順で日本語キーボードに変更します。

  1. コントロールパネル⇒システムを開き、ハードウェア⇒デバイスマネージャを開く
  2. キーボードの項目が 101/102のキーボードになってるので選択して、右クリック⇒プロパティを開く
  3. ドライバ⇒ドライバの更新を開く
  4. このデバイスの既知のドライバを表示して、その一覧から選択するを選択する
  5. このデバイス クラスのハードウェアをすべて表示を選択する
  6. 標準キーボードの中に日本語 PS/2 キーボード 106/109キー Ctrl+英数というのがあるので選択する
  7. 警告が出たら「はい」を選択する
  8. デジタル署名どうこうが出ても「はい」で続行
  9. これで日本語キーボードに変更が出来ます。

図:この作業は必須の作業だと思います

残ってる不明なデバイス

ここまで来た段階でいくつかの不明なデバイスはもう解消していて4つ程度残っています。しかしこれは解消せずとも問題ないので、そのまま自分は放置しています。UTMのGithubのスレッドには同様の報告があがっていますが、下手に変更して他のデバイスが動かなくなるということもあり得るので、この問題点はノータッチで問題ないです。

図:ネットもつながるし十分使えます

Windows95 OSR2

1995年、色々な意味でターニングポイントだった年に発売され、世界を大きく変えたと言えるOS「Windows95」。その若干修正が加わったOSR2と呼ばれるバージョンをインストール出来るか?挑戦してみました。当時は深夜発売に人が並び、何本でも買ってってくれーという店員の声が響き、PC持っていないのにワケも分からず買っていった人も居たという。

当時FMV DeskPower Sを初めて購入し、1週間で圧縮エージェントでCドライブを圧縮して起動不可能にし、DOSから泣きながら復旧した記憶があります。今の自分を育ててくれた伝説のOSです。

※手抜きでVMwareの仮想マシンから変換掛けたら行けるか?と思いましたが、PS/2マウスが接続されてないエラーが出て操作できず。素直にゼロから構築し直しました。VMwareからのqemu-img変換はうまくいかないケースが多いですね。

図:本当にお世話になったOSでした

Windows 95 Easter Egg - Product Team

動画:Win95のイースターエッグ

ウィンドウズ95発売で大騒ぎ 初期のTBSネットショッピング パソコンに四苦八苦する橋本龍太郎氏

当時の様子その1

当時の様子その2

OSのインストール

仮想環境の設定

UTMでWindows95用のセットを作るのですが、これがなかなか良いのが調整できず。色々と調整してみて調べた結果以下の設定がベストと判断し、この状態でインストールすることにしました。結局次項のWin98と同じような設定を使っています。

但し、一部の設定はそれではうまく認識せずでしたので、CPUやネットワークを変更。ディスプレイは後ほど別のものに変更します。

図:なかなか設定が難しかった

FDDイメージの用意と作業

当時のWindows95はFDDで起動させてCD-ROMドライバを読み込ませて、プロンプトからCDにアクセスしてsetup.exeを叩くという仕様でしたので、ブータブルなんて素敵な機能は存在しません。よって、ISO化してもそれだけでは起動しません。こちらのサイトにFDDイメージの作成方法やブータブル化があるので参考にして作ってみましょう。

また、FDDから起動できてもディスクが空っぽなので、fdiskを使ってパーティションを切りアクティブにして、FAT16でフォーマットする必要があります。この辺の手順はこちらのサイトが詳しいです。インストーラ起動までのハードルが異様に高いのです。こちらに英語版のディスクイメージもあったりします。

※面倒な場合は、他の仮想環境で空のHDDイメージを作って接続し、コンピュータの管理からパーティション切って、FAT16でフォーマットしたものを差し替えるのでもオッケーです。

インストーラの起動

DドライブにCD-ROMが入ってることになってるので、コマンドプロンプトで移動しsetup.exeを叩くとインストーラが起動します。あとはマウスも使えますし、指示に従ってシリアル番号を入れたりオプション指定したりして、インストールすればオッケーです。

但し、これでは終わらないのがWindows95。このままでは色々と不具合がたくさんあり、うまく動作しません。

図:インストーラが起動した

不具合の修正

Windows95ならではの問題点

Win95は半分MS-DOSで半分Windowsといったような感じのOSで、16bit/32bitが同居してる変なOSです。また、MS-DOSの頃同様にCPUが高速すぎる保護エラーが起きて起動しなくなるという割と面倒な欠陥を抱えています。この問題は、OSR2では発生しませんが、Windows98のFirst Editionでも発生するのでこの手段で解決できるかもしれません。

  1. これを解消する手段は初回セットアップが完了したらシャットダウン
  2. FIX95CPU_V3_FINALをダウンロードする
  3. Readmeに従ってISOで起動させる⇒パッチを当てると高速なCPUでもエラーが起きずに起動出来るようになる。

という仕組みが用意されています。

図:ちょっと不気味な速度調整パッチ

プラグアンドプレイBIOSを修正

次項のWindows98SEでも同様の問題が発生します。ので、同様の手順でこれは修正が可能です。

  1. こちらのサイトのISOファイル(Win98tools.iso)をダウンロードして、UTMにてドライブを追加し、読み込むように設定する
  2. 1.の中身をデスクトップにコピーしておく
  3. Windows98のISOに入れ替える
  4. デバイスマネージャをもう一回開く
  5. プラグアンドプレイBIOSを開き、ドライバ更新にて、PCIバスに変更する(追加でドライバが割り当てられる)
  6. ここで一旦再起動をする
  7. 色々と追加でデバイスが認識されるようになる
  8. Intel 82441 FXについてはISOにドライバが入ってるのでコレを指定してインストールする
  9. ほかも同じようにドライバインストール(同じく再起動は行いません
  10. デスクトップにまでたどりついたら、ここで、Windows95を再度起動する
  11. 引き続き、IDEコントローラなどのドライバ組み込みが続きます

若干手順がこちらは少ないですが、これで各種デバイスドライバ類も組み込ませて、割とあっさりサウンドやネットワークカードについてはオッケーになります。

PC Bridgeの修正

実はまだ不具合が残っています。残っていても大した問題じゃないのですが、デバイスマネージャを見ると「PC Bridge」が黄色のマークで動いていません。これはIntelR 440 Chipset Family INF Update Utilityをインストールして再起動すると修正されますが、それでも一部は残ってしまいます。特に問題はないのでそちらは修正不要です。

図:一部はどうしても残ってしまう。

キーボードの修正

101英語キーボードの状態でセットアップが完了してるので、コンパネ⇒キーボードから106日本語キーボードに変更してみました。文字入力が101キーボードでは辛いのでこれはやっておきましょう。

図:問題なく日本語キーボードとして使えました。

モニタ解像度の変更

こちらも、後述のWindows98SEと同様の手順で修正することが出来ます。若干異なる場所が1つある。

インストール直後だと16色でモニタサイズが標準VGAのままで、解像度を変更出来ないので以下の手順で変更します。ということで、win98toolsに入ってるドライバに入れ替えてみます。

  1. あらかじめwin98toolsのISOからVESA Spice QXL Driversのディレクトリをコピーしておく
  2. UTMのDisplayをSpice QXL (primary, vga, compatible)(qxl-vga)に変更する
  3. Windows98SEを起動する
  4. デスクトップにwin98toolsでコピーしておいたものを指定するのに、「特定の場所の・・・」を選んで進める
  5. ディスクを使用をクリックして、デスクトップにあるVESA Spice QXL Driverを指定する
  6. VBE - Miniport Standard PCI Graphic Adapterが選ばれるので進める
  7. 再起動すると、競合してると出てるのでデバイスマネージャを開く
  8. Cirrius Logicを削除して再起動する
  9. 再起動して、色を32bit True Color - 1280x720に変更してもバッチリ動作する
  10. さらに以下のスクショのディスプレイの詳細にある詳細プロパティを開く
  11. モニタータブを開いて、変更をクリック
  12. 今回はSuper VGA 1280x1024を選んでおく(デフォルトは不明なモニタ)

これで再起動すると32bit TrueColorでフルサイズを指定できるようになる。

図:32bitででかい画面で表示可能

図:モニターは手動で指定が必要

ネットに接続する

Windows95ではpcnetで指定しないとLANカードが認識しなかったので、今回はこの設定で認識させています。あとは、初回のインターネット接続ウィザード的なものでLANで接続する設定をすれば接続が可能です。

ただし、なぜか自分の場合、Windows95のセットアップを標準で行ったハズなのに、コンパネのネットワークをみたらTCP/IPが入っておらず。IE4.0でネット接続をしようとしたら、Windows インターネット拡張機能で内部エラーが発生しましたというエラー表示が。追加したら無事に接続はできましたが、古いhttpサイトしか見ることは出来ません。

図:TCP/IPが入ってなかった・・・

試してみた

Office95のインストール

もともと高校の授業の為に購入したWindows95マシン。Office95も付属していたのでExcelやWordが使えました。当時は一太郎+Lotus123や、Microsoft Word + Excelの組み合わせの他に、OASYSと何かの組み合わせと妙なバンドル商法が流行っていました。自分はMicrosoft Officeモデルを選んで購入。そして現在はGoogle Workspaceのお仕事をしてるという。

なお、Office95 StandardはPowerPointも入っているモデルでした。この画面を見ると思えば遠くへ来たもんだとつくづく思う。でも、ExcelもWordも今と対して使う機能に差は無いように思う。値段だけが爆上がりしてる。。。

図:使う機能はこの頃から対して変わってない

Microsoft Plus!のインストール

Windows95の頃はデスクトップテーマやちょっとしたピンボールとか入ってるPlusは別売りで購入でした。実際にインストールしてみましたが、問題なく動作しています。インストールすると起動時のロゴにPlusが加わった画像に変わっただけで当時はすげぇと思っていたような時代でした。

ちなみにHoverという伝説のゲームがあるのですが、これはWindows95のCD-ROMのfunstuffというディレクトリ内に収録されていて今でも語り草になっています。仮想環境でもバッチリ動作しました。

図:Plusのインストーラ画面

図:ピンボールが入った

図:伝説のHover95

USB Supplement to OSR2

Windows98でも怪しい挙動のUSBですが、OSR2.1以降だとディスク付属のUSBsupp.exeをインストールするとUSBが使えるとかなんとか。実際に仮想環境のUSBを2.0に指定して、USBメモリを繋いでみましたが、ブルースクリーンになりました。駄目ですね。入れてはいけません。

そもそもインストールしていなくても、UTM側でUSBをオンにしてる状態でNGでした。インストールすると勝手にスキャンディスクが始まり、修復が完了しないとインストールが続行しないというちょっと変わった仕組みになっていました。

※しかしこの時代のUSBはUSBメモリのようなMass Storageが使えるようなものじゃなかった気がする(と思ったらあったようです。)ので刺してもつかえなかったような。しかも、この頃はUSB1.0とかの時代で、そもそもUTMにそのような選択肢は用意されていない・・・なぜかOracleのホームページにもUSBの記載がある。

※こちらのサイトにもUSB Flash Drive driver for Windows 95 OSR/2.1というものがあり、他にもDOS用のドライバやNT4用のドライバなんかもあります。

図:追補版USBという名称のようです

図:ブルスク落ち

.Net Framework 2.0

2024年4月17日、PC Watchのサイトに「Windows95に.net Framework 2.0をバックポートした男あらわる」というニュースが。そもそも、Win95時代は.net Frameworkなど存在せず、対応もしていないので動かない。にも関わらず、Windows98用のものをWin95にセルフ移植したものをGithubに公開されています。現在は2.0対応で、3.5もバックポートしてるらしい・・・

但しインストールするには、IE5.01以上がインストールが必須なので、IE5.5をインストールしたらOSが起動しなくなりました・・・どうも、OSR2でもIE5.5を入れると前述のFIX95CPU_V3_FINALでパッチを宛てないとCPUが高速すぎてエラーになるようです。

復活したけれど結局このBackportのインストーラは最期にエラー音だけだしてインストールできず。

図:テスト出来ず・・・

図:IE5.5入れたら飛んでしまった

図:IE5.5は起動できたので由としました。

Windows98 Second Edition

古い16bitアプリやゲームをやる手段としてこれまでは、Wineという選択肢もCatalina前まではあったのですが、Catalina以降はさすがのCrossOver Macでも16bitは動かなくなってしまったので、仮想環境が必要です。VMware FusionでもWindows98 SEは動作するので通常はその選択肢は正しいのですが、M1 MacではWindows9x系は動かせないので、そこで使うのがUTM。

図:ここにたどり着くのが大変

OSのインストール

Windows98 SEのインストール自体はUTMのハードウェア構成だけきちんと指定すればそこまで難しくありません。予め、Windows98のディスクはISO化しておきましょう。

  1. UTMにてCreate New Virtual MachineのVirtualizeで新規作成する
  2. 仮想マシンの設定は以下のようにする
  3. ISOから起動する
  4. あとは指示にしたがって普通にインストールを進める
  5. 無事に起動したらオッケー(この時点でサウンドは有効になっています)

Windows98用のSPICE Guest Toolsなど無いので、ホスト側とのファイル共有やゲスト解像度の自動伸縮などは使えない。サウンドカードやグラフィックカード、ネットワークカードはエミュレートされてるので実際のドライバがそのまま利用可能。ゲストから抜けるキーの設定は前述のMac OS 9の場合と同じ。(SPICE Guest Toolsが有効なのは、XP以降になります)

一部難しいのは古いOSのなので、インストール冒頭でFDISKでのパーティション切りだけは指示にしたがって進めれば良いだけとは言え、コンソールな画面なので、注意が必要です。

※無印のWindows98は挑戦してみましたが、どうしても最終セットアップ後にハングアップ(プラグアンドプレイBIOSでの変更の結果)で起動しなくなりましたので、Win98SEを使うようにしましょう。

※Windows98 SE用大容量USBメモリ用のドライバはこちらにありますが、割と不安定なのでバックアップを取ってから試すようにしましょう。

図:インストール自体はそこまで難しく無い

図:無事に起動しました

図:ゲームも動くよ

不具合の修正

前項でドライバ変更は出来たけれど、画面がおかしい。デバイスマネージャを見ると他にも「!」のついたオカシナ項目があるので直していきます。この時点で問題があるのはネットワークカード、プラグアンドプレイBIOS等。以下の手順で順番にドライバを当てていくのですが、しくじるとOSインストールからやりなおしになったりするので、結構シビアです(なので、仮想環境のバックアップを取ってから行いましょう)

  1. こちらのサイトのISOファイル(Win98tools.iso)をダウンロードして、UTMにてドライブを追加し、読み込むように設定する
  2. 1.の中身をデスクトップにコピーしておく
  3. Windows98のISOに入れ替える
  4. デバイスマネージャをもう一回開く
  5. プラグアンドプレイBIOSを開き、ドライバ更新にて、PCIバスに変更する(追加でドライバが割り当てられる)
  6. ここで一旦再起動をする
  7. 色々と追加でデバイスが認識されるようになる
  8. Intel 82441 FXについてはISOにドライバが入ってるのでコレを指定してインストールする
  9. ほかも同じようにドライバインストール(同じく再起動は行いません
  10. PCI Ethernet Controllerのドライバを要求してきたら、2.の中から指定する(RealtekRTL8193がソレ)。ne2k-pciならばWindows98のCD-ROMから
  11. 引き続きドライバをインストール(再起動は行わない
  12. デスクトップにまでたどりついたら、ここで、Windows98SEを再度起動する
  13. ここからはかなり長い時間起動まで黒い画面のまま。辛抱して待ちます
  14. 引き続き、IDEコントローラなどのドライバ組み込みが続きます
  15. 再度、RealTekのドライバ要求が出るので、10.と同じものを指定します。

ここまでやってようやく、トラブル無くドライバの組み込みが成功すると思います。少しでもしくじるとDLLエラーやら起動しないでBSODになったりと、9x系は非常に不安定なOSなので、UTMで動かすのはVMware Fusionよりも大変です。

図:プラグアンドプレイBIOSをまず何とかする

モニタ解像度の変更

インストール直後だと16色でモニタサイズが標準VGAのままで、680x480のままです。これでは色が出ず、また解像度を変更出来ないので以下の手順で変更します。前述のドライバ組み込みでVGAドライバは組み込まれているので以下の手順で解像度変更を行います。

  1. 再起動したら、デスクトップ上で右クリック⇒プロパティ⇒設定を開く
  2. 色を16bit True Colorにして、800x600に変更して再起動

但し、この設定には問題があって、1024x768だと画面がオカシナ表示になります。ということで、win98toolsに入ってるドライバに入れ替えてみます。

  1. UTMのDisplayをSpice QXL (primary, vga, compatible)(qxl-vga)に変更する
  2. Windows98SEを起動する
  3. デスクトップにwin98toolsでコピーしておいたものを指定するのに、「特定の場所の・・・」を選んで進める
  4. ディスクを使用をクリックして、デスクトップにあるVESA Spice QXL Driverを指定する
  5. VBE - Miniport Standard PCI Graphic Adapterが選ばれるので進める
  6. 再起動すると、競合してると出てるのでデバイスマネージャを開く
  7. Cirrius Logicを削除して再起動する
  8. 再起動して、色を32bit True Color - 1280x720に変更してもバッチリ動作する

図:この手間がこの時代の普通でした

図:高解像度になった

ネットに接続する

ネットワークドライバを組み込んでもまだ、LANには接続出来ません。以下の手順でEthernetで接続する設定を行います。

  1. スタート⇒設定⇒コントロールパネルを開く
  2. インターネットオプションを開く
  3. 接続タブの接続をクリック
  4. インターネット接続ウィザードが出るので、3つ目のLANを使って接続にチェックを入れて進める
  5. ローカルエリアネットワークを選んで進める
  6. プロキシーの設定は無視して進める
  7. メールアカウント設定はしないで進める
  8. これで、インターネットに繋がるが、IEは古すぎてもう、阿部寛氏のページくらいしか繋がらない

図:ネット接続もちょっとだけ手間がある

ファイル共有

Mac OS 9の時同様に、ファイル共有手段が限られています。Sambaも使えません。但し、Windows98SEの場合は

  • USBサポートされているのでそちら経由で渡せる(ffftpなどのプログラムをコレで渡す)
  • FTPクライアントを使って、FTPサーバがあればそちらをNAS代わりに出来る

自分の場合、自宅のAsus TUF AX3000がFTPサーバになれるので、ffftp1.92を入れて、クイック接続を使って必要なファイルのやり取りをしています。

図:FTPがあれば何とかなる

トラブルがある

使っていて気がついたトラブルとしては

  • 再起動をすると黒い画面のまま止まるので必ずシャットダウンして、再度起動する必要がある
  • コマンドプロンプトを起動するとオカシナ表示になるので、Optionキー + Enterキーを2回叩くと正常になる
  • Sambaに接続しようとしても接続出来ない(Pingは通るけれど)
  • macOSの場合、キーボードに半角/全角キーが無いので、キーサイン変更のアプリをWin98側に入れてIMEオンオフを実現しなければならない

実用するにはファイルの共有がMac OS 9と同様にファイルの共有とウェブブラウザが無いのが辛い所。但し、USB接続が出来るっぽいので、それを経由してファイルの受け渡しで必要なものを調達することはできそうな点があるだけマシな感じです。

WindowsXP

いわずとしれた、非常に長い間サポートされていたx86系とNT系融合Windowsの完成形の1つがこのWindowsXP。今となっては古臭く実用的ではないですが、多くの9x系やNT系のゲームを動作する事が出来た現在のWindowsのご先祖様。PPC Mac OS 9上でConnectix VirtualPCを動かしていた時代を思い出します。

公式にはWindowsXP SP3まで提供されていました。今回はこのWindowsXPをインストールして動かしてみます。現在、こちらの公式サイトであの壁紙がPC用スマフォ用が配布されています。

図:M1 Macでも快適に動作します

OSのインストール

インストール作業

手元に残っていた、Windows XP SP1aのインストールディスクを元にインストールを行います。この作業自体は非常に簡単。特に障害もなくインストールが可能です。UTMのサイトにあるWindowsXPの仮想マシンテンプレートを利用してインストールします。RAMは512MB程度。

何度か、再起動は必要であるものの、ユーザアカウントの作成やタイムゾーンの選択くらいで、非常にシンプルにインストールは完了します。但し、Ethernetのドライバが入っていないので、この時点ではプロダクトアクティベーションは出来ませんが、もともと既にもうインターネット経由でのアクティベーションはサポート外なので、スキップして問題ありません。

図:懐かしいセットアップ画面

プロダクトアクティベーション

既にサポート対象外OSではあるのですが、インターネット経由ではなく、電話でのアクティベーションが出来るかどうか?やってみました。過去にこちらのサイトで2020年にプロダクトアクティベーションを電話で行って成功している方がいました。

尚、アクティベーション情報のバックアップ方法については、こちらのサイトに記載があるので、認証が完了したら行っておくと良いでしょう。プロダクトキーの変更に関してはこちらに情報があります。

  1. スタート⇒アクセサリ⇒システム・ツール⇒Windowsのライセンス認証を開く
  2. インターネット経由ではなく、電話での認証を選ぶ
  3. 0120-801-734に電話を掛けてガイダンスに従って進む(基本全て音声案内になりますので人が介在しません)
  4. ステップ1は日本を選択
  5. step3の番号を指示に従ってブロック毎にスマフォで入力して送信
  6. 無事に通ると相手から今度は逆にブロック毎に数値案内されるのでウィザードに入力
  7. 次へを進めると認証完了となる

今でも、WindowsXPのライセンス認証が電話認証ながら出来ることに驚き!!

※2022年、RedditのとあるユーザがWebアクティベーションを解析し、xp_activate32.exeというオフライン認証突破のプログラムを公開しました。今更使う人いるの?と思う所でも、実際には電話認証が終わってしまったら困るという人には朗報かもしれません。

SPICE Guest Tools

WindowsXPはSPICE Guest Toolsが利用は出来ますが、いくつか利用できないものもあります。

  1. こちらのサイトにゆき、SPICE Guest Tools and QEMU Drivers (Windows)のDownloadをクリックして、ISOファイルを手に入れる
  2. UTM上のWindows11の仮想マシンのメイン画面下にある「CD/DVD」をクリックして、Browse。1.のISOファイルを読み込ませる
  3. 仮想マシン内でISOファイルが読み込まれるので、中に入ってるspice-guest-tools-x.xxx.exeを実行してインストール
  4. シャットダウンし再度、起動するとドライバが適用されて十分なスピードで動くようになります。

途中色々と聞かれますが基本的には続行をクリックして進めるだけ。但し、クリップボード共有やホストとのフォルダ共有が機能しません。フォルダ共有は別の手段で解決できるようですが、実際に2.2のファイルで試してみましたが失敗しました。

グラフィックドライバ(Red Hat QXL GPUというドライバになる)は適用は出来ますが、なぜか解像度が640x480の4ビットカラーになってしまうので、認識済みのVGAのままで十分(2023年8月試してみたら、UTMのサイトのドライバでもきちんと動きました)。32bitカラーでフル解像度が利用可能です。こちらの最新のGuest Toolsの場合、問題なく適用できます。解像度の変更はウィンドウサイズではなく、画面のプロパティのディスプレイから変更をする必要があります。

また、ネットワークドライバもここで導入されるので、インターネット接続は可能です。サウンドが認識されていない(デフォルトではsb16)ので、設定からAC97に変更させています。

欠点はシャットダウンが妙に遅い。フリーズしてるのかと思うほど。ゲームもなんとか動かせます。

図:いくつか認識されていないものの問題なく使える

図:画面解像度の変更はこちらから

SP3のインストール

WindowsXP SP1aであれば、SP2を飛ばしてSP3をインストールしてアップデートする事が可能です。肝心のSP3ですがまだ、Microsoft Catalogに残っているので、今のうちに入手しておきましょう。また、Internet Archiveにも残っているので、SP2, SP3は手元に入手してキープしておくと良いでしょう。

また有志による非公式のSP4なるものが出回っていますが、Unofficialであるため基本自己責任となります。

図:無事にSP3までアップデート出来た

USBメモリが使えない人へ

一部の人の環境でUTM上のWindowsXPでUSBメモリが認識しないといったような報告が結構本家でもあるようです。そこで調べてみましたが、恐らく以下のポイントになります。

  1. UTM上の対応USBが3.0になってる(2.0でなければなりません)
  2. Microsoftのデバイスドライバが壊れてる(5.1.2600を手動でインストールしたら治るかも)
  3. USBメモリが3.0仕様(ポートが青いの)になっている(2.0仕様でなければ認識しません。FAT32であっても)
  4. そもそも刺しただけで右上のUSBの接続をしていないUSB Billboardは無関係なので無視して良いです)
  5. 最新のSPICE Guest Toolsをインストールしていない

自分は2.0仕様の16GBの古いUSBメモリをFAT32とNTFSの両方で認識することを確認しています。NTFSのほうが4GBのファイルサイズ制限がなくて良いかもです。

図:UTM上の設定

図:デバイスマネージャの様子

図:USBドライブが認識された様子

ファイル共有

USBデバイスおよびSambaによるファイル共有は可能であるので、ファイルの受け渡しに関してはこの2つを利用して渡せば良いでしょう。ホストとのフォルダ共有機能が動作しない。

直接的なやり取りが出来ないものの、他の環境からすれば十分な受け渡しは可能であるため、苦労することはないでしょう。

図:NASには問題なく接続可能

ネット接続

ネット接続が可能になっても、標準で搭載されてるウェブブラウザは使い物になりません。WindowsXPで利用できるブラウザでまともに利用できる唯一のものとしてはFirefox 52.9.0 ESRのみ。但し、SP3以上にしておく必要があるので、SP1aのままだとインストールが出来ません。

無事にインストールできれば、2022年現在でも何とかウェブブラウジング出来る貴重なアプリです。

図:一通りサービスはまだ利用可能

設定変更

シングルコアで動かしていたので、もっさりしていたものを、CPUを2コア Force Multicoreにチェックを入れ、RAMを2048MBに指定し直して再起動してみました。一応マルチコア認識(SP3から最適化されたらしい)され、若干改善したかなという感じ。また、System項目のJIT Cacheの値を512MB追加で設定すると、モッサリ感が大分解消されます。

もともとエミュレーションで動かしてるものなので、オーバーヘッドがある為、x86な昔のゲームを動かすにはどうかなという具合です。また、ネットワークがSharedになってるので、これをBridgeに直しておくのも重要です。

※ただまだこの時代はシングルコアがメインの時代で、マルチコアにしてもマルチコア対応のプログラムでないと能力を出せない時代であったので、マルチコアだからオッケーというわけではありません。

図:4コアでも動いた

One Core API Binaries

GithubでリリースされてるWindowsXP One Core API Binariesという謎の拡張カーネル。これはWindowsXPに対して追加のDLLなどを装備させて、例えばDirectX11対応させるであったり、モダンなアプリをXPでも動かせるようにする、デバイスドライバを使えるようにするなどの様々な拡張が詰め込まれたものになっています。

もはやWindowsXPでは現代のアプリは動かせないというケースやACPI系ドライバなどが使えてしまったりするので、かなりディープな拡張カーネルなので使用は自己責任で。

公式ページを見てみるとわかりますが、XP時代の様々な制限が解除されるため、UTM上であったとしてもその恩恵は得られるのではないかと思います。

Windows XPの拡張カーネルOne Core APIでなにができるのか?

Windows Vista

XPの後継として出たものの、WindowsMe同様に「無かったことにされたOS」として有名なWindows Vista。酷評で有名ですが重たい・使い物にならない等。ただ、これ冤罪でして実際にUTMにて使ってみましたがXP同様かソレ以上に快適に動作します。x64版ですがエミュレーションしてるにも関わらず結構ネイティブに動作します。

冤罪の理由は家電量販店と日本のメーカー。明らかに在庫処分のようなXP用のスペックのマシンにVista乗っけて販売するという詐欺まがいの商法。結果、Vistaは酷評を受ける羽目に。AeroというUIがGPUを食う部分について特にXP時代と異なる点なのですが、これが結果的に重いということに。この頃から家電量販店でPC買うのは鬼門と言われ始めた気がする(同時に日本メーカー避けられ始めるキッカケにもなりました)。思えばこの頃から日本企業は没落していたんですねぇ。

OSのインストール

OSのインストールは非常に簡単。CDからブートさせて今すぐインストールを実行し、あとは指示にしたがって勧めるだけ。Windows10なんかと違って余計なことも聞かれないので非常にシンプルです。

何回か再起動しますが、起動まではらくちん。以下は32bit版の場合の設定です。

図:インストール中の様子

32bitと64bitの違い

XPの64bitはマイナーであったので利用者がほぼいなかったと思いますが、Vistaは32bit版と64bit版の2つ両方が活躍していたと思います。UTMでインストールする場合、両者ちょっと差があります。

  • まず設定ですが、32bitは前述の通りですが64bitは「Standard PC (Q35 + ICH9, 2009)(alias of pc-q35-7.2)(q35)」などを選らんで、UEFIのチェックは外しておく必要があります。
  • また、32bit版の場合、Q35+ICH9の設定の場合インストール時にマウスカーソルが表示されませんので、i440FXである必要があります。
  • さらに32bit版の場合なぜか、再起動でフリーズしますので手動で切って電源入れ直しが必要です。
  • Spiceのtoolは32bit版だと全て当たるので手動で設定はほぼ必要ないですが、64bit版は手動でデバイスドライバを当てる必要があります。

上記のような差があります。

SP2を入手して当てる

VistaはSP2までリリースされていますが、SP1を事前に当てておく必要があるだけじゃなく、そのSP1を当てるのに事前にアップデートしておくべきパッチがあるというややこしさがあります。まだ、SP自体は手に入るものの以下の順番で適用します。

  1. KB937287
  2. KB938371
  3. UltimateやEnterpriseだけはKB935509を追加で当てる
  4. Vista SP1を手に入れてアップデート
  5. Vista SP2を手に入れてアップデート

これで最新版に到達することが可能です。

図:SP2が最終盤

プロダクトアクティベーション

既にサポート対象外OSではあるのですが、インターネット経由ではなく、電話でのアクティベーションが出来るかどうか?やってみました。前述でXPではできていたので、Vistaでも出来るんじゃないかとやってみました。インターネット経由での認証はすでにできません

  1. デスクトップのコンピュータ右クリック⇒プロパティ→画面一番下のWindowsのライセンス認証を開く
  2. インターネット経由ではなく、電話での認証を選ぶ
  3. 0120-801-734に電話を掛けてガイダンスに従って進む(基本全て音声案内になりますので人が介在しません)
  4. 現在は音声認識となっているので、指示に従ってダイアログの数字9グループを読んでいきます
  5. SMSでコードをもらえるので入力する。
  6. 次へを進めると認証完了となる

なんと2024年10月現在でも、Vistaのライセンス認証できました。

図:現在でも認証が通ります。

デバイスドライバ類

SPICE Guest Tool

基本的にはXPと同様の手順。サウンドやネットワーク等はインストール時にすでに認識済みなので、特に問題はありません。主にGPUの認識が必要になります。ただし、共有でWebdavをオンにしていないとインストーラが停止しますので要注意(放置しておけばインストールは完了します)。デバドラ系は手動で入れられるのでわざわざインストーラ使わずともオッケーです。

  1. こちらのサイトにゆき、SPICE Guest Tools and QEMU Drivers (Windows)のDownloadをクリックして、ISOファイルを手に入れる
  2. UTM上の仮想マシンのメイン画面下にある「CD/DVD」をクリックして、Browse。1.のISOファイルを読み込ませる
  3. 仮想マシン内でISOファイルが読み込まれるので、中に入ってるspice-guest-tools-x.xxx.exeを実行してインストール
  4. シャットダウンし再度、起動するとドライバが適用されて十分なスピードで動くようになります。

ディスプレイについてはここでシャットダウンしてから、Spice QXL GPUに変更します。元のままでも十分動きます。

どうしても標準VGAのままになってしまう場合(32bit版)は、デバイスマネージャからディスプレイアダプタのドライバ更新を行い、ISOファイル内にあるqxl→w7のディレクトリを指定して手動でドライバを割り当て再起動。再起動後に手動で解像度を1024x600などに変更すると良いでしょう。

図:Spice Guest Toolsはインストール出来る

図:GPUのセッティング

図:手動でドライバを変更してる様子

ネットワークドライバ

ネットワークカードをrtl8139を指定してる為ということもあるでしょうが、以下の手順で使えるようになります。自分の場合はデフォルトで認識していました(64bit版の場合これが該当します)

  1. 再起動時にイーサネットドライバのインストールを促すダイアログが出てくる
  2. 手動でドライバを当てる
  3. C:¥Program Files(x86)¥Spice Guest Tools¥Driversを指定する
  4. 自動的に探してきて使えるようになります。

図:ドライバを手動で当て込み中

図:ネットに出ることが出来ました

サウンドドライバ

サウンドも出ないことがあります(64bit版はこれが該当します)。ということで、以下の手順でドライバを入手して当ててみたら使えるようになりました。

  1. こちらからデバイスドライバを手に入れる
  2. 解凍しておく
  3. NAS経由などで仮想環境に渡してあげる
  4. デバイスマネージャから、サウンドデバイスのデバイスを手動で再インストールを実行
  5. 3.のディレクトリを指定する
  6. デバイスドライバが割り当たる

無事にサウンドが出るようになりました。結構ハードル低いです。

その他のドライバ

最終的にまだデバイスマネージャにSMバスコントローラというものが「!」の状態で残っています。この問題を解決するには、DELLのこちらのページを開いて、ダウンロードしたインストーラを仮想環境内で実行するだけです。

指示に従ってインストーラを進めればこの状態は解消します。

※この作業は64bit版にてQ35+ICH9のマシンタイプでインストールした場合に必要です。

図:チップセットドライバを入れるだけ

その他の検証

Webブラウザ

ネット接続が可能になっても、標準で搭載されてるウェブブラウザは使い物になりません。WindowsXPで利用できるブラウザでまともに利用できる唯一のものとしてはFirefox 52.9.0 ESRのみ。WindowsXPと同時に最終リリースとなってるので、これが最終盤となります。

無事にインストールできれば、2022年現在でも何とかウェブブラウジング出来る貴重なアプリです。

図:Firefoxが利用可能

NASにアクセスする

ネットワークからNASのIPアドレスにて「¥¥192.168.50.1」とでも入れてアクセスすれば素直にアクセスすることが可能です。特に障害もないため、問題なしです。

図:ファイルサーバに簡単にアクセスできた

Windows11 ARM版

すでにParallels17等では以前から話題になっていた、ARM版のWindows11ですが、UTMを利用してM1 Macにインストールし利用することが可能です。すでにディスクイメージも配布されているので(VHDX形式)、これを利用して構築することが可能です。ただしデフォルトが英語版なので、いくつかインストール後に修正が必要です。2022年5月14日時点でBuild 22589がダウンロード可能です。

以下は、M1 Macにインストールする手順です。

※2024年11月14日、公式サイトからISOでダウンロードできるようになりました(Stable版のみですが)

CrystalFetch ISO Downloader

UTMの作者が開発したUUP DumpからWindows11のISOを生成してダウンロードするツールです。これを用いることで、Windows11の仮想マシン作成を補助するアプリケーションです。但しまだ初版リリースということもありいくつかバグがあり、こちらで保守されています。

ダウンロードしたISOは他の仮想マシン等でも流用できるのでインストールしておくと捗るかもしれません。ダウンロード出来るのは、x86, x65, ARMの3種類。但し既に存在しないビルドを指定すると落ちます。処理の最後に保存場所を聞かれるので指定すると完了となる。Insider PreviewのISOも手に入るのでM1 Macでの検証も捗ります。

実際にVHDXではなく生成されたISOファイルでUTMで仮想マシンを作成し実行したところ、きちんとブートしインストールが可能になっていました。VHDXと違いISOなので、既存の仮想マシンのアップデートを行う等が可能になるため、いちいち毎回VHDXから作り直す必要性がありません。

実際にInsider Preview Build 23511をゼロから起動してインストールしてみましたが、バッチリ動作。

※ISOからインストールした場合、VHDX形式インポートと異なり最初から日本語でセットアップされ、日本語IMEもオッケーでキーボード設定以外はわざわざしなくても使えます。

 

図:ARM用InsiderのISOも手に入ります。

図:きちんとISOからブートしました

図:Insider Previewをインスコしてみた

TPM2.0とセキュアブート対応

2023年7月17日、UTM 4.3.2 Betaにて遂にUTMにてTPM2.0およびセキュアブートに対応しました。CPU形式以外は正常性チェックでも全てクリアができています。バックエンドのQemuも8.x系になり、Windows11 22H2へのアップデートで面倒なことをせずとも出来るようになりました。

すでにWindows11の仮想マシンを作成している場合は

  1. 設定に入る
  2. 左サイドバーからQEMUをクリック
  3. TPM 2.0デバイスにチェックを入れる
  4. UEFI変数をリセットにチェックを入れてOKをクリック
  5. そのままWindows11を起動する

これでオッケー。当初はこちらのサイトから仮想マシンファイルをダウンロードして再セットアップしか現在は無かったのですが、前述のCrystalFetch ISO Downloaderのおかげで現在はISOで入手も出来、手動アップデートも楽になりました。

図:正常性チェックが大分クリアできた

図:設定を変更する必要がある。

事前準備

  1. 予め前述のVHDXファイルをダウンロードしておく
  2. UTMを起動して、Create a New Virtual Machineをクリックする
  3. 今回はVirtualizeを選択する
  4. 次の画面では、Windowsを選択します
  5. Import VHDX Imageにチェックを入れて、Browse Boot VHDX Imageにて、1.のVHDXファイルを指定する
  6. UEFI Bootはチェックを入れておく
  7. 次の画面ではメモリとCPU Coreの数を指定しますが、4096MBの4コアで指定しました。
  8. Storageはデフォルトの64GBで指定
  9. Shared Directoryはデスクトップを指定しました。
  10. レジストリの「AllowUpgradesWithUnsupportedTPMOrCPU」ははじめから値が1で有効になってるようです。

これで準備OK。VHDXはqcow2ファイルに変換されて取り込まれるので、捨てても構いません。いざ、準備が終わったらブートしてみます。英語版のセットアップ画面が起動するはずです。

図:インポート設定画面

インストール作業

Build 22579までは、普通にセットアップ出来たのですが、Build 22598では、ネット接続要求がスキップ出来ない問題が発動してしまったので、以下の手順でセットアップを続行する必要があります。デフォルトのネットワークカードのドライバが無いので、ネットワークに接続せずにローカルアカウントを作成して進める必要があります。

  1. 普通にまずはセットアップを続けます。
  2. Country RegionではJapaneseを選択
  3. Keyboard Layout Input Methodでは、Japaneseを選択
  4. Want to add Second Keyboard Layoutの画面で、右下のキーボードアイコンをクリックして、MSIMEを選ぶ
  5. キーボードレイアウトでは、Add Layoutを選び、Japaneseを選んだ後に、MSIMEを選択。この画面ではSKIPを選択
  6. ここでネット接続が出来ないで先に進めないので、Shift+F10キーを押す
  7. OOBE\BYPASSNRO」を入力して、Enterを押して回避が可能なのだけれど、バックスラッシュの入力は、macOS日本語キーレイアウトの場合は「む」のキーを押すと入力出来る(5.でMSIMEを選んでいなとこれが出来ない)
  8. リセットが掛かって、5.までをもう一度繰り返す
  9. 今度は、6.の場面でI don't have internetと出るのでこれをクリック
  10. Continue with limited setupをクリックする
  11. ローカルアカウントでのセットアップが始まるので後は、指示に従って進める

また、手順7.ではローカルアカウントで進める為にOOBE\BYPASSNROを利用していますが、Microsoft Accountで良いのであれば、以下のコマンドの実行で進める事も可能です。但し、セットアップが終わったら、「bcdedit /debug off」にてオフにして、SPICE Guest Toolsのドライバでネットワーク接続出来るようにしましょう。

図:MSIMEの選択が重要です

図:MSIMEにしておかないと先に進めない

図:ネットが無いと先に進めないので裏技を使う

インストール後の修正

インストール後起動すると、英語のUIに英語のキーボード(101USキーボードになってる)ので、これを修正します。

  1. 設定アプリを起動する
  2. 左サイドのTime & Languageをクリックし、右パネルのLanguage & Regionを開く
  3. add languageで日本語を追加し、英語については削除してしまう。ダウンロードが始まる。
  4. Window Display Languageが日本語に変わる。
  5. 一旦シャットダウンして、再起動すると日本語のインターフェースになる
  6. 再度、設定アプリを開き、左サイドバーの時刻と言語を開きます。
  7. 言語と地域をクリックする
  8. 同じ設定パネルの下にある「管理用の言語の設定」を開く
  9. システムロケールの変更をクリックし、日本語を指定します。(再起動はしない)
  10. 同じ言語と地域の設定にて、優先する言語の下に日本語があり、「…」をクリックし、言語のオプションをクリック
  11. キーボードの項目のレイアウト変更をクリック
  12. ハードウェアキーボードのレイアウト変更にて、日本語106/109キーボードを選択
  13. シャットダウンして、再度起動する。
  14. 設定アプリを開き、検索窓から「ime」と入れて、「日本語IME設定」を開きます

これで、日本語UIとキーボードレイアウトになり、MSIMEも使えます。ただ、一部が日本語になっていない箇所も無いわけじゃないですが、実用上困りません。

図:設定関係も日本語表示になった

図:ここも日本語にしておく必要がある

図:キーボードレイアウト変更

日本語入力キーをカスタマイズ

デフォルトでは、JIS配列ならば「英数キー」が日本語入力キーのON/OFFになるのですが、UTMではこれは使えません。また、日本語IMEの設定からCtrl+Spaceを日本語オンオフにすることは可能ですが、macOS側のキーとバッティングしてしまいます。そこで使うのが「秀Caps」というツールです。

  1. 秀Capsをインストールし、再起動する
  2. 秀Capsをタスクバーより、設定を起動する
  3. 日本語キーにて、「無変換キーで漢字ON、英数キー2回で漢字OFF」をチェックする
  4. 左Altを漢字にする(左Optionキーがソレになります)
  5. 適用ボタンを押す

これで、「左Alt」で日本語入力のオンオフが半角/全角と同じ挙動になります。

図:秀Capsの設定項目

Ctrlキーをカスタマイズ

ショートカットキーなどで良く利用するCtrlキーですが、デフォルトではcontrolキーがそれに該当しています。しかし、非常に押しにくい位置にあるキーなので、このままだとExcelなどでの操作で支障が出ます。OSXと同じく、commandキーをCtrlキーにしたい所です。これを実現するためのツールが、Keyswapです。割りと古いツールなので、起動するためには、「管理者権限」を付与して起動します。

起動したら、入れ替えたいキー設定を作成して保存をします。

  1. キー名のセルを触って、左commandキーを押します。
  2. 変換キー名は、右側のキーボードの図より、変換したいキーを押して決定します。ここでは、左Ctrlキーを割り当てました。
  3. ファイルへ保存をクリックして適当に名前を付ける
  4. 終了する

再起動すると、そのキーアサインが変更されます。これで、左commandキーでCtrlキーとなり、ゲストOS上でのショートカットキーの活用が便利になります。

※VMware自体のMacホストショートカットキーでは、Windowsキーは右コマンドキーに割り当てておくと良いです。

図:keyswapで設定中の画面

SPICE Guest Tools

Windows用のSPICE Guest Toolsを入れることで、ネットワークカード、GPUドライバ、ホストとのShared Directory機能、ウィンドウサイズの動的変更等が有効化されます。以下の手順でインストールをしておきましょう。

  1. こちらのサイトにゆき、SPICE Guest Tools and QEMU Drivers (Windows)のDownloadをクリックして、ISOファイルを手に入れる
  2. UTM上のWindows11の仮想マシンのメイン画面下にある「CD/DVD」をクリックして、Browse。1.のISOファイルを読み込ませる
  3. 仮想マシン内でISOファイルが読み込まれるので、中に入ってるspice-guest-tools-x.xxx.exeを実行してインストール
  4. ここで再起動せずにシャットダウン
  5. UTM上のWindows11の設定において、ネットワークはBridged(Advanced)に変更
  6. 同じくグラフィックに関しては、virtio-ramfb-gl(GPU Supported)に変更
  7. InputのInvert Mouse Scrollにチェックを入れる
  8. 再度、起動するとドライバが適用されて十分なスピードで動くようになります。

Windows11 Proの正規のライセンスキーで認証することが可能になっています。仮想マシンでは、ARM、x86、x64のバイナリを実行可能です。気になる点としてシャットダウンは正常に行われるのですが、再起動だとエラーが出て落ちる点があります(UTM側のバグだと思います=>解消済み)。

※UTMというより、M1チップの制限でNested Virtualizationに非対応なので、WSAやWSL2などは動作しません

図:無事にWindows11 ARMが起動した

図:但し、Insiderは制限有りとなる

図:3タイプのバイナリが起動可能

Shared Directoryの制限

UTMのホストとのファイル共有は、ネットワークドライブとしてマウントされるのですが、デフォルトでは50MBを超えるファイルをコピーしようとすると、「ファイルサイズが、許可された制限を超過しているため、保存できません」とエラーが出ます

このトラブルはレジストリエディタを使って修正することが可能です。

  1. レジストリエディタを起動する
  2. 以下のレジストリエントリを開く
  3. 右のパネルの中にある「FileSizeLimitInBytes」を削除する
  4. 新たに同じ名前のDWARD 64bitを追加する(32bitだと1GBなどの指定が既定値を超えてしまうため)
  5. 10進数では50MBに相当する「バイト」単位で数値が指定されています。これを1GBにするには、8590000000を指定してOKする(10進数)
  6. 再起動するとコピーできるようになる

図:結構古くからあるネットワークドライブの制限のようで

Microsoft Storeのインストール

通常のWindows11の場合、インストール直後からMicrosoft Storeが入っていますが、macOSのParallelsやUTM等の仮想環境で利用する「ARM版 Windows11」は最初からMicrosoft Storeが入っていなかったりします。

そこで、PowerShellを使った方法を試してみたものの、何もインストールされず。調べてみるとParallelsのサイトに記載がありました。以下の手順で簡単にMicrosoft StoreをARM版Windows11にインストール可能です。

  1. PowerShellを管理者権限で起動する
  2. wsreset.exe -i を実行する
  3. 結構、インストールには時間が掛かる(通知欄にその状況が出てる)
  4. 途中、Microsoft Store エクスペリエンスホストがインストールされたと出るがそのまま無視する
  5. Microsoft Storeをダウンロードしていますと出ているので、終わるまでとにかく待つ。
  6. インストールされた旨のメッセージが出たら完了

この方法でなかなかインストールがなされない場合には、PowerShellで以下のコマンドを実行するとインストールされます。

図:普通にインストール可能

図:ストアアプリもx64エミュレーションでバッチリ動く

16bitアプリは動かない

Windows11では標準で16bitアプリが動きません。しかし、Intelの場合にはwinevdm on 64-bit Windowsを使うことによって、64bit環境であったとしても、16bitのアプリを動かす事が出来ていました。

しかし、Windows11 ARMの場合は、winevdm自体が動作しないので、16bitアプリを動かそうとしてもエラーとなって動きません。よって、本来のWindows11と同じく、16bitアプリはどう頑張っても動作しません。

Windows10 32bit以前のOSの実行環境に於けるNTVDMが使える環境を使いましょう。

図:Windows9xの環境ならバッチリ動く

設定は自動で作成される

VHDXのインポートの場合、ARMでは自動で作成されました。以下のような形で作成されています。いつかは変更を加えています。

  • Architecture : ARM64(aarch64)
  • System : QEMU 6.2 ARM Virtual Machine (alias virt-6.2)(virt)
  • CPU : Default 4コア
  • QEMU : UEFI, RNG Device, User Hypervisor, Use Local Time Base Clockはすべてオン
  • Display : virtio-ramfb-gl(GPU Supported)
  • Network : Bridged, virtio-net-pci
  • Sound : Intel HD Audio Controller(ich6)(intel-hda)

ドライブ構成は

  1. NVMe : Windows11のメインのドライブ(qcow2ファイル)
  2. USB Drive : CD/DVD ISO Image
  3. EFI Variable : efi_vars.fd

ひょっとしたら、Intel Macでも同じ構成ならば、Emulatedで動作するのかもしれませんが、エミュレーションなので非常に遅いと思います。ARM上でARMのデバイスを動かす場合は、Virtualizationになるので、ここまで快適に動作するというわけです。

※UTM 4.0ではSystemがQemu 7.0 ARM Virtual Machineになるのですが、Beta4.0.1でないとエラーになるので要注意。エラーが出る場合は、6.2に戻してセットすると良いです。

Mac OS X Tiger(PPC)

PowerPC用Mac OS Xで最後のClassic環境をサポートしてるのがこの10.4 Tigerです。次項のLeopardからはClassic環境がサポートされなくなったので、OS9用のアプリを動作させたいという要望があるならば、このTigerを仮想化して使うのが良いでしょう。

設定が少々必要なので、そこだけ押さえればインストール自体は難しくありません。こちらのサイトに詳細な情報が残ってるので、それらを参考に構築してみます。

図:もっさりだけれど結構動く

OSインストール作業

  1. 新規エミュレーションで設定を作成開始します。
  2. エミュレーションの設定としては以下のようなセッティングで作成します。
  3. ISO化しておいたTiger PPCのディスクをCD-ROMに指定して起動させる
  4. 日本語で進めてインストールしようとするがHDDが認識されていないので、ディスクユーティリティでディスクにパーティションを1個作成してフォーマットする
  5. インストール先が出てくるので選択して進める
  6. インストール完了すると自動的に再起動してしまうが一旦シャットダウンする
  7. 設定から、CD-ROMの起動順番をHDDの下に移動して保存して、再度起動させる

これでとりあえず初期セットアップは完了です。引き続き追加のセットアップを行います。但し、Tigerの仮想マシンは再起動を掛けるとエラーが出て黄色い画面で止まるので基本は一旦シャットダウンしてから起動するようにしましょう。

図:手動でパーティション作成が必要

図:無事にセットアップが起動した

その後のセットアップ

まずは、基本的なセットアップを開始します。

  1. いきなり音楽がなり始めるのでキーボードセットアップを開始する
  2. 左側Shiftの隣を叩く
  3. 次に右側なのですがこちらのShiftは反応しないので、「/」を叩きます
  4. JISを選択して次に進める
  5. Apple IDもスキップするので続けるをクリック
  6. ユーザ登録等はスキップする(⌘(コマンド)+Qキーでスキップできる)
  7. 名前欄が日本語入力状態なので、次のユーザ名で入力してコピペして入れる
  8. タイムゾーンは東京 日本を選択
  9. システム環境設定を開き、ディスプレイを開く
  10. 1280x768を選択すると画面が広がる

アップデータを利用する

Tigerの最終アップデータはVersion 10.4.11。こちらはまだアップデータが公式サイトからダウンロードが可能です。そのままアップデータがあります画面が出るので、ダウンロードせずとも、セットアップを継続可能です。

2項目をインストールをすると10.4.11にアップデートが完了します。アップデートが完了したら、一旦シャットダウンし、仮想マシンの設定に於いて、Networkを仮想VLANからブリッジに変更します(仮想VLANでないとアップデータがこないので)

また、変更した結果、TenForFoxでブラウジングも可能らしいですが自分は失敗しました。

※このあと3回ほどアップデートが降ってくるので、それらを全部当てておきましょう(X11やQuick Timeのアプデ等が含まれています)

図:まだアップデータが降ってくる

Classic環境のセットアップ

Mac OS X上でMac OS 9のClassic環境を動作させる公式エミュレータとも呼ぶべきものが当時用意されていました。OS9ユーザをOSXに移住させる為に用意した環境で、今で言うところのRosettaのようなポジションのものでした。こちらもまだ公式サイトに残されているのでダウンロードしてインストールを行います。

  1. NetBoot for Mac OS 9をダウンロードしてNAS経由で渡す
  2. Tiger内でダブルクリックしてマウントする
  3. Japaneseフォルダを開く
  4. NetBoot_J.pkgを起動してインストールする
  5. インストールが失敗して、「もう一度インストールしてください」と出てくる
  6. Macintosh HDを開くとNetbootinstrationというフォルダが出来上がってるので、右クリック=>情報を見る
  7. 所有権とアクセス権の下の詳細な情報をプルダウン
  8. オーナーの鍵を開く
  9. オーナーを自分のアカウントに変更
  10. 各種権限はアクセス不可=>読み書きにしておく。グループも9.同様にadminに変更する。そして閉じる
  11. Netbootinstrationフォルダを開き、NetBoot HD.imgをダブルクリック
  12. マウントされた中身の中のApplicaitons(MacOS9)システムフォルダをアプリケーションフォルダにコピー
  13. 一旦再起動する
  14. システム環境設定にClassicというのが増えてるので開く
  15. Classicに使用するシステムフォルダを選択にて、12.のシステムフォルダを指定する
  16. Classicの状況をメニューバーに表示にチェックを入れる(メニューバーにOS9のアイコンが出てきて起動等出来る)
  17. Applicaitons(MacOS9)内のアプリや、OS9バイナリを叩くとClassic環境が起動する

Sheepshaverのようにデスクトップ環境が出てくるわけじゃなくいきなりアプリがネイティブに動作するので、基本アプリを動かす為の環境と思っておいたほうがよいです。

※なお、Classic環境のことえりは、Option + Shift + Spaceで入力文字種を変更できます。

M1 MacでもPowerPC MacOSを動かしてみた

図:オーナー権を変更する

図:システムフォルダを指定する

図:OS9.2が入ってるようだ

図:Netscape Communicatorを起動してみた

図:Apple Works 6も動作しました

チューニングをする

ややもっさりながら十分使えるレベルで動くTigerですが、以下の設定をすることで大分快適に動作するようになります。

  1. ターミナルを開く
  2. 以下のコマンドを実行する
  3. 以下のコマンドで/etc/hostconfigを開く
  4. SPOTLIGHT=-NO-に変更し、Command+xでYを入力してEnterで上書き保存
  5. 以下のコマンドを実行して編集内容を反映する
  6. システム環境設定のDockを開き、起動中のアプリケーションをアニメーション表示のチェックを外す
  7. 同じくサウンドを開きユーザインターフェースのサウンドエフェクトを再生のチェックを外す
  8. Finderの環境設定を開き、スプリングフォルダとスプリングウィンドウのチェックを外す
  9. 再起動してみる

図:hostconfigファイルを編集する

ファイル共有

AFPおよびSambaが使えるので、NAS経由でファイルを渡す事が可能です。Finderでsmb://192.168.50.1とでもしてNASのIPアドレスを入れれば、マウントして取得すれば、Tiger内でファイルを取り出すことが可能です。

また、SheepShaverなどで事前にYooEditのPPC版みたいにsea.binで圧縮されてるものを解凍してホスト側に保存。これをZIPで圧縮してNASにアップという経路をたどれば、Tigerではマウントできないようなファイル形式でも、持ってきて前述のClassic環境で古いPPCアプリを動かすみたいなことも可能です。

M1 MacでもPowerPC MacOSを動かしてみた

図:NASに接続してみた

図:YooEdit PPCを持ってきて動かしてみた

Mac OS X Leopard (PPC)

Snow Leopardは失敗しましたが、PowerPCのLeopardであれば動かせるという情報を入手して、手持ちのPPC用Leopardを持って仮想環境を構築してみることにしました。Mac OS X 10.5と古いものですが、PowerPC版Mac OS Xが動かせるのは選択肢としてはありがたい。自分にとっては、Mac OS 9以来にMacに戻ってきた最初の1台で、ここから現在までMacユーザになったきっかけになった記念すべき1台でした。

Mac OS Leopard on Apple M1 Mac. Part 1: Installation

図:起動してみた様子

OSのインストール作業

ISO化しておいたLeopardのディスクとともに、以下の手順でVMを構築します。

  1. こちらにあるUTM用の10.5 Leopard PPCの設定ファイルをダウンロードして解凍する
  2. ダブルクリックするとUTMに表示される
  3. 設定を開いてメモリだけ2048MBを指定。サウンドだけはAC97でも動作します。
  4. ネットワークはrtl8139のブリッジ設定に変更しておきます。
  5. CD-ROMにLeopardのISOを指定する
  6. 手動でディスクを作った場合には、インストーラ実行時にディスクが認識されてないので、ディスクユーティリティを起動して、パーティションを作る必要があります。
  7. ブートさせるとコンソール画面が出て、暫く待つとLeopardのインストーラが起動します。
  8. あとは指示にしたがってインストールを続行し最後まで進めます。最後の1分がやたら長いです。

最後まで進むと、「インストールに失敗しました」というエラーが出ます。実はOS自体はインストールが完了しているのですが、インストールディスクの削除に失敗してるだけなので、以下の手順をさらに行います。

  1. VMを停止させる
  2. VMの設定画面を出して、CD-ROMのドライブの位置をHDDの下に移動させて保存する
  3. 起動する
  4. Appleロゴがやたら長いですが、これは正常な動作ですので辛抱強く待つ
  5. 音楽が流れてキーボードセットアップになりますが、JISの場合右側は「/」のキーでないと反応しません。
  6. ユーザ登録画面は続行を2回でスキップ出来ます
  7. 最後まで進めるとLeopard for PowerPCが起動するようになります。

図:PowerPCのG4が指定され、CPUコアは1を明示的に指定

図:無事に起動した

図:失敗と出るけれど大丈夫

その後のセットアップ

SPICE Guest Toolsなど無いのですが、標準VGAだけでも1670万色でディスプレイの設定から解像度の変更が可能です。また、最終アップデータは10.5.8になるので、統合アップデータを手に入れてアップデートをしてみた所、再起動時にAppleロゴで止まるように見えますが後ろでアップデート作業が継続してるだけなので、辛抱強く待ちます。

Safariを起動しても既にもうルート証明書が終わってるからなのか、ネットに接続は出来ませんでした。NASは見えるんですけれどね。

図:画面解像度は変更しておきましょう

ファイル共有

WebDavはインストール出来ないですが、標準でAFPとSambaに対応しているので、NAS等があればそこから接続して持ってくることが可能です。現在のM1 MacはAFP等対応していないので、他のマシンでAFPが使えるのであればそちらにファイルサーバなどをやらせて持ってくると良いでしょう。ただし、対応してるSambaのバージョンが古いので、M1 Macのファイル共有をしてもLeopard側からは接続出来ません

色々苦労したので、自分の場合FTP接続でNASに接続しました(非常にレスポンスが遅い・・・)。大きなファイルはISOファイルを作ってドライブ経由で渡したほうが手っ取り早いと思います。

Mac OS X Marvericks

macOSの仮想環境も作れるというのですが、Mojaveではスピード面で全く実用に向かないという事だったので、それよりも前のMarvericks(10.9)を仮想化出来ないか?ということで作ってみることにしました。Catalinaから32bitアプリが動かなくなったmacOSですが、10.9であればリソース面や32bitアプリが動くという観点から利点があるのではないかと。

但し通常の手段では作れないのでちょっと手間が多いです。今回はオフラインインストーラからのインストールになります。

こちらのサイトに、Mac OS 9〜macOS 11.xまでのUTM設定ファイルがありますので、そちらを利用すると楽に構築ができるかも。

事前準備

今回のMarvericksの仮想環境を作るにはいくつかの事前準備が必要です。そこで準備したファイルを利用して構築する事になるので、ここが最も手間が掛かると言えます。

図:セットアップ用ファイルを用意する

ファイルの入手

まずはいくつかのファイルをダウンロードします。必要なものは以下の数点

  1. OVMF Binary (edk2.git-ovmf-x64-0-xxxx.noarch.rpmといった名前のファイル)
  2. OpenCore Image (EFI-Legacy) 
  3. Mac OS X 10.9 インストーラ

問題は現在ページでは、10.10のYosemiteか、10.7, 10.8のLionシリーズしか入手出来ないので、手元にMarvericksがない人はYosemiteで代用すると良いでしょう。これらのファイルは、デスクトップにtestというフォルダを作って入れておきます。

InstallESD.dmgの取り出し

10.9インストーラから今回利用するISOイメージを作る元になるInstallESD.dmgを取り出します。

  1. インストーラを右クリック⇒パッケージの内容を開く
  2. Contents/SharedSupportの中にInstallESD.dmgが入ってるのでこれを取り出す
  3. デスクトップにMarvericksというフォルダを作成して2.をコピーする
OVMF.binを生成する

OVMF BinaryからOVMF.binを生成します。ターミナルを起動して、以下のコマンドを実行すると生成されます。

ISOイメージを作る

InstallESD.dmgのままだと使えないので、これからISOイメージを生成します。こちらのサイトにあるコマンドを利用して、作ることになります。

仮想環境を作成する

UTMを起動してEmulatedで作成します。ちょっと特殊な構造の環境になります。以下のような設定になります。

図:4コアでも遅い・・・

図:OpenCoreのEFIで起動させる

インストール

これで準備が整いました。OpenCore Bootloaderを使ったインストールによって、macOSをUTM上で構築出来ます。早速電源を入れてブートしてみます。

  1. OpenCoreのブートローダが起動する
  2. Mac OS Base Systemを選択してEnterを実行
  3. completedの文字が出て色々読み込まれますが、その後インストーラが起動するまで相当時間が掛かるのでとにかく待つ
  4. インストーラがHDDを認識しないので、まずメニューからディスクユーティリティを起動して、IDE 32GBのHDDをHFS+でフォーマットする
  5. 再度インストール画面に戻って続行すると認識されるので、4.を選んで進める
  6. 完了して自動で再起動すると、セットアップの続きが始まります
  7. ネットワークの接続は失敗するのでそのままスルーする
  8. データの移行, アカウント作成画面と進んで完了するまで進める
  9. 再起動するとログイン画面が出て、デスクトップが表示される
  10. ソフトウェア・アップデートをすると、10.9.5の統合アップデートが降ってくるので入れておく。

使ってみた感想ですが、10.9であってもかなり遅く、GPUが効いていないのでとにかく遅い。また、Safariを起動するだけでクラッシュしたりと色々と問題が沢山。将来的にもっと楽にゲストとして動かせてSPICE Guest Toolsが出たら良いなと思う。

ただAFPやSambaへの接続は容易にできるので、ホストとのファイル交換は簡単なので、NAS経由で色々引っ張ってこれると思います。

キーボードは変更時にZキーと「め」のキーを押して認識させれば、JISに変更できるので、日本語キーボードを使ってる場合は変更しておきましょう。

図:無事にインストーラが起動した

図:10.9の初期画面

図:ネットとSambaに接続してみた

図:まだアプデが降ってくることに驚き

32bitモードで起動

Marvericksは64bitのOSですが、任意のアプリを32bitモードで明示的に起動するオプションが付いています。アプリを右クリックして情報を見るにてそのオプションを付けることで、32bit指定で起動出来ます。起動が不安定なアプリの場合このチェックをオンにしてみるのも良いでしょう。

JW_Cad for MacTex Edit Plusなどの古いアプリもテストしてみましたが問題なく動作しました。

図:32bitモードで起動のチェック

図:32bitアプリを起動してみた様子

Mac OS X Snow Leopard(Intel)

概要

こちらのサイトを参考に10.6 Snow Leopardを挑戦してみました。しかし、M1 MacではどうしてもKernel Panicで止まってしまう。残念。VMware Fusionでは成功したのですが。(M1 MacではなくIntel Macの場合は動作する)。どうも、M1 Mac上では何かが壊れていて、Intel Mac上では動作するらしいです。ということでこの項目だけは、Intel Macで挑戦しています。

が、ここでは詳細な作り方ではなく解説のみにとどめます。

Rosetta2を使用するオプションを使っても、M1 Macでは起動させることが出来ませんでした。

こちらのサイトでもARM64でSnow Leopardに挑戦してる人がいます。元プロジェクトはこちらのようです。詳細な手順書も用意されていますが果たして動くのでしょうか?古い記事ですが、参考資料になるサイトもあります。

図:10.6はM1 Macでは動かせなかった

作成するのがとても大変

こちらのサイトを参考に作成に挑戦してます。そもそも、なぜLeopardや後継のLionなどは割と素直にインストールできるのに、このSnow Leopardだけがこんなにも作成が大変なのか?他のサイトでもSnow Leopardに関してはスルーされています。

Marvericksも相当作るのが大変でしたが起動させることに成功していますが、M1 MacではSnow Leopardはなにかのファイルが破損していてどう頑張っても起動できません。現在、参考サイトの中でも原因調査が進められているようです。

また、UTM 3.xでは動いていましたが、Intel MacであってもUTM 4.4.5にしたところKernel Panicとなり起動できなくなりました(再度起動二挑戦したら今度はデスクトップまで到達)。非常にバギーな感じです。

図:起動はしたけれど・・・・不安定

実用的なスピードではない

GPUをvmware-svgaにしていますが、まぁ起動するまでが遅い。コマンドラインの画面のままズラズラといろいろ出てきますが、とても起動までに時間が掛かります。そして、起動してからも動作が非常にモッサリです。ちょっと実用的とは言えないですね。もともとIntel Macのパワー自体も高いマシンじゃないので、ちょっと厳しい。

よって、作ってなんとかデスクトップ画面に至っても実用とするには問題があります。シャットダウンも遅いです。エミュレーションしてるわけじゃないのにここまで遅いのは・・・・一応VMware Toolsも入れてみたのですが。Ethernetは認識されていてNASには接続できるけれど、インターネットには繋がらずという状況(共有ネットワークなのだけれど)。ドライバはこちらにも単体で存在します。

図:黒い画面が続く

図:ネットには繋がらず

図:vmware svgaドライバ入れてみた

UTM上での設定

特殊な手法でOSの入ったディスクを作るのも大変ですが、UTM上での設定もかなり特殊です。Marvericksと似ている構成ですね。

その他のチャレンジ

ParrotOS

ParrotOSとは、Debianベースのセキュリティテスト用に特化したディストリビューションで、さまざまなテスト用ツールを同梱したOSとなっています。驚くべきことに「UTM用仮想マシン」も既に用意済みであるため、ダウンロードしてすぐ利用できるようになっています。このUTM用仮想マシンはARM版となっているため、エミュレーションによるパフォーマンスダウンもありません。

  1. こちらのページを開く
  2. Virtualをクリックする
  3. Securityをクリックする
  4. ARM64をクリックする
  5. Downloadをクリックすると、UTM(Apple Silicon)と出てきます。
  6. ファイルを解凍してダブルクリックすればすぐにUTMで利用できます。

主に何をするためのツール群なのかと言えば、こちらにツール群についての解説がなされています。GIMPのようなツールも入っていたりする。

  • ペネトレーションテスト:いわゆる脆弱性診断テスト。
  • フォレンジック:セキュリティ事故発生時のHDDやUSBメモリなどのデータ保全・解析・分析
  • リバースエンジニアリング:ソフトウェアやハードウェアの構造を解析調査
  • クラッキング:ソフトウェア的な様々なクラックテストを行う
  • 暗号化やTor:様々な暗号化ツールや、匿名ルーティングなど

などが詰め込まれています。よって通常の人が手にして面白いものでは無いと思います。またこれらのうち、無関係のデバイスに対する使用は場合によっては不正アクセス禁止法に抵触する可能性があるため、注意が必要です。

デフォルトのUIDとPWは以下の通り

図:様々なツールが初めから詰め込まれています

FreeDOS 1.3

前述のPC-DOSはインストールする為にはFDDを利用して何枚も仮想FDDのファイルを用意して、CD-ROMドライバを組み込んでと結構な手間を掛けないとインストール出来ません。また、非常に古いOSの部類に入るので、扱いもなかなか面倒です。

そこで利用してみたのが、MS-DOS互換でCDブートでインストールができる非常に手間の少ないオープンソースのDOSがFreeDOS。今でも開発が続けられています。インストールといってもUbuntuのように素敵なUIがあるわけじゃないので、なかなかクラシックな画面ですが、コマンド操作不要でインストールは可能です。

利点はMS-DOSと違って最新のPCでも動作可能である点。組み込み機器で利用したり、テスト用で利用したり結構広く利用されてる。故に古いDOSアプリを動かす上では仮想環境とも相性が良い(DOS時代の厳しい制限が無い為)。その気になればWindows3.1も動かせてFAT32サポートもしてたりする(USBドライバもあるとのこと)。32bitコンソールアプリも動作する等、当時にはなかった機能が組み込まれてる。

※ただし、UTMでは標準装備のCD-ROMドライバであるUDVD2が具合が悪く、インストール時は問題なくともその後エラーとなるため、前述のWindows3.1でも利用してるMSCDEXやOAKCDROM.SYSを組み込んだほうが良い。fdconfig.sysがconfig.sysに該当するので

また、fdauto.batがautoexec.batに該当するので

DOSBox-x86BoxでDOS環境構築するより手軽だと思います。

※またFreeDOSをベースにDOS用Shellを乗っけたPsychDOSというものがQemu用にも用意されていて、仮想HDDファイル差し替えるだけで簡単に動かせるのでこちらの選択肢も良いかもしれません。

図:インストール中の様子

図:起動した様子

図:テキストエディタを起動してみた

図:PsychDOSを動かしてみた

Haiku OS

概要

Mac OS Xが出る前の時代。OS9が死にそうになってる一方でNeXTで着々とリベンジをジョブズが狙っていた頃合いに生まれたBeOSというIntel/PowerPCで動作したOSの後継OSがこのHaiku OSBe Boxと呼ばれるハードも販売されていたことがあったのですが、結局メジャーにはなれずに消えていったOSが、オープンソースとしてリバイバルし、現在もメンテが続けられています。

使い道は・・・というとアレですが、当時の空気感やノスタルジーを感じるにはとても良いOSです。似たようなプロジェクトとしてAtheOSSyllableがありますがいずれも開発停止しています。

※WindowsNT上で動作するOpenStep Enterpriseなどというものもあったようです。

インストール手順

インストール手順ですが、とても簡単ですが数カ所注意点があります。

  1. 現在はx86とx64の2種類がリリースされてるので、x64版(64bit)をダウンロードする
  2. 新規仮想マシンでエミュレートにて作成する
  3. ISOファイルを指定してあとは特に変更なくそのまま次へ進んでしまいます。
  4. 最後に仮想マシン設定編集画面を出します。まだブートさせません
  5. QEMUタブの「UEFI起動」のチェックは外しておきます
  6. ディスプレイタブの「ディスプレイサイズをウィンドウサイズに自動的に合わせる」のチェックを外しておきます。
  7. ディスプレイアダプタは「Cirrus CLGD 54xx VGA」を選択します。virtio-vgaだと動きがバギーです。
  8. さて、いざ電源投入でブート。
  9. マウス操作しようとするとぴょんぴょん飛んだり出てこなかったりするので、UTMのマウス捕獲のアイコンをクリックしたり、外したりしながらしばらく待つと動かせるようになります(ちょっとマウス関係が認識が遅いようです)
  10. 言語設定を日本語を選びます
  11. パーティションが切られていないので、パーティション設定を開いて、QEMU Harddiskを選んで全領域をフォーマットにてBeファイルシステムを選択。
  12. フォーマットが完了したらインストール先としてそれを指定して次に進む。
  13. あっという間にインストールが終わるので再起動します。
  14. ただしまたISOからブートしてしまうので一度シャットダウンします。
  15. UTMの設定からCD-ROMのISOを空にして取り出します。
  16. BeOSことHaiku OSが起動するようになります。

図:パーティションを切ってフォーマットが必要

図:無事に起動しました

OpenStep 4.2

Appleを追い出されたジョブズがNeXT Computerを設立しUNIXベースのNeXTStepを作成した後、OpenStep 4.2としてバージョンアップされた現在のmacOSのご先祖様。

FDDブートさせて、CD-ROMからインストールするというタイプの古いシステムなのですが、Intel CPUでも動作するというOSです。後にLinuxのWindow ManagerとしてAfterStepなんてものも作られていたり、またNeXT上でティム・バーナーズ・リーがWWWを作成したという点で、現在のインターネットの仕組みの最初の1歩でもあるというなかなか革命的なものでした。

UTMことQemuで動かしてみようとチャレンジしてみましたが、HDDは認識してるものの、ATAPIのコマンドがエラーとなって先に進めず。ほぼ前述のOS/2と同じような仕様でセッティングしてるのですが、インストール画面まで辿りつくこともできませんでした。以下インストールで参考にしたサイトです。

CD-ROMをSCSIにしBuslogicに変更すれば動くというVirtualBoxの情報はあったのですが、UTMではSCSIにしてもデバイスとしてBuslogicを指定するといったことができないので諦めました(UTMの場合、lsi53c895aが決め打ちされていて、BusLogicを指定できない)

図:起動に失敗しました

How To Install NeXT OPENSTEP 4.2 in VirtualBox (Tutorial)

Solaris9 for SPARC

かつて存在していた商用UNIXおよびUltraSPARCという64bitのCPUとサーバー・ワークステーションを販売していたSun Microsystems。自分も在籍していましたが(水曜日にドーナツが配られてた)、現在もその痕跡はJavaなどに思想として残り、現在はOracleに買収されて消えてしまいました。The Network is the ComputerWrite Once, Run Anywhereなどの思想が自分は好きで、それは現在のChromebookやFlutterのようなものに受け継がれているのではないかと思います。

OSはx86版も存在していましたが、OpenSolarisを経て現在はOpenIndianaとして残ってるようです。SPARC自体は現在も富士通がSPARC64として2034年くらいまでサポートを継続するみたいです。こちらにFujitsuのSPARC64Vの歴史が記録されています。OracleのSolarisとして現在もOSそのものはハイエンドサーバ用として生き残っています。

UTMではUltraSPARCのエミュレーションも可能であるため、たまたま手元にあったSolaris9を自分でインストールしてみましたが、UTMでは以下のような設定で動作しました。なぜかUTMのギャラリーにも動くものが存在する・・・

CDEという今ではもう古臭いGUI環境が搭載されており、殆どがTerminalで仕事をする。自身の端末はカードを刺してどこからでも自分のデスクトップを呼び出せるシンクライアントである「Sun Ray」を当時使っていました(これが結構な頻度でセッション切れでつなぎ直してもらってたりしました:総務省の資料)。当時だとWindows Terminal ServerWindowsCEのシンクラなんかがあって、金融系や学校などで採用されていました。

Solaris唯一のオフィス環境はApplixware Officeというなんともショボいもので、ドキュメントはNetscape Composerで作ったほうが全然マシでした。その後に買収したStarOffice(現:LibreOffice)により改善しました。

末期は完全にLinux勢力にローエンドからミッドレンジまで食われ(自身もx86 Solarisだしてみたり、Cobalt Qube買収してみたり、AMDのOpteronのサーバ売ってみたり、WABIとかSun PCiとか)、ハイエンド領域もLinuxクラスタで構築可となれば高価で維持の大変なSunのサーバは生き残れず。いずれにせよクラウド時代になったら企業毎に社内やデータセンターでサーバを持って・・・という時代では必ずしもないわけで、商用UNIXベンダーとして残れた未来は無かったのかもしれない。クラウド構想自体は2006年にはあったようですが。

歴史の1ページを知ることの出来るOSでした。今現在、Sunのあった場所にはMetaが入っていて看板の裏に痕跡があります。

図:起動はboot disk0にて

図:内蔵のOpenBIOSでも普通にブートする

図:ネットもちゃんと繋がる

ReactOS

Windows Server 2003レベルの互換性を目指した独自OSがReactOSWikipediaを見ると開発が停止してるようにみえて、ホームページを見てみるとまだ開発は継続してるようです。ただし現時点でもα版であり、Windowsアプリの動作は一部だけしか動作しない。驚くべきことはこのプロジェクト1996年から始まってるということ。

結構色々なサポートやCPU対応していますが、現実的にはWine使ったほうが楽なのでは?と思わなくもない。

UTMのギャラリーにも登録されているので簡単に導入することは可能。パッケージマネージャから日本語化をインストールしようとするとエラーになるが(他のパッケージは大丈夫だけれど日本語化はすでに消えてるようだ)、Runからウェブサイトを指定するときちんとブラウザが起動して繋がるし(Wineと出てるのが気になる)、pingも通る(デフォルトのEthernetはne2k-pciで共有ネットワークに変更してます)。

abiwordをインストールしてみたら起動出来ました。他の検証ではNASへの接続法がわからず断念。

※2024年5月11日、SMPサポートが進捗というニュースが。まだ開発が続いてるようです。

図:起動した様子

図:ネットも通じる

図:日本語化パッケージをインストール出来ない・・・

図:abiwordをインストール中

ReactOS日本語化2023 04 10

MS-DOS 6.2V

Microsoft Windowsの前にあった16bitのOSであるMS-DOS。最終版は6.2ですが、その後のDOSプロンプトなどでは7.0と表示されていたりします。この後は、Windows95や98となり、9x系の消滅と共に消えることになりました(現在のNT系のはコマンドプロンプトであってDOSとは異なる)。

※最近、MS-DOS4.0がオープンソース化されました。

ここにWindows3.1というGUI担当を乗っけて動かし、そこにTCP/IPなどを標準装備などをさせたものがWindows95へと続いていくわけです。PC98用のDOSとは互換性が取れておらず、98用ゲームはDOS/Vでは動作しません(98/Vという奇っ怪なものがありました。)。UTMでの設定は以下のような設定で構築します。後述のDR-DOSも同様です。

DISCは6枚組で、順番に差し替えてインストールしていくのですが、完了し再起動するとブラックアウトします。理由はconfig.sysのJDISP.SYS。これのパラメータをWindows98などに接続してnotepadで書き換え。するとブラックアウトせずに起動します。以下がその箇所。/HS=LCを追記すると無事に起動するようになります。

前述のPC-DOS7はIBM版のDOSとなりますが、基本は同じです。ここにEthernetのドライバやCD-ROMドライバを組み込んで行けば前述のPC-DOS同様にネットもCDにもアクセスが可能になります。実際にoakcdrom.sysとmscdex.exeを組み込んでQドライブとしてマウント出来ました。

但しゲームなどを動作させた場合に、現代のCPUでは早すぎて起動しない、動いてもゲームにならないなどが発生します。そこでうまい具合に対応してくれるDOSIDLE 2.10を入れてAutoexec.batなどで読み込ませるようにします。他にも未検証ですが、DOS/4GWのようなDOSエクステンダーがきちんと動作するのか?など気になる点も検証しなければなりません(前述のWindows3.1でのDOSゲームの挙動見てる限りでは大丈夫そうですが)

他は前述のPC-DOS7と共通する部分が殆どです。後述のDR-DOS同様にDOSBox-xという優秀なDOSエミュレータがある現在では使う意味が殆どありません。しかもDOSBox-xはPC-98のDOSにも対応してるので尚の事。しかし、現在のMicrosoftの歴史のスタート地点でもあるので振り返ってみる価値はあるのではないでしょうか?

※仮想FD作成は結構厄介なので、こちらのサイトの空のFDイメージを複製し、中にファイルを入れていくとインストールディスク作りやすいです。

Qemu/9821などが別に存在しますが、UTMではPC98をエミュレーション出来ません。PC98は他のエミュレータを使いましょう。

表計算ソフトの始祖Visicalcを起動してみました。操作方法がよくわからず。けれどご先祖様を拝むことができます。

Windows11でDOSBox-xを使った環境を作る

図:FDDから起動してセットアップ

図:config.sysを修正する

図:無事に起動した

図:CD-ROMドライバを組み込んでQドライブとしてマウント

図:Visicalcを起動してみた

SteamOS

Steam Deck用のLinuxベースのOSであるSteamOSのイメージを元にしてUTM上で環境を構築することが可能です。ただし、実際にインストールしてM1 Macで運用できるか?といったらx86-64のOSであるため実用にならない重さです。Intel Macならば実用できるかもといった所です。

こちらのサイトにインストール手順が記述されていますが、Qemu用であるため若干変更して試してみました。

  1. こちらのサイトでSteamOSのイメージをダウンロードします。
  2. 新しい仮想マシンをx86_x64のマシンで作成する
  3. 編集に入って、追加のドライブとして「NVMe」で1個追加しておきます(64GB)
  4. 同様にディスクイメージ読み込みで、1.のimgファイルをドライブとして追加しておきます。
  5. 保存してブートしてみる
  6. しばらく待つと、横の画面でいろいろLinuxのブートシーケンスが表示される
  7. かなり辛抱強く待つと、SteamOSのKDE Plasmaのデスクトップが表示されます。
  8. Reimage Steam Deckをダブルクリックして、Proceedをクリック。イメージがディスクに書き込まれます。
  9. 完了したらダイアログが出るので、Cancelをクリックする
  10. このままだと起動時にSteamがフルスクリーン起動してしまうので、左下のアイコンクリック⇒System⇒konsoleを起動
  11. 以下のコマンドを実行する
  12. 右下アイコンクリック⇒Shutdownを実行する
  13. 仮想環境の編集に入って、1.のイメージを削除して取り除く。
  14. 再度起動する
  15. konsoleで「steamos-update」を実行するか?アップデートを実行する
  16. 前述同様に再起動前に以下のコマンドを実行する
  17. 再起動すると最新版にアップデート状態になる

これで、SteamOSが最新版で起動出来るようになりました。実用的でもなんでもないですが、Intel Macならば色々試す環境としては良いかもしれません。

図:起動中のブートシーケンスは横画面

図:remimage中の様子

図:konsoleはここにあります

図:インストール後のコマンド入力

図:バージョン表示

Knoppix

もともとはドイツの本家が作成したLive Linuxの一つがKnoppix。CD,DVD一枚でセットアップやインストールせずに直接ブートするLinuxでしたが、日本だと産業技術総合研究所が日本語版ということでメンテしたものが長い間リリースされていました。すでに産総研のKnoppixは2015年にVersion 7.0.2を持って配布終了。現在はこちらのサイトからISOファイルが入手可能です。

Live Linuxの元祖というわけじゃなく、これよりも前の時代にすでにもあったものの(Slackware 3.5のLive CDなんてのもある)、知名度や普及したもので最も人気だったのはKnoppixだったと言える。インストール不要ではあるものの、HDDにインストールして使うことも出来、またKnoppixをベースに専用のツールを同梱した復旧用のKnoppixといったようなものが沢山派生していった。PC系雑誌でも付録に頻繁に収録されていました。

今でこそLive Linuxなど標準装備となってるので珍しくもないけれども、確実にLinux普及の一役を担った一品でした。UTMでは以下のようなセッティングにしておくと起動可能であることを確認しました(他のGPU設定だと起動しなかった)。

図:懐かしいLive Linuxです

図:あの起動ロゴ

Slackware 3.5 + PJE-0.1.5

概要

自分が初めて購入したPC、FMV Deskpower Sを購入1週間後に、圧縮エージェントでCドライブを圧縮して起動不可にしてしまい、呆然としてた時、泣きながらDOSから修復した記憶があります。

その後、1997年当時売ってた DOS/V magazine '97年8/15号 付録CD-ROMについてたLinuxがこのSlackware(CD同梱物はSlackware 3.2 + JE 0.9.8aだった)。日本語対応にする為のPJEというものが別途用意されていて、Deskpowerに入れて遊んでいました。お陰でDOSも理解できて今の人生が始まりました。その後、RUN RUN Linuxで学習し直して・・・あれから26年くらい経つのか・・・・当時、そういえばCaldera OpenLinuxというものもあって使った記憶がある・・・

今回、UTMにてSlackware 3.5 + PJEまでの構築をチャレンジしてみました。

参考になった知見

古いOSですので情報が入手しにくいのですが、現在探索した限りでは以下に情報が残っています。参考にしたサイト一覧になります。

今回の仮想環境の設定

Windows 3.1などからすると制限がそこまで無いので、割と普通の構成です。VGAのみはCirrusでないと1024x768のSVGA表示が出来ないので変更しています。

Sound Blaster 16を指定していますが、簡単には導入できないので今回は取り組みからは除外しています。

OSとPJEのインストール

今時のLinuxと違って、Fdiskで手動でパーティション切ったりブートフラグつけたり、そもそもディスクの順番もFDD, CDROM, HDDにしておかないといけないし、hdaがHDDなのか?などの確認、SuperProbeにて自分のVGAチップの詳細情報を取得したり等インストールだけでも大変難易度が高いスパルタンな仕様な上に、JP106キーボード対応やCannaといった日本語入力環境も自分で構築します。

CD-ROMデバイスは/dev/hdcで/cdromにマウントされています。またデフォルトではキーボードは101英語キーボードなので、Backspaceは右Shift+Deleteになりますが、PJE0.1.5をインストールすることで106日本語キーボードに変えられるので、まずはPJEをインストール。

このPJEのインストールが複雑で、pkgtoolでezinst類をインストールした後に、packagesディレクトリに移動してからkon起動して、ezinst -jでインストールするという手作業。そもそもPJE自体すでにネット上だと入手先が見つからない・・・(webarchiveでなんとか見つけました。)。手元に昔の付録CDがあったので今回はインストール出来、JP106キーボードにすることが出来ました。macのJISキーボードで101英語キーの入力はキツかった。

ブートローダもGrubみたいなリッチなものじゃなく、LILOと呼ばれる古いものでとりあえずコンソールならば起動はできるようになりました。startx成功させて、fvwm95が起動してる画面を表示するところまで持ってこれました。

図:PJEをインストールしてる様子

図:Fdiskでパーティションを製作中

日本語入力

PJEをインストールするとCannaサーバなどがインストールされ起動されます。ただし現代のLinuxのように色々なアプリで日本語入力ができるようになる・・・といった時代では無かったので、対応してるアプリで利用できるという時代でした。

X-Windowでも使えるみたいですが、自分はそこまではちょっとやっていないですが、Muleで日本語入力ができるようになっていました。

ターミナルから以下のコマンドでcannaserverが起動してるのを確認できます。

日本語入力を使う手順ですが

  1. konで日本語環境にする(でないと文字化けする)
  2. muleを起動する
  3. Control + ¥で日本語入力オンオフ
  4. 漢字変換はスペースキーを叩く

ただ、使ってみた感想ですが、最初の1回目の変換で異様にレスポンスが遅く、フリーズしてるのか?と思ったほど。Macbook Airの蓋をそのまま閉めて30分ほど経過してから、再度開いてEnterキーを押したら下の方にメッセージが出てきた。バッファ欄に何か「作る?yes? no?」が出てるので、yで進めると変換できるようになりました。初回だけこの作業が必要なようです。

Control+x Control+sで保存して閉じることが可能です。もうMuleも資料が失われていて大学のサイトくらいにしか残っていないのが悲しい。

※ただ、次回起動した時にも同様に固まるので何か致命的な問題が発生してるのかもしれない。10分程度放置で変換できるようになりましたが。

図:canna serverが起動してるのを確認

図:日本語入力してる様子

図:30分くらい放置してEnter押したら出てきた

インターネット接続

ネットワークカードはNE2000のPCIを指定し、/etc/rc.d/rc.modulesに対して、/sbin/modprobe ne io=0xc000 irq=10で追記して認識することが出来ました。netconfigコマンドにて固定IP指定やサブネット、GatewayのIPを指定したらインターネット接続もできました。Windows3.1よりは楽ですね。

コンソール側で通信できていれば、X Window System側でNetscapeでの通信も出来ます。

図:インターネット接続もオッケー

X Window Systemを利用する準備

今現在は、XF86Setupで色々VGAやCirrusなど試しているのだけれど、XF86Setupは起動してXで操作できていても、設定したあとにstartxで起動せずエラーが出る・・・・このXF86Setupが激ムズなのです。当時のマシンはS3チップだったのでなんとか乗り越えていたけれど。ということで、vi/etc/XF86Configを頑張って編集して1024x768のCirrus GD5446で表示することに成功。X ServerはSVGAへシンボリックリンクを貼る必要がある(XF86Setupでも出来る)。Cirrusの場合、Screen SectionでOptionとしてDisplayの項目内で「"no_bitblt" と "sw_cursor"」を追加しないとフォントが壊れます。

Cirrusに変更するには

  1. /usr/X11R6/lib/X11/fonts/各フォントディレクトリ内に移動してmkfontdirを実行する
  2. XF86Setupを実行する
  3. Cardのタブで、ServerはSVGAを選択。Chipsetはclgd5446を選択、ClockChipはcirrusを選択
  4. VideoRamは4Megを選択(UTMの設定でもVRAMは4の値をセットし、cirrusを選択しておくこと)
  5. Monitorタブで、Horizontalは28-51を指定、Verticalは43-60を指定
  6. Mode Selectionは1024x768, 800x600を選択しておく
  7. Doneを実行し、保存するかどうか?聞いてくるので保存してXのSVGAとリンクして終了
  8. vi /etc/XF86Configを実行して開く
  9. Screen sectionのSVGAに於いて、DefaultColorDepthは16に変更
  10. 16に該当する項目のDisplay項目内でModesの下にOptionで2行、no_bitbltおよびsw_cursorを追記
  11. :wqで保存して、startxすると1024x768の16bitカラーで起動し、font潰れもなく表示されます。

図:XF86Setupが最大の難関

図:superprobeで認識中

仮想HDDを変換して利用する

OVAファイルを解凍する

ウェブで配布されているVMware用の仮想ディスクの一部はVMDK形式ではなくOVAという拡張子のファイルのものがあります。このままではqemu-imgを使って変換してUTMでは利用ができないので、ターミナルから以下のコマンドを利用して解凍してあげると、vmdkファイルが取り出せるので、その後にqemu-imgコマンドでqcow2形式に変換すると良いでしょう。

ただし、手に入れられたからといってUTMで利用できるとは限りません。少なくともFydeOSについては変換してみましたがブートせず。hogehoge.ovaがファイル名になります。

※FreeBSDなどはqcow2形式でも配布されてるので、ova変換などせず使えます。ユーザに優しいですね。

PC-DOS7.0 + Windows 3.1

UTM 4.0.9では動作していたのですが、最新版のUTMにした所、Windows3.1起動時にフリーズして動かなくなりましたが、v4.6.xからは元の通り起動するようになりました(Qemu8.0系のバグだったようです)。30年前の雑誌付録に収録されていたDOSゲーム(PlunderMine)がばっちり動いて感動です。

※ドイツの鉄道会社では今だ現役で動いていて欠員が出たので扱える人募集してるそうです。

※2024年7月のCrowdStrike事件で無傷だったサウスウェスト航空は現在もWindows3.1+95だったので難を逃れたようです。

図:30年前の雑誌の付録に収録のDOSゲーム動いた!

変換してセットアップ

手持ちのVMware Fusionで動くように作っていた数々の仮想環境をそのままUTMでも使えたら最高だなと思いしらべてみました。今回はインストールやセットアップが非常にやっかいな「IBM PC-DOS 7.0 + Windows 3.1」のVMDKファイルをUTMで使えるようにしてみました。ゲーム類なども今ではウェブで公開されていたり、WinGなどのライブラリやWin32sVisual Basic 2.0を使ったゲームが主な利用目的になるかなと思います。

※以前、WindowsXPのvmdkを変換してみましたがブルスクリーンで起動出来ませんでした。

※日本語版のWin32sはOLE32が含まれていないので、英語版を入れると良いとか。

※Windows3.1はファイルシステムがFAT16であるため、HDD領域は最大2GBまで。

手順としては以下の通りです

  1. macOS側には予め、homebrewをインストールしておく
  2. homebrewにて、以下のコマンドでqemuを入れておく

    qemu本体ではなく、今回はその付属のツールが目的です。
  3. インストールが完了したら、変換したいVMDKファイルを用意する。但し、スナップショットやサスペンド状態ではないシャットダウンされてる仮想イメージでなければなりません。(今回はwindows31.vmdkとしました)
  4. 以下のコマンドで、qcow2イメージへ変換する

    これで、data.qcow2というディスクイメージが作成されます。
  5. UTMで仮想環境を適当にemulateにて作る
  6. UTMにて5.の場所をshow in finderで開き、仮想環境のファイルを右クリック⇒パッケージの内容を表示
  7. Dataフォルダを開き、中に入ってるdata.qcow2を4.で変換したファイルと置き換える
  8. 仮想環境の設定を以下のように変更する

    ※ドライバ類はVMDKの時に入れておいたものをそのまま利用しています。画面の設定でSuper VGA 256色で設定を行っています。デバイスドライバ周りはこちらのサイトを参考にすると良いかもしれません。(こちらのサイトのドライバは現在は入れると起動しなくなります。)
  9. Runすると、PC-DOS 7.0がまず起動しますので、起動したら以下のコマンドでWindows3.1を起動する
  10. 画面解像度の変更や音の出力等などは予めconfig.sys、autoexec.batなどで組み込めてあれば変更可能。

起動したらマウス操作はUTMの右上のキャプチャボタンをクリックしないと動きませんので要注意。DOSでもきちんとマウスは動きます。ただ、変換しただけでは音がでなかったので、修正が必要かもしれませんが、画面解像度は手直し無しでSuper VGA 1024x768で起動出来ました。

また、Creative Sound Blaster 1.5を追加し、Port220 / 割り込み5で指定したら普通に音もなりました。mscdex.exeとoakcdrom.sysを組み込む事で、CD-ROMイメージにも対応可能です。

更にwinpkt.comne2000.comTrumpet Winsockを導入し、ne2k-pciで設定、Autoexec.batに記述を追加すれば、IE4.01でインターネット接続も可能です。

※VirtualPCで動いていたOS/2 Warp4は変換を掛けても起動中にpanicで落ちる。新規にインストールも試してみましたが、Diskの2枚目で同様のエラーでインストールが続行出来ませんでした。

※注意点として、IDEドライブは2個までしか追加出来ませんので、HDDとCD-ROMを入れると3つ目のIDEを追加してもエラーになり起動しません。

2023/6/26 - Windows3.1で動作するChatGPTクライアントであるWinGPTがリリースされました。API Keyが有効なら動作するようです。

2023/10/27、ディスプレイドライバについてですが、UTM最新版のv4.4.4でどうにか動かないかとチャレンジしてみました。しかし、virtio-vga, vmware-svga, CirrusおよびATI-VGAも試してみましたが、動きませんでした。Cirrusについてはこちらのドライバを使ってみましたが起動直後で固まるのでどうにも出来ないようです(cirrus.drvのロードエラーになります)。Qemu8.0自体の問題かも知れません。よって、Windows3.1については4.0.9のビルドを利用する必要があります。

2024/9/21、ふと思い立ちVGAとして素の状態でインストールしたものは最新版のUTMでも起動できるのが判明。組み込んでしまったドライバとconfig.sys周りを見直せば、なんとかなりそうな気がしてきた。vmware-svgaで行けないかな?

2024/10/5、UTM 4.6.xのプレリリース版からQemu9.0が使われてるのでテスト。なんと何事もなく問題なく起動しました。やはりWin3.1が起動できなくなっていたのはQemuのバグのようだった。

ただし、CirrusのGD5436/46 v1.12のドライバを利用するとSuper VGAと異なり1600x1200 256色や、1280x1024 16bit True Color表示が可能になります。通常のvirtio-vgaよりも高解像度で表示可能なので利用する価値があります。利用する場合、ZIP解凍後のcwin31のフォルダ内にあるinstall.exeを利用してください。win31内のものは導入するとVGA表示が壊れます。必ず次回起動前にUTMのVGAをCirrusに変更してから起動が必要です。

図:ディスプレイドライバをCirrusにしてみた

図:あっさり変換して動くようになった

図:あっさり音も出るようになった

図:DOSのゲームも動きました

図:CD-ROMにもアクセス出来た

図:インターネットもイケる

図:ChatGPTも動かせます

図:UTM 4.6.xでは問題なく起動できるように

UTM 4.0.9以降のVGA問題

UTM v4.0.9より新しいバージョンで前述のようにSuper VGAでセットしても画面が固まり起動できない問題。この問題に対して取り組んで数ヶ月ですが、以下の手順で固まる問題はとりあえず解決。4.0.9の環境でまずはWindows3.1が起動できる必要がある。

  1. こちらのサイトのSVGA Floppy Driverをダウンロードする
  2. UTMにフロッピーデバイスとして追加しておく(読み取り専用チェックは外しておくこと)
  3. まずはPCDOSを起動する
  4. a:でフロッピーに移動して、以下のコマンドを実行。

    これで、フロッピー内のドライバにQemu用のパッチが当たる
  5. そのまま、DOSのままc:¥windowsに移動して、setupコマンドを実行する
  6.  ディスプレイの項目まで移動して、Enterを実行
  7. 一番下のその他を選択
  8. a:\と出てるのでそのままEnter
  9. この状態でET4000 1024x768 256 Smallを選択する
  10. 変更完了でEnterを実行する
  11. ドライバ上書きするのでEscキーを実行
  12. winを実行する
  13. パッチを当てたVGAドライバで起動できるようになる
  14. UTMの最新版でも同様にwinを実行して起動できれば成功

Windows3.1では、SVGAドライバ利用中に別のSVGAドライバに変更が出来ないので、DOS側から変更してあげるというのがポイントです。

※ただ自分の環境だと別のデバイスのドライバ問題なのか?すぐにDOS画面に戻ってしまう。素の状態のWindows3.1ではこの問題が起きないのでVGA以外が悪さをしてる可能性があるのかも。

図:VGAドライバ問題はこれで解決

図:ドライバ変更はDOS側から行う

Qemu9.1.0で単体テスト

そこで、homebrewでQemu9.1.0をインストールし、単体でもともとうまく起動していたqcow2のディスクを以下のコマンドを実行して、起動してみた。

すると、なんの問題もなく起動し、SVGAで表示も出来ました。この時点でQemu自体に問題はないことは確定。となると、UTM自体もしくはUTMで使ってるQemu8.xに問題があるのではないか?それともQemuで編集できないデフォルトのパラメータになんらかの問題があるのか?

また、同時にVGAのデバイスドライバにも問題ないことが確定したので、UTM最新版でWindows3.1が起動しない件についは大分問題点が絞られてきました。

図:なんの問題もなく起動

図:GD5436 v1.12で64K色表示も問題なし

ゲームを動かす

Windows3.1時代となると、Visual Basic 2.0およびDirectXの前身であるWinGで疑似3Dなゲームが作られていた時代でした。また、16bitのOSなのですが32bitアプリを動かすというWin32sなどのランタイムも利用されていた時代です。初めて当時遊んだのはシェアウェアの「ピュアファイターえりか」で、WinGで作られていたゲームでした。

また、市販のゲームはPC9801全盛期であるため、DOS/VよりはPC98のほうが豊富でしたが、DOS/Vはどちらかというと海外ゲームのほうが多く、P&Aシェアウェアで輸入して買ってた時代でした(現在はブラウザで楽しめてしまう時代)

また、1990年代に発売されてた16bitゲームの詰まった「お楽しみゲームパック」の中にあるアリーナも起動できました。現在、これを復刻するというクラウドファウンディングが開始されています。

図:伝説のゲーム:アリーナ

図:当時のゲームが1個だけ残ってた

図:音もバッチリ出るよ

ピュアファイターえりか プレイ動画

日本語入力

Macbook Airで動かすわけで、半角/全角など当然ないわけで・・ということで、KickIMEというユーティリティをインストールし、起動Optionキーで日本語入力バーがオンオフされて、右下にIME状態が出るようになります。

連 ローマ 全かな 学という状態になれば日本語入力。バーをクリックして半英数とすれば英語入力になります。ちょっと不便ですが一応日本語入力がこれで実現できます。Altimeもいいんですけれどね・・・・

図:一応入力が出来るようになった

Autoexec.bat

自分が今回使ってるAutoexex.batの設定です。Sound Blaster 16やTrumpet、Ethernetのドライバであるne2000.comの設定が追加してあります。

config.sys

自分が今回使ってるconfig.sysの設定です。CDROMデバイスの設定やFONTなどの各種ファイルの読み込み等を記述しています。LASTDRIVEの記述が無いとmscdex.exeでCD-ROMを呼び出した場合に「not enough drive letters available」とエラーが出てしまうので、必ず記述しましょう。

OS/2 Warp 4

現在はゼロからインストールはできない

OS/2 Warp 4はWindows95時代にIBMがWindows95対抗として出していた業務用のOS。一般向けにCMも行っていたものの、結局は広まらず終了したOSながら、2000年頃まえは業務用としてまだ生き残っていました。山口智子がCMやってたり、確かおばあちゃんが、OS/2 WarpのCMやっていたような(Youtubeにもそれは残っていない)。その後、eComStationArcaOSと移り変わって今も実は残ってたりする。

このOSなのですが、かなり限定的な手段を経由しないと使えません。。色々チャレンジしてみた結果、起動させることができました。ただし、Qemu上ではインストールは出来ないので、Intel MacのVirtualBoxでインストールしたのちに、VDI形式のファイルをqemu-imgで変換したものをUTMで流用します。

以下はUTMでインストールした際の検証の残骸です。

  • CDブート出来ないので、FDDイメージを使ってブートが必要(3枚のディスクをディスク内にあるCDInst.batを叩いてWindows9x上で作成しました)
  • Standard PC (i440FX+ PIIX, 1996)(default)(pc-i440fx-6.2)などだと、ディスク2枚目の交換でEnterが送信されず次に進めない。
  • Standard PC (i440FX+ PIIX, 1996)(default)(pc-i440fx-2.0)だと次に進めて、fdisk画面までは行ける。
  • ただし、一度でもフォーカス外れるとEnterキーが送れなくなる
  • fdiskが終わって1回目の再起動をするとそれ以降、CDブートをしてくれず詰みになる
  • 基本インストールだとHDDはFAT16で、拡張インストールだとHPFSとなる。ただし、HPFSにするとmacOSでイメージをマウントできなくなるので、自分はFAT16としています。

VMware Workstation Player 16ではCDブート出来て最後までインストールできるのですが、結局次回起動時にエラーが出てコンソール画面でストップしてしまう。VirtualPCで作成したイメージをqcow2イメージに変更しても同様のエラーで起動せず。また、仮想HDDは2GBの固定サイズで作成しないと、fdiskでエラーとなりストップした。

そもそも、このフロッピーイメージの取り扱い、Qemuでは以前からバグが報告されてるものの、ずっと修正がなされていないようで。よって、現状では、UTMにてゼロからのOS/2 Warp 4のインストールは出来ないという結論です。

Qemu単体でインストールする手順を実行してみたもののやはり3枚目のフロッピーチェンジで固まる

図:OS/2 Warpの起動画面

図:ここまでは行けるのだけれど・・・

CM IBM OS2 山口智子

OS/2 Warp 4.52をインストールし解像度、ネットワーク設定をします。

Qemu9.1.0で単体テスト

VirtualBoxで作成したVMを変換し、Qemu9.1.0を利用してコマンドラインから直接qcow2のイメージディスクを起動するという方法の場合、日本語版のOS/2 Warp 4は起動出来て、マウスカーソルが表示されないといったような問題は生じず、問題なく利用することが出来ました。よって、Qemu単体レベルでは問題なく運用が出来ています。VMOUSE.SYSの記述はconfig.sysから削除してますが何も問題なく起動しています。

今回の起動テストで使ったコマンドラインについてはこちらのサイトに掲示されてる内容になります。

※追試でこの英語版Warp4のqcow2をベースにCPUをPentium3指定でUTMで動作させてみた所、マウスカーソル問題もなく動作しました。やはり標準組み込みのデバドラ辺りが悪さしてる可能性が高いですね。

図:Qemu単体だと日本語版は動作する

VirtualBoxから変換して起動する

ようやっとIntel MacおよびM1 Mac上のUTMではカーソル表示も出来て、起動できるようになりました

Intel MacのVirtualBoxでOS/2 Warp4のインストールまで終わらしておいて、仮想HDDをqemu-imgで変換したものを利用してみました。こちらで検証された方のを利用しました。UTMは 4.6.0を利用しています。よって本エントリーは4.6.0を基準に記述しています。なお、VDIのファイルをQCOW2形式に変換するコマンドは以下の通りです。

また、色々調査しましたが、唯一マウスカーソルが表示されてきちんとOSまで起動できたセッティングは以下の通りでした。ただし、起動するだけでvmouse.sysがトラブルを起こしており、マウスカーソルが出てこないので操作できません。VirtualBox側で事前にconfig.sysの中に記述されてるVMOUSE.SYSの行を削除しておきましょう。

※また起動時にCLOCK01.sysが原因で止まるのですが、何度もシャットダウンして起動するとクリア出来ます。これは2000年問題トラブルが原因のようで、FX00505のfixpackを当てると修正されるようだ。

※SystemはIntel Macの場合はStandard PC (i440FX + PIIX, 1996)(pc-i440fx-7.1)でだけまともに起動することが出来ました。M1 Macの場合は、Standard PC (i440FX + PIIX, 1996)(pc-i440fx-7.0)で起動することを確認しました。

HDDは2GBまでなのでそれ以上の仮想ディスクを指定しても動作しません。RAMはFixpack15適用前の状態だと512MBまで

※Network Cardをpcnetにしていますが一見使えるように見えて通信できません。後でne2k pciに変更してドライバを当てます。

WIN-OS/2によってOS/2上でWindows3.1のアプリが動作します。

以下は今回初回セットアップ時に利用したUTMの仮想マシンの設定です。

図:マウスドライバがエラー

図:起動できました。

図:WIN-OS2によってWin3.1アプリが起動可能

FX00505の適用

情報がほとんどウェブ上に残っていないのですが、OS/2 Warp 4のFixpackは大きく2つあり、Fixpack5であるFX00505と、Fixpack15であるxrjm015とでは適用手順が異なる為、まずはFX00505からやってみています。FX00505を適用していないと、Sci TechDoctorのインストール等ができない、またFixpack15が適用出来ないので必須の作業になります。

現在、日本語版のFixpackが手に入るサイトがここしか残っていないのですが、この中でFX00505の適用をする手順は概ね以下のような手順になります。適用することで、RAMの最大値が512MBだったものが512MBを超える容量でも使えるようになります。

  1. 31枚程度の空のフロッピーイメージファイルを用意しておきます。
  2. FX00505の中身を全部ダウンロードして、OS/2の適当なディレクトリに全て格納する(今回はc:¥fixpackとしました)
  3. フロッピーイメージを一個追加して、OS/2のコマンドプロンプトを開く
  4. 2.のディレクトリに移動する
  5. 以下のコマンドを打って、1枚目のディスクを作成する(fx00505.1がファイル名)
  6. 書き込みが終わったら、次のファイルといった具合にFX00505の数だけフロッピーイメージを作成する(他にもjr12925.zipのようにZIPで固められたオプションのfixpackや、fx00505s.3といったfx00505s・fx00505pの合計6個があるがこれらはデバッグディスケットだったりプリンタドライバなので不要)
  7. 出来上がったら、1枚目のディスクを挿入して、中に移動する
  8. コマンドプロンプトから以下のコマンドを実行して進める(GUIなserviceではないので要注意)
  9. 画面の指示にしたがって、フロッピーを入れ替えながら全部のFixpackを適用していく

Windowsと異なり一括で適用するみたいなことができないので、手間がかかります。故にこのフロッピー作成と一個ずつ適用は手間なので、以下の手法も有効でしたので残しておきます。

  1. 空のフロッピーは1枚だけ用意しておく
  2. FX00505の中身を全部ダウンロードして、OS/2の適当なディレクトリに全て格納する(今回はc:¥fixpackとしました)
  3. FDDの中身を全部格納するc:¥tempのディレクトリを作っておく
  4. フロッピーイメージを一個追加して、OS/2のコマンドプロンプトを開く
  5. 2.のディレクトリに移動する(cd c:¥fixpack)
  6. 以下のコマンドを実行してFDDイメージを作成しつつ、c:¥tempにその中身を連続コピーする(他にもjr12925.zipのようにZIPで固められたオプションのfixpackや、fx00505s.3といったfx00505s・fx00505pの合計6個があるがこれらはデバッグディスケットだったり、プリンタドライバなので不要)

    ※仮想FDD1枚を土台にしてc:¥tempに全部のデータをExtractします。
  7. c:¥tempに移動する
  8. コマンドプロンプトから以下のコマンドを実行して進める(GUIなserviceではないので要注意)
  9. 一括で作成されたフロッピーイメージのデータを連続してOS/2に適用してくれます。
  10. 完了したらOS/2を再起動する

再起動はコマンドラインから、 SETBOOT /IBD:C:を実行することでも再起動できます。再起動後OS/2コマンドプロンプトから、ver /rをすると、リビジョンが9.023→9.029に変化してれば適用成功です。こちらにリビジョンリストがあります。

図:FX00505適用中の画面

図:連続してFixpackを適用して完了した様子

図:末尾がsやpのファイルまで展開すると失敗する

図:FX00505適用成功しました

JRとつくパッチの適用

FX00505とは別に、ファイル名の冒頭にjrと名のつくZIPで圧縮されてる拡張子がcmdのパッチ類があります。こればBATファイルと言うわけじゃなく、単独の修正パッチでダブルクリックして、指示に従って導入すればオッケー。FX00505の適用後に導入します。

3つあるのでそれぞれ解凍した状態でOS/2側に渡してあげて、cmdを実行するだけ。

途中導入先ドライブの指定がありますが、c:¥を指定するだけでオッケーです。ここまでのFixpackをあてたことでCLOCK01.sysを起因とするブート時のエラーが出なくなります。

図:cmd形式で提供されてる修正パッチ

Fixpack15の適用

FX00505を適用できると、一気にFixpack15の適用が可能になります。FX00505と似たような手順で適用することができます。あらかじめ、OS/2側にこのサイトにあるcs_144.exeを渡しておきましょう。

  1. 空のフロッピーは1枚だけ用意しておく
  2. c:¥直下にcsf144, backupとtemp, xrjm015というフォルダを作成しておく
  3. csf144のディレクトリに移動する。cs_144.exeはこのフォルダに格納しておく。
  4. cs_144.exeを実行して解凍しておく
  5. xrjm015の中に入って、extというフォルダを作っておく
  6. XRJM015の中身を全部ダウンロードして、OS/2のxrjmディレクトリに全て格納する
  7. FX00505からloaddskfだけダウンロードしておいて、xrjmディレクトリに入れておく
  8. FDDの中身を全部格納するc:¥tempのディレクトリを作っておく
  9. フロッピーイメージを一個追加して、OS/2のコマンドプロンプトを開く
  10. 4.のディレクトリに移動する(cd c:¥xrjm015)
  11. 以下のコマンドを実行してFDDイメージを作成しつつ、c:¥tempにその中身を連続コピーする

    一気にextフォルダ内にFDイメージから分解したファイルが生成されます。
  12. 次に以下のコマンドを実行してセットする
  13. コマンドプロンプトから以下のコマンドを実行して進める

前回と違ってfixpack015はGUIのアップデータみたいなのが起動します。この場面まで来たら以下の手順で丁寧に実行していきます。

  1. サービスボタンをクリックする
  2. アーカイブパスの欄にc:¥tempと入力して了解をクリック
  3. 続行をクリックする
  4. いくつか途中でタイムスタンプがーっていうダイアログが出ますが全て了解をクリックします。
  5. 最後に適用完了後に終了をクリックします
  6. OS/2を再起動します。
  7. 起動時の左下や、OS/2のコマンドプロンプトでver /rとするとバージョン表記とリビジョンが大きく変更されています。これで適用完了です。

図:GUIのアップデータが起動します。

図:アップデータ適用中

図:続行でとにかく進めます

図:バージョン表記とリビジョン

WRJ8610とWRJ8620

WRJ8610というパッチおよびWRJ8620というオプションパッチが提供されており、主にTCP/IP関係のパッチです。適用してもしなくても良いのですが、したほうが望ましい。

しかし、この2つのパッチは適用手順が微妙に異なります。両者ともloaddskfが入っていないので入れてあげましょう。

WRJ8610については

  • DSKをloaddskfにて解凍するとinstallコマンドを実行するだけで適用出来ます。
  • このパッチはWRJ8620も合わせて適用が必要

WRJ8620については

  • DKSをloaddskfにて解凍する必要があります。
  • また、1つだけFIXT141.dskというファイルがあるのでこれも合わせて解凍が必要です。
  • Fixpack15と同様のインストール手順でコマンドプロンプトからserviceにて適用が必要(csfutilpathやcsfcdromdirのsetやCSF144が必要です)
  • 途中ネットワークカードの設定画面が出ますがとりあえずスルーしています。
  • backupのパス入力欄はあらかじめ用意しておいたc:¥backupのフォルダを手入力

図:WRJ8610パッチのインストール画面

図:WRJ8620パッチのインストール画面

Display Doctorをインストール

ディスプレイの設定がVGA以外で色々試しましたがどれも失敗し、VMがぶっ壊れるのでこちらのサイトに従ってScitech Display Doctor SE 7.04をインストールしてみることにしました。Fixpack15を当ててからだとこの作業が行えます。設定はVGAのままでも行けますが、自分はここでCirrusに変更しています。

  1. こちらのサイトからファイルをダウンロードする(ibmsdd704.zipというファイル)
  2. ファイルを解凍してOS/2側に渡してあげる
  3. OS/2側でc:¥直下にtemp2というフォルダを作って、ここに2.の中身を全部コピーする
  4. OS/2のコマンドプロンプトを起動する
  5. 3.のディレクトリに移動する
  6. 以下のコマンドを入力する
  7. Ctrl + Alt + Delで再起動しろというので、macOSですからControl + Option + fn + Backspaceでリブートする
  8. 左上のツールバーのアイコンをクリック→システム設定→システムを開く
  9. これまでなかった解像度が出てくるので、1024x768x65536を選んで、再起動します。
  10. すると、VGAですが16bit True Colorの大画面表示になりました。

これで、せまっ苦しいウィンドウで作業をしなくてすみます。

図:適用できる解像度が増えてる

図:無事に大画面表示になりました。

サウンド設定

インストール直後などではサウンド設定が有効になっていないケースがあります。また自分の場合Fixpack15を当てる前は有効だったのに、当てたあと設定が消えてしまいました。詳細すぎる技術書類はこちら

サウンドを再度有効化するには以下の手順で設定をします。

  1. CDROMにOS/2のインストールディスクをセットします。
  2. 左上のメニューをクリックして、OS/2システム→システム設定→インストール/削除→システム構成機能の追加をクリックする
  3. 下のマルチメディアの左横のアイコンのボタンをクリックする
  4. 左パネルからSound Blaster 16を選択して、追加をクリックします。
  5. 了解をクリックします
  6. 次ページをクリックします。次の項目も同様です。
  7. マルチメディアサポートにチェックが入ってるので、そのまま次ページをクリック
  8. ソースディレクトリはそのままに、インストールをクリックする
  9. 完了したら了解をクリックしてOS/2を再起動する

これで起動時やその他のアクションで音も出るようになりますが、フォルダオープン・クローズの音は煩いので自分はオフにしています。

図:セットアップ場所

図:Sound Blaster 16を選択

ネットワーク設定

UTMでの設定はpcnetをブリッジで指定していますがインターネット接続はできていません。pcnetのドライバ割り当ては成功していて、尚且つDHCPからのIPアドレスは取得できています。にもかかわらず、Netscape Communicatorで接続をしてみようと思うと接続できず、またpingを投げても到達できず、外部から取得してるIP宛にpingを投げても到達できず。どうやらpcnetは沼だったようです。

ということで、pcnetではなくne2k pciに変更し、以下の手順でドライバーを入れ替えたら成功しました。

  1. こちらに掲載されてるNDIS2 用 OS/2 ドライバをダウンロードして解凍し、OS/2側へ渡す(RTL8029というドライバになりますが、こちらはNE2000互換なのでne2k pciが動作する
  2. 左上のメニューをクリックして、OS/2システム→システム設定→アダプターとプロトコル設定を開く
  3. 構成をクリック
  4. つづけて構成をクリックする
  5. デフォルトだとAMD PCNETがカレント構成にいるので全部除去します。
  6. ネットワークアダプター項目で他のアダプターをクリック
  7. 1.のドライバがある場所を指定
  8. RTL8029がリストに出てくるのでダブルクリックするとカレント構成に追加される。
  9. 隣のプロトコルではIBM TCP/IPを選択して追加する
  10. 了解をクリック
  11. クローズをクリック
  12. 終了をクリックする
  13. config.sysの更新が出てくるのでチェックが入ってる状態で終了をクリックする
  14. 了解→終了をクリックして、一旦ここでOS/2を再起動
  15. すると、DHCPモニターではlan0デバイスできちんとIPアドレスがルーターから振られてるのを確認できる
  16. Netscape Communicator 4.6.1を導入して起動し、httpsでは無いサイトを開く(例:http://www.lisa2.com
  17. 無事に開ければ成功

これでなんとかOS/2でもインターネット接続が完了しました。ただファイルサーバに接続するには同じドライバ画面のプロトコルからIBM OS/2 NETBIOSなどが必要かもしれない。

※pcnetと比較するとブートするまでの時間がだいぶ伸びた気がしますが、待っていれば問題なく起動します。

図:RTL8029がNE2000互換なのでこれを利用する

図:無事にウェブブラウジングできました

キューカードの非表示

インストール後設定等の場面で出てくる、黄色いカード型の説明文。非常に鬱陶しいです。これをキューカードと呼ぶらしいですが、消したい場合には、以下の設定で消すことが出来ます。

  1. システムの設定等を開く
  2. キューカードが表示のカードにある青いアイコンをクリック→プロパティを開く
  3. キューカードの表示のチェックを外しダイアログを閉じる

これで次回よりはこの説明文が出てこなくなります。

図:鬱陶しい黄色い説明文

DR-DOS 7.03

MSDOSよりも前の時代、Digital Research社のCP/Mが市場を得ていた後、MS-DOSの登場で一転、それに対抗する為に作られたのがDR-DOS。のちに買収されてNovellの所有となった後に、Caldera社に買収。OpenDOSとしてリリースされて、7.02よりDR-DOSとなる。Lineoに譲り渡された後、DR-DOS.inc所有となり最後を迎えたDOSです。

最終版のDR-DOS 8.xはFAT32対応や2GB以上のHDD対応など対応したものの権利関係にぶつかり、7.03に戻すという末路を辿ってる。

オープンになったとは言え、既に多くのサイトがシャットダウンであったりアーカイブ状態。日本ではDR-DOSユーザ会のアーカイブ日本語化の一部サイトが残ってる程度。しゅーず・しゅーずの転載アーカイブに若干テクニックが残されています。VMware Workstation用に作ったディスクをQemu用に変換してUTMに取り込んでみました。

こちらのサイトにもあるように、DOS特有の問題であるconfig.sysに起因する問題を修正しておいたのであっさり変換したものが起動しました。紛れもないDOSなのでゲームなどを動作させる土台にすることは可能です。DOS/V化することも可能のようです。拡張パッチのサイトはWebarchiveに残っていました。

正直、今日ではDOSBox-xという優秀なDOSエミュレータがあるので、あえてUTMでDOS環境を作って遊ぼうという奇特な人はいないでしょうが、古きをしる術として残しておくのは大切なのではないかと思います(既にDR-DOS自体が入手が難しいですし)。

※当時流れた噂では、PC-DOSではWindows3.1は動くけれど、DR-DOSではなぜか動かせないみたいなものを聞いたことがあります。

※ちなみにMS-DOSは、CP/Mをリバースエンジニアリングで解析し、同じ機能を自力で実装したティム・パターソンのQDOS(86DOS)を元に作ったものであって、CP/MやDR-DOSをベースに作ったものというわけではありません

図:既に風化しつつあるDOSの歴史の1ページ

Windows8.1

Windows7の後継として登場し、何故かタブレット最適化を施したが故に大不評を買って割と短い期間でサポートが終わった不遇のOS、Windows8。しかし、個人的にはWindows7にあった電源周りのコントロールの弱さによるKP41病が治っていたり、MetroUIだけ除けば、Windows10よりも軽量につかえる安定したOSだったのでは?と思ってたりします。

WindowsXPのような、今からすれば軽量なOSであれば、x86のエミュレーションでも十分に動作させることができますが、Windows8ともなると流石に厳しいだろうとやっていなかったので、テストしてみました。VMwareのVMDKをqemu-imgにてqcow2に変換、UTM上で仮想マシンを作って差し替えて起動させてみました。

わりと素直に起動し、以下の作業を行いました。

  • SPICE Guest ToolをインストールしGPUドライバを導入
  • RAMを4GBに指定変更
  • 4コア指定に変更
  • ネットワークドライバは「e1000」に変更
  • サウンドはICH9に変更

実際に動かしてみた感想ですが、やはり重い。CPUが100%で張り付いてる。Macbook Air 2020の温度もかなり上昇するため、かなり忙しくエミュレーションしてるのがわかります。サウンドはきちんと再生されてますが、実用には向かない。M1 MacでなければCPUエミュレーションが無い分かなり快適に動くのではないかとは思います。

シャットダウンや再起動時にブラック画面で止まってる?という状態もあるので、

※色々検証してみた結果、v4.0.9だと再起動で停止してしまうバグがあるので、それ以上のバージョンを使うと良い。しかし、4.0.9以上の場合、Windows7 SP1のインストールを試してみたところ、v4.0.9ではCDからブートできたが、v.4.2.5以上ではブート自体できず。このようなバージョン間のトラブルがあったりするので、安易にバージョンを上げられないという注意点があります(ただし、v4.0.9で作成したマシンはv4.2.5で起動させることは可能でした)。

図:ものすごく動作が重たい

Windows Me

変換してセットアップ

Windows9x系とNT系を統合して次期OSを作るぞと息巻いて、結局間に合わず、NT系のWindows2000と9x系のWindows Meとして出された正式名称Windows Millenium Edition。結局は9x系なので由来の不安定さを引きずりながら、XPが出るまでのつなぎ役として駆り出された最後の9x系OSです。

Vista同様に不遇の歴史の1ページとして取り上げられることが多いものの、XPへの布石がいくつか垣間見れるそんなOSでした。

前述同様qemu-imgにてVMware Workstationで作成していたVMDKイメージを変換して起動するかテストしています。qcow2イメージを差し替えてオン。UTMの設定自体はWindows98SEとほぼ同じ設定にしてあります(サウンドのみAC97に変更)。割と素直に起動。ドライバインストールではいくつか不明なデバイスとして認識されてるものの、スルー。

3回ほど再起動をして、Windows2000同様の起動音が鳴り無事に起動しました。Win98Tools.isoを利用してGPUをSpice QXL (primary, vga, compatible)(qxl-vga)に変更、VESA Spice QXL Driverを割り当てたところ(デスクトップにコピーしc:¥windows¥デスクトップがパス)、無事に32bitフルカラーで大画面表示が可能になりました。

サウンドもバッチリ再生可能。ただし、9x系とは言えWindows98よりもDOS等の面では互換性が薄れ動かないことが多いので、古いDOSや16bitアプリを動かしたい場合は、98SE以前をおすすめします。

※Sambaファイルサーバにアクセス出来なくはないのですが、Samba側でwindows9x系の設定を追加してあげないとログオン出来ません。

図:ドライバを導入している様子

図:SPICE Display Driverをインストールする

図:無事に起動しました。

図:もちろんネットも使えるよ

DOS窓の注意点

Windows98SEやWindows MeでDOS窓を開くと、画面が乱れておかしな表示になることが多々あります、この場合には、一度DOS窓をキーボード操作でフルスクリーンにして戻してあげると正常になります。

この場合、macOSでのキーボード操作は、Optionキー+Enterでフルスクリーンになり、もう一度Optionキー + Enterでウィンドウ表示となり正常な表示になります。ただしコマンド入力はウィンドウ表示だとおかしな状態になるのと、chcp 932でShift-JISにしないと文字化けといろいろと問題はあります。chcpで切り替えた後ならば、普通に入力することが可能です。

図:こんな表示になってしまう

図:正常な表示になった

超漢字4

国産OS BTron3をベースにデスクトップで利用可能な形で作られたOSがこの超漢字。正式名称はB-right/VというOS名となり、他のOSとは一線を画す特殊なOSでした。日本の漢字表記は現在でのPCではそのすべてを表示出来ず、特に旧漢字や当用漢字の多くはUnicodeでは外されていたりするので、その道の人が使う場合には物足りない。といった物書きな人向けのOSです。

一応、USBやネットワークも使える。資料を調べる為にMacでChromeを開いて見ると全部文字化けというのが・・・・Safariだと問題なく見ることが可能です。

UTMでは前述同様VMDKをqcow2に変換して差し替える。設定はWindows98SEと同じものを設定してるものの、Display Driverはvmware svgaを指定して使うように変更。ネットワークもRTL8139に変更をして起動。非常に高速で起動します。ネットに接続やVGAの解像度変更は成功しました。

また、SoundBlasterを指定していますが、こちらのサイトからsound.bpkをダウンロードしてアーカイブとして開き、中に入ってるファイルを開くと説明書の中に指示が入ってるのでその通りに入れたら再生できました。

日本語入力はControl + Capslockで日本語になったり、Command + Capslockで英字入力になるようです(英字キーボードの場合)。

図:国産OSの代表です

図:サウンドも認識しました

Windows CE 3.0

スマフォが出る以前、更に言えばWindows Mobileよりも更に前に、Handheld PC用の組み込みOSとしてだけリリースされた簡易版WindowsみたいなポジションだったWindows CE。Pocket ExcelやらWordやらが入っていて、当初は英語版のみ。ある意味じゃ現在のスマフォの先祖みたいなもの(実際にはPalm OSが祖先と言える)。

対応CPUがx86だけじゃなくMIPS, ARM, SuperH, PowerPCなど幅広く対応していた。組み込みなのでPOSレジやらシンクライアント端末などにも搭載されていて系統としては9xシリーズじゃなくNTシリーズになる。

日本ではどちらかというとPDAとしての認知が多いけれど当時は、PalmOSなどもありつつも、一部の電子手帳じゃ満足出来ないガジェッターやモバイラーの高度な電子手帳な位置づけでした。どこかの大学でTerminal Serverのリモート接続用端末としてこれが使われていたのを見たことがある。

当初、UTM4.6.xでは以下の設定でマウス・キーボードも動かすことができました。サウンドやネットワークはまだできていない。

図:ちゃんと使えました

図:Pocket Wordで入力

iOSでUTMを使ってみる

PC版とは異なり、iOS版のUTMはインストール方法がかなり複雑です。脱獄不要ではあるのですが、それが故にややこしい手順を踏まないとインストールが出来ないのが難点なだけでなく、iOSのスペック特にiPadの場合はiPad Air(第4世代)以降のメモリとCPUが無いとなかなか厳しいのではないかと。

今回使用するiPadは2017年の第5世代なので、2GBしかメモリが無いのでちょっと厳しい

UTM SE Retro PC Emulatorとして2024年7月、ついに公式のAppstoreに掲載されました。ただし掲載するに当たって、AltStoreのものと違いJITコンパイラが搭載されていないので、動作が遅い。早いものはAltStoreを利用しましょう。

Mac OS X on the iPad Pro (2020)

AltStoreをインストールする

UTMは当然、App Storeでリリースされてるわけではないのでちょっと難しいです。今回はmacOSで作業をしています。

  1. AltStoreのサイトからAltServerをダウンロードしてmacOSにインストールし、起動する
  2. 起動すると、メニューにアイコンが出てきて、クリックしたら必須ということなので、Install Mail Pluginを実行
  3. Mailアプリを起動して、環境設定⇒プラグイン管理⇒Altplugin.mailbundleを有効化する
  4. iPadとmacOSをケーブルで接続する(iPad側で信頼するをタップする)
  5. AltServerのメニューからInstall AltStore⇒自分のiPadを選び実行すると、iPad内にAltStoreがサイドロードされる
  6. iPad側設定⇒一般⇒VPNとデバイス管理を開き、デベロッパAPPに自分のメアドがあるのでタップする
  7. 信頼するをタップすると、Altstoreが起動出来るようになる

これで、UTMのアプリをサイドロードする準備が整いました。ちなみにサイドロードしたアプリは、最大7日しか使えず、AltStoreでRefreshをすると、7日延長されるという仕組みになっています。

図:AltStoreアプリを押し込む様子

図:アプリに対して信頼しないと起動出来ない

UTMをインストールする

次に、仮想環境であるUTM自体をインストールします。

  1. UTMのGithub Releaseページの中にあるAssetに、UTM.SE.ipaというファイルがあるでの、これをiPadでダウンロードする
  2. iPad内のAltStoreを起動して、MyAppを開く
  3. 左上の+ボタンをタップして、先程ダウンロードした8.のipaファイルを探し出して選ぶ
  4. 無事にインストールが完了するとMyAppsにUTM SEが登場する
  5. UTM SEがサイドロード出来た

これで、1から仮想マシンを作成しても良いですし、ギャラリーからOpen UTMにて設定を取ってきても良いのですが、スペックの低い場合は動かない事がほとんどなので、設定を見直す必要があります。

図:UTMがインストール出来た

Android x86

  1. 今回はこちらのサイトで公開されてるAndroid x86のAndroid 4.4のUTMをiPadでダウンロード
  2. ダウンロードが完了したらタップして、解凍する
  3. 解凍したAndroidのUTMをタップすると、UTM SEで開かれてインポートされる
  4. 仮想マシンを長押ししてEditで入り、2コア、512MBのメモリ設定に変更して、SAVEする
  5. 仮想マシンを起動すると、Android x86が起動する!?といいんだけれど。

マシンスペックが低すぎて、2コア512MBのメモリでは、Androidのメイン画面まで辿り着けず。macOSでテストした時は、2GBメモリと4コア指定ではなんとか動いていたので、今どきのiOSデバイスのスペックなら行けるんじゃないかなと。

※android-x86系のBlissOSPrimeOSFydeOSは動作しませんでした。

図:ブート画面までは行けた・・・

図:macOS上では動くのだけれど

関連リンク

M1 MacやiOSでも動く高機能な仮想環境UTMを使ってみた” に対して12件のコメントがあります。

  1. 杉崎忠久 より:

    Apple Silicon MacBookでintel時代のMac OSX(具体的にはSnowLeopard Server)動かせないかと、御サイトにたどり着きました。UTMの詳しい説明、またこまめにアップデートされておられること感謝します。

    さて、Mac OS X Marvericksの項で、
    > ※こちらのサイトを参考に10.6 Snow Leopardを挑戦してみましたが、どうしてもKernel Panicで止まってしまう。
    件で、
    https://adamroe.me/blog/snow-leopard-utm.php
    参照してみました。2022-3-26に更新されていて、CHANGELOGに
    「OpenCore EFI imageからのブートにM1 Macでは失敗していたが、デフォルトのHfsPlus.efiドライバから VBoxHfs.efiに変えたらIntelとM1 Macの両方でブートに成功するようになった」
    とあります。
    その上でトライしてうまくいかなかったということでしょうか?

    自分で確かめればいいのですが、なかなか取り掛かれずにいます。申し訳ございません。

  2. officeの杜 より:

    杉崎様

    officeの杜管理人です。2022年3月頃にチャレンジした時に失敗していたので、その当時はなかなかブート失敗から先に行けなかったのですが、変更が加わっていたのですね。

    自分も改めて、手持ちのSnow Leopardで挑戦してみてチャレンジしてみて、成功できたら追記してみたいと思います。

    1. 杉崎忠久 より:

      ご返事ありがとうございます。

      その後、当該サイトに寄せられたコメントを見てみたところ、どうも解決はしていないかも知れません。細かな環境の違いか、うまくインストールできたというものと、できないというコメントの両方が書き込まれているようです。UTMも4.0が正式版となって、Venturaも明日あたりリリースされるという噂。

      M1 MacBookで、クラシックOS環境はSheepShaverでまあまあ実用的に使えているのですが、32ビット版のPPCアプリを実用的に動かせるOS X環境が得らず、なかなかIntel MacBook Pro(2014)を処分できません(笑)。Appleが仮想環境での動作をライセンス上禁じていないSnow Leopard ServerのインストールDVDは持っていますので…

      1. officeの杜 より:

        試してみましたが、やはり駄目でした。
        変換を掛けたものは、リスト自体にでてこなくなり、変換を掛けていない素のISOファイルのままの場合リストに出てくるのですが、やはりKernel Panicで落ちる。

        10.5 LeopardのPowerPC版は動作成功しましたが、結構もっさりです。

        10.6だけは鬼門ですね。

        1. 杉崎忠久 より:

          やはり駄目でしたか。
          10.5では動作するのですか!!
          わざわざ確認していただき、ありがとうございました。

  3. poncho より:

    お忙しいところ恐縮です。報告させて下さい。
    詳細に説明していただいたお陰でMavericksの仮想化に成功しました。M2チップのMacBook AirでOSはVenturaですが、かなりきびきびと動作します。ただ、32bitのアプリケーションが起動できません。DVDプレーヤー, Bento, File Buddy 10, Mariner Calc, Tex-Edit Plusなどです。そういう報告は他にも上がっていますか。原因は何か、お分りになりますか。

    1. officeの杜 より:

      ponchoさん

      officeの杜管理人です。
      当方だと、普通にJW_Cad for Macの32bitモードおよびTex-Edit Plusも動作しました。
      セキュリティのダウンロードしたアプリの実行許可で起動が阻止されていたりしませんか?

      32bit app動かしてみた

  4. poncho より:

    追記します。
    MavericksのSafariはもちろん64bitですが、「情報を見る」から32bitで開くことも出来ます。そこでこのSafariを32bitで開いてみたところ、これは落ちずに起動しました。ご参考までに。

    1. officeの杜 より:

      pnchoさん

      officeの杜管理人です。当方だと、32bitモードでなくともSafariが問題なく動いていたりします。。UTMはv4.x系を使っています。

  5. 中村太一 より:

    御サイトにて、WindowsXPではUSBメモリが使えるとありましたが、こちらで試したところ「USBデバイスが認識されません」と出て使えませんでした。
    ドライバを消してまた接続するなどのことを試しましたが、変化はありませんでした。もし、よければどのようにして使えるのかネットで探してもどこにも情報がなかったのでご教示願えませんか?

    1. officeの杜 より:

      中村さん

      Officeの杜管理人です。UTM4.4.x上のWindowsXPにて、調査してみました。恐らく設定や利用してるUSBメモリに問題があるのではないかと思います。

      要点をまとめて追記したのでチェックしてみてください。

      自分の場合、USB2.0 FAT32の16GBの古いUSBメモリを使っていますが認識しています。NTFSでも可能でした。

      https://officeforest.org/wp/2022/03/08/m1-mac%e3%82%84ios%e3%81%a7%e3%82%82%e5%8b%95%e3%81%8f%e9%ab%98%e6%a9%9f%e8%83%bd%e3%81%aa%e4%bb%ae%e6%83%b3%e7%92%b0%e5%a2%83utm%e3%82%92%e4%bd%bf%e3%81%a3%e3%81%a6%e3%81%bf%e3%81%9f/#USB

      1. 中村太一 より:

        ご返事ありがとうございます。
        USB2.0のUSBを使っても駄目だったので途方に暮れてこちらに質問させていただいたのですが、「Microsoftのデバイスドライバが壊れてる(5.1.2600を手動でインストールしたら治るかも)」という情報のおかげで無事に認識しました。ありがとうございました。
        余談ですが、USB2.0のUSBメモリ自体、今後絶滅すると思うので何本か買っておいたほうがいいと思いました。共有フォルダが使えるのが一番いいとは思うのですが…

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)