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

macOSで仮想化といえば、VMware FusionやParallels、変わり者としてはWineなどが使われてきています。しかし、これらはVirtualizationという括りになり、CPUエミュレーション等は行っていませんので、基本x86-x64の環境でなければ使う事が出来ません(最近、ようやく前者2つはM1 Macに対応した)

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

目次

今回使用するアプリ等

今回はとりあえず、Macbook Pro 2016(Intel Mac)にて、Ubuntu LinuxのVirtualizeと、Mac OS 9.2.1のEmulatedを利用してみようと思います。ギャラリーにはそのOSを動かすための設定がいくつか既に用意されているので、面倒なセッティングの手間を省く事が可能です。時間があれば色々他のOSも試してみようと思います。

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

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

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としてサポートするなど、かなりのスピード感で進化しています。

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

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

macOSでUTMを使ってみる

インストールと設定

UTMをインストールする

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

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

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

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

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

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

  1. 適当なテキストファイルを作り、floppy.imgという名称で保存する
  2. UTMのドライブの設定で、RemovableにてFloppyを追加する。追加後、Image TypeをDisk Imageへ変更する
  3. 仮想環境一覧に戻り、2.で作ったドライブに1.のファイルを指定する
  4. 起動したら、Windows3.1ならば、Aドライブとして認識されるのでFAT16等でフォーマットする
  5. 後はこのファイルを経由して受け渡しが可能。
  6. 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が認識できる形式でフォーマットやインターフェースを指定してあげる点が注意点です。また、接続というよりインポートという形になり、リムーバブルドライブでは認識されないので注意です。

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

図:インポートする様子

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

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

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

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のベンチマーク

Ubuntu Linux 20.04

OSのインストール

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

  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を利用すれば同様にインストールが可能です。

※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をダウンロードして、仮想環境内で中に入ってるインストーラを実行する必要があります。

macOS 12.4 Monterey

Intel版/ARM版の2つが存在するmacOS 12.4 MontereyをM1 MacのUTMではゲストの仮想マシンとして作成する事が可能です。ゲストでmacOSを使う理由の中で一番有意義なのは「開発環境の構築テストをする為」というのが挙げられます。ホストのOSを汚さずに、色々な開発環境用のアプリのインストールとテストを行えるので、M1でまだまだ十分ではないmacOSの開発環境構築では利点が大きいです。

OSのインストール

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

  1. Create a New Virtual Machineをクリック
  2. Virtualizeを今回は選択
  3. macOS 12+をクリックする
  4. そのままcontinueをクリックするとipswというバックアップファイル(UnivarsalMac_12.4_21F79_Restore.ipsw)を探索してくれます。
  5. RAM 6GB, 4コア, HDDは100GBで指定しました
  6. 自動的にインポート作業が開始されます。
  7. インストールが終わるとサイドバーにmacOSのアイコンが出現します
  8. 起動すると何やらメッセージ(仮想HDDの中身消すけどOK?的な)が出ますが、OKをクリックして進める
  9. 10分くらいバックエンドでインストール作業が進む。
  10. 完了するとHelloの文字とともにセットアップが開始されます

現時点で、Spice Guest ToolsはmacOS向けに用意されていないので、インストールが完了したらドライバの割当作業等はありません。ARMのMontereyとしてインストールされたので、エミュレーションはされない為かなり快適に動作します。

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

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

現時点での問題点

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

  • ゲストの解像度をウィンドウのサイズに合わせて自動調整はされません。
  • キーボードが101英語キーボードとなるため、日本語キーボードのmacOSだとマップされてるキーが異なる(@マークはShift+2キーで出る)。この問題点はIssueでも取り上げられています。
  • その為、日本語入力のIMEのオンオフもオカシナ状態に
  • KeyboardSetupAssistant.appが起動しないので現状変更も出来ない
  • UTMの設定画面も他のOSと違いちょっと特殊になってる
  • ホストとゲストの間でのファイルの直接的なやり取りは出来ません(SMBやUSBメモリを使う必要性)
  • また、当然クリップボード共有もない為、コピペのやり取りも出来ません(v3.xまで)。

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

ディスプレイ設定もUTM側のDisplayに細かい解像度設定があるので、こちらで設定しておくと良いでしょう。

ネットワークはShareになっているので、自分はBridgeに変更しています。

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

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

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

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にすることも可能です。

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で阿部寛氏のホームページを開いてみたら開けました(他のhttpsなページは流石に全滅ですが)

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

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

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

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

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

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プロトコルを使える別のマシンを用意する

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のディスクイメージを直接ダウンロードする
  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が存在するので、それは削除してしまう

つまり、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を動かすのはかなりシビアです。その為、以下のような設定で仮想環境を用意する必要があります。

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

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

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

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
元サイトで動画を視聴: YouTube.

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が利用できません。

こちらのサイトにPnPISAやPlag and Playの設定をオンオフして検出させる方法も試してみましたが、結局同様のエラーで使えず。ということで、以下の手順でAC97のドライバを割り当てて、こちらのサイトを参考にSciTech Snap Audio for NT4を使ってループバックで音を拾う事がかろうじてできました(音だけカックカクですがとりあえず鳴らせました)。UTM上もAC97にしておきましょう。

  1. こちらのサイトからAC97のサウンドドライバ for NT4をダウンロードしてしておく
  2. こちらのサイトからSciTech Snap Audio 1.1.2をダウンロードしておく
  3. 1.と2.についてNT4側に渡してあげる
  4. AC97のドライバを入れて、Snap Audioのドライバを入れる
  5. コントロールパネルのマルチメディアを開く
  6. オーディオデバイスとMIDIデバイスに2つのサウンドデバイスが登録されてるのを確認出来る

再起動してNT4の再起動音がなれば大成功(ただ、カックカクのはず)。なぜカックカクなのかは不明・・・治ったら最高なんだけれどね。サウンドカードが認識してくれないとNICも使えない(エラーでコケるとほかもコケるらしい)。

図:AC97セットアップ画面

図:サウンドカードが見事に認識した

ファイル共有

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のウィンドウをそのまま閉じて終了となります。

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

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

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.5とv7.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のスレッドには同様の報告があがっていますが、下手に変更して他のデバイスが動かなくなるということもあり得るので、この問題点はノータッチで問題ないです。

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

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. デスクトップにwic98toolsでコピーしておいたものを指定するのに、「特定の場所の・・・」を選んで進める
  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系Windowsの完成形の1つがこのWindowsXP。今となっては古臭く実用的ではないですが、多くの9x系やNT系のゲームを動作する事が出来た現在のWindowsのご先祖様。PPC Mac OS 9上でConnectix VirtualPCを動かしていた時代を思い出します。

公式にはWindowsXP SP3まで提供されていました。今回はこのWindowsXPをインストールして動かしてみます。

図: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のライセンス認証が電話認証ながら出来ることに驚き!!

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のままで十分。32bitカラーでフル解像度が利用可能です。こちらの最新のGuest Toolsの場合、問題なく適用できます。解像度の変更はウィンドウサイズではなく、画面のプロパティのディスプレイから変更をする必要があります。

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

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

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

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

SP3のインストール

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

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

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

ファイル共有

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コアでも動いた

Windows11 ARM版

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

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

事前準備

  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の正規のライセンスキーで認証することが可能になっていますが、仮想TPM等が無い状態なので、おすすめしません。仮想マシンでは、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 Marvericks

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

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

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

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

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

事前準備

今回の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で作成します。ちょっと特殊な構造の環境になります。以下のような設定になります。

System
  • Architecture : x86-x64
  • System : Standard PC (Q35 + ICH9, 2009)(alias of pc-q35-6.2)(q35)
  • Memory : 4096MB
  • CPU Count : 4
  • Force Multi Coreにチェックを入れておく

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

Qemu

追加オプションとして、以下の2つを追加する

Network
  • Networkmode : Shared Network
  • Emulated Network : usb-net

Bridgeだと何故か繋がらなかった

Drives

既存のドライブは全部削除して、以下の4つを順番に追加する

  • PC System Flush : OVMF.binをインポート⇒image typeをBIOSに変更
  • PC System Flush : EFI-Legacyをインポート⇒Image typeをDisk Imageに変更、InterfaceをUSBに変更
  • IDE Removable : DVD-CD-ROMとして追加⇒ISOにMarvericks.isoを指定
  • IDE : 空のディスクイメージを作成(32GBで今回作成しました)

図: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に接続してみた

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

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

手持ちのVMware Fusionで動くように作っていた数々の仮想環境をそのままUTMでも使えたら最高だなと思いしらべてみました。今回はインストールやセットアップが非常にやっかいな「IBM PC-DOS 7.0 + Windows 3.1」のVMDKファイルをUTMで使えるようにしてみました。

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

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

  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. Imagesフォルダを開き、中に入ってるdata.qcow2を4.で変換したファイルと置き換える
  8. 仮想環境の設定を以下のように変更する

    ※ドライバ類はVMDKの時に入れておいたものをそのまま利用しています。
  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.comやne2000.com、Trumpet Winsockを導入し、ne2k-pciで設定、Autoexec.batに記述を追加すれば、IE4.01でインターネット接続も可能です。

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

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

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

図:OS/2 Warpは起動画面だけ成功

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

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

iOSでUTMを使ってみる

PC版とは異なり、iOS版のUTMはインストール方法がかなり複雑です。脱獄不要ではあるのですが、それが故にややこしい手順を踏まないとインストールが出来ないのが難点なだけでなく、iOSのスペック特にiPadの場合はiPad Air(第4世代)以降のメモリとCPUが無いとなかなか厳しいのではないかと。

今回使用するiPadは2017年の第5世代なので、2GBしかメモリが無いのでちょっと厳しい

Mac OS X on the iPad Pro (2020)
元サイトで動画を視聴: YouTube.

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デバイスのスペックなら行けるんじゃないかなと。

図:ブート画面までは行けた・・・

図:macOS上では動くのだけれど

関連リンク

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください。