Maxima で綴る数学の旅

紙と鉛筆の代わりに、数式処理システムMaxima / Macsyma を使って、数学を楽しみましょう

-その他- M1 iMac上でUTMを使ってmacOS Montereyを仮想化する

目次

 

M1 Mac向けの仮想環境

M1チップ(通称Apple Silicon)を使用したMacでも開発に必要な環境がかなり整ってきました。私のiMacでもhomebrewパッケージマネージャによるソフトウェア導入、Docker Desktop for Macによるコンテナ実行環境などが実用的に動くようになってきました。

仮想環境についてはVirtualboxを入れてLinuxなどを動かそうかと思っていたのですが、当面DockerでLinuxを動かすことでことが足りそうなので一旦保留していました。そこにUTMという新しい仮想化ソフトウェアがmacOSの仮想化APIに対応して登場、というニュースを見つけました。

applech2.com

このニュースのヘッドラインからもわかるようにmacOS VMを作ることができる、というのが試してみようと思った動機です。自分の環境を汚さずに色々試せる環境が作れるわけです。python3のpip環境やnode.jsのためのnpm環境はいくつか異なった導入手段があります。これらをいきなりM1 iMacに入れるのではなく、事前に仮想環境で試して要求を満たすことを確認することができます。とても便利ですね。

 

UTMとは?

オープンソースの仮想化ソフトウェアです。ホストOSとしてはどうもmacOS 及び iOSのみをサポートしているようです。CPUアーキテクチャとしてはx86, ARM64, PowerPC, RISC-Vなどをサポートしています。CPUエミュレーションにはQEMUを使用しています。またゲストOSとしてはLinux各種ディストリビューションWindows各種バージョンに加えて、macOSもゲストOSに使えます。macOSを仮想化する際にはAppleの仮想化フレームワークAPIを使うことでARMインストラクションが直接M1チップで実行されるようです。

Githubで開発プロジェクトがホストされています。

github.com

機能的にはまだこれからの部分も多そうですが、基本的な仮想化は試した限り安定して動作しています。

 

UTMでのmacOS Monterey仮想化の手順

まずUTMをインストールする必要があります。3通りの方法があります。

App Storeから入手する場合のみ1220円の有償となりますが、これは作者を応援する際の手段として提供されています。無償で入手できるものと有償で入手できるものには差分はないそうです。

インストールが済んだら起動します。こんな画面が表示されます。

f:id:jurupapa:20220213233749p:plain

この中の右側の4つのボタンの中のCreate a New Virtual Machineを押せば新しい仮想環境の作成を開始することができます。以下画面キャプチャで手順を示します。

f:id:jurupapa:20220214210903p:plainVirtualizeを選択しましょう。

f:id:jurupapa:20220214211103p:plainmacOS 12+を選択します。

f:id:jurupapa:20220214211219p:plain初めてなら単にNextを押します。

f:id:jurupapa:20220214211446p:plainメインメモリを6GBにしました。

f:id:jurupapa:20220214211531p:plainSSDを64GBにしました。

f:id:jurupapa:20220214211633p:plain内容を確認してNextを押します。

f:id:jurupapa:20220214211713p:plain

左側のペインの上から2つ目のところで、macOSのダウンロードが始まりその進捗バーが表示されています。私の環境ではダウンロードに20分ほどかかりました。ダウンロードが終了するとこんな画面が表示されます。ダウンロードが終了し下の画面が表示されたら無事に仮想環境が1つ作成されたことが分かります。

f:id:jurupapa:20220214212024p:plain

右向きの矢印をクリックすると仮想環境が起動します。まだOSがインストールされていないので、以下の確認画面が最初に表示されます。OKを押しましょう。

f:id:jurupapa:20220214213725p:plain

以下のような画面が表示されます。ウィンドウの上部のバーにOSインストールの進捗が表示されます。

f:id:jurupapa:20220214213906p:plain

この進捗が100%になると自動的に再起動がかかりインストールしたmacOSが起動します。helloという文字がオシャレに表示された後、ここからmacOSのイニシャルセットアップが始まります。

f:id:jurupapa:20220214214133p:plain

ここからは全く普通の工程となりますので省略します。

 

現状でのUTMの不具合

この記事を書いている時点でUTM3.0.4をインストールして使っています。残念ながら大きな不具合を見つけてしまいました。

キーボード配列がちゃんと認識されません。ホストOSではiMac用の日本語キーボード配列で認識されています。しかしゲストOSではASCII配列で認識されており、少し調べた限りでは正しく認識させることは出来ませんでした。そのためキーボード上の括弧の位置が右にひとつ分ずれていたり、各種記号が全く別の場所にマップされています。

いわゆる英語キーボードの使用経験がないと非常に使いづらいです。近いうちに直るといいのですが、、、