Parallels DesktopでmacOS仮想マシンを構築

# はじめに
私は仕事や趣味の開発にWindowsを、また言語処理の勉強にUbuntuを使っていますが、ハードはMacBook ProやMac miniで、どちらのOSもParallels Desktopで仮想化しています。

今度、Deep Learningの勉強にふとmacOSを使ってみたくなりました。普通ならMacをそのまま使うかと思いますが、開発環境の構築などで試行錯誤することを考えると、仮想マシンの方がスナップショットで分岐したり戻したりできて便利です。そこで、Parallels Desktopを使いmacOSの仮想マシンを作ってみることにしました。Mac on Macです。

最初はオフラインのインストーラの入手方法を調べたり、起動イメージの作り方を調べたりしていたのですが、Parallels Desktopの場合、ホストOSと同じバージョンのOSで良ければそんな作業は全く必要なく、驚くほど簡単に作れることがわかりました。今回はその手順のご紹介です。

# 私の環境
## ハードとホストOS
今回は我が家のMac mini (Late 2012）＋macOS Mojaveに構築しました。もう7年前のハードですがまだまだ現役です。先日リリースされたmacOS Catalinaの動作対象にもギリギリで入っているので、そのうちアップグレードしようかと思っています。
![スクリーンショット 2019-10-26 18.45.14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139624/b601483a-c47a-1888-1337-abb723a673be.png)
キーボードはHHKB Professional2の英語配列モデル（PD-KB400W）で、キーレイアウトはPFUのサイトの[ホーム > 製品 > Happy Hacking Keyboard > HHKB Professional2 > 仕様](https://www.pfu.fujitsu.com/hhkeyboard/hhkbpro2/spec.html)で確認できます。

## 仮想化基盤
仮想化のツールはParallels Desktop 15 for Mac Pro Editionです。今回はPro Edition特有の機能を使わないので、Standard Editionでも手順は同じだと思います。
![スクリーンショット 2019-10-26 18.44.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139624/bfa1a824-4efd-0a74-83a6-da866eb6cb81.png)

## ゲストOS
ホストOSと同じmacOS Mojaveを入れます。
なお、ホストOSと異なるバージョンのmacOSを入れる場合は、インストーラの入手や起動イメージの作成などが必要になり、この記事の手順はまったく役に立ちません。ご了承ください。

# 構築の手順
## 1.仮想マシンの新規作成
Parallels Desktopを起動して、「ファイル」メニューの「新規...」を選び、無料システムの一番右にある「インストールmacOS 10.14.6回復パーティションを使用」を選び「続行」します。
![スクリーンショット 2019-10-26 11.43.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139624/712044db-6a36-4189-2d86-95560466435b.png)
確認の画面がでてきますので「インストール」します。
画面の説明にあるように、なんとmacOS復元で使う仕組みで新しい仮想マシンを起動させてしまうため、面倒な起動イメージの準備やインストーラの準備が不要なのです。これは便利！
![スクリーンショット 2019-10-26 11.43.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139624/e28567db-a695-4bc8-ec9f-0722e75e8c37.png)
新しい仮想マシンが起動します。
![スクリーンショット 2019-10-26 11.45.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139624/52c23f1d-739d-8eb2-6d97-3647a446ada6.png)
言語を選択します。
![スクリーンショット 2019-10-26 11.47.28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139624/573878be-002f-f26f-6254-4d41c5db010e.png)
macOSユーティリティが起動するので「macOSを再インストール」を選び「続ける」します。
![スクリーンショット 2019-10-26 11.50.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139624/4ff156a3-f36e-1118-888c-48cdfdac62cb.png)
これでインストールが始まります。

## 2.macOSの使用許諾契約の同意
仮想マシンの構築で気をつけないといけないのは、OSを仮想化する場合のライセンスです。幸いなことにmacOS Mojaveはシンプルで、ソフトウェア開発や個人利用が目的であれば1台のMacで2つまで仮想マシンを使うことができます。下のスクリーンショットでは、ちょうどその部分が見えるようにスクロールしてみました。
![スクリーンショット 2019-10-26 11.54.32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139624/b7c477f3-f37b-e166-18e2-8a4e4b7c086e.png)
なお、macOSの各バージョンの使用許諾契約は、アップルのサイトの[ソフトウェアライセンス契約](https://www.apple.com/jp/legal/sla/)で確認できます。「製品を選択」から「オペレーティングシステム、ソフトウェアツール＆サーバ」を選び、確認したいmacOSを選択してください。英語のPDFが表示されますが、各国語がセットになっているのでページをめくると日本語も出てきます。

また、インストール済みのmacOSの使用許諾契約は、アップルメニューから「このMacについて」を選び、右下の「使用許諾契約」を選ぶと表示される「Documentation」フォルダの「License.lpdf」でも確認できます。こちらは日本語のみでしたので、インストール時の言語に合わせてインストールされているようです。
![スクリーンショット 2019-10-26 18.45.14のコピー.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139624/cc227c13-1355-7e73-2d30-daadda1d01fa.png)
問題がなければ、使用許諾契約に「同意する」で先に進みましょう。
![スクリーンショット 2019-10-26 11.55.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139624/b6590c91-c58c-ebdc-0c41-bc069dae68db.png)

## 3.インストール
インストール先を尋ねてきますので、「Macintosh HD」を選択し「インストール」します。なお、この手順ではデフォルトで64GBの仮想ディスクが用意されます。インストール後に確認したら、ディスクイメージファイルの実サイズは約26GBでした。
![スクリーンショット 2019-10-26 11.55.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139624/9d734920-5393-fc09-299e-91df473d646b.png)
ちなみに画面でMacintosh HDの合計が「67.83 GB」となっていてParallels Desktopで用意された64GBより大きいのは、macOSのGBが本当のGB（ギガバイト）で、Parallels DesktopのGBはGiB（ギビバイト）だからのようです。同じ単位の表記なのに、OSやネットワークやストレージで解釈が変わるのはホント勘弁して欲しいです……と、話がそれました。
![スクリーンショット 2019-10-26 11.59.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139624/26bd0e05-edc0-30a6-615a-f50eb5bb5ba1.png)
ここから先は普通のインストールなので、途中のスクリーンショットは割愛します。ホストOSとの違いが分かりやすくなるように、外観モードをダークにしてみました。
![スクリーンショット 2019-10-26 13.25.45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139624/226ca685-852d-8d11-465c-2865a55a46e3.png)

## 4.Parallels Toolsのインストール
WindowsやUbuntuの時はParallels Toolsのインストーラが自動で起動するのですが、macOSではしませんでしたので、右上の三角の警告アイコンを選んでインストールディスクをマウントします。
![スクリーンショット 2019-10-26 13.27.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139624/135bb8a4-1f6d-c7b0-f78d-e43ff7de6f47.png)
Parallels Toolsの「インストール」をダブルクリックしてインストールします。
![スクリーンショット 2019-10-26 13.29.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139624/48371e0f-cffb-426f-cf08-3c98fb35660d.png)
これで「Restart」すればParallels Toolsのインストールは完了です。
![スクリーンショット 2019-10-26 13.31.37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139624/8ee3b2e7-9f19-41d1-a817-cb5cb94627bb.png)

## 5.macOSのアップデート
これで構築は終わりかと思ったら、ゲストOSのバージョンが少し古いことに気づきました。10.14.6を入れたつもりが10.14.4になっています。どうやら「macOS復元」で使われるインストーラは細かいバージョンまでは追従していないみたいなので、ソフトウェア・アップデートでアップデートします。
なお、macOS Catalinaへのアップグレードを勧めてきますが今回はMojaveのままにしたいので、「ほかにもアップデートがあります。」の下の「詳しい情報...」を選びます。
![スクリーンショット 2019-10-26 13.37.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139624/b04268fd-db42-4736-ea76-bb4fca041351.png)
「macOS 10.14.6アップデート」を「今すぐインストール」します。 
![スクリーンショット 2019-10-26 13.38.06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139624/06a9ab9c-c7cb-d81f-c4d1-cef8ec005e7c.png)

## 6.日本語入力とキーボードレイアウトの設定
これで構築は終わりかと思ったら、今度は日本語が打てません。キーボードのレイアウトもおかしいので、この辺りを設定します。

「システム環境設定」から「キーボード」の「入力ソース」タブを選ぶと、左に「U.S.」しかないので、これでは日本語が打てません。また、キーボードもJIS配列だと思われていました。仮想マシンでJIS配列の物理キーボードがUS配列だと思われてしまう事象は良く聞くのですが、その逆が起きています。
![スクリーンショット 2019-10-27 9.32.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139624/e30736d7-653f-ee7f-2e92-8a5eb029c019.png)
まず、左下の「+」で日本語を追加します。
![スクリーンショット 2019-10-27 9.34.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139624/757a25c6-f4db-0445-50db-af7ca3f63e58.png)
「U.S.」は左下の「-」で削除します。そして、「英字のレイアウト」を「オーストラリア」にします。
![スクリーンショット 2019-10-27 10.17.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139624/dde37be8-5645-8b1e-199b-f48ccd0bd763.png)
なお、英字のレイアウトを変更しても、レイアウトの表示は変わりません。でもこれで、日本語でも英語でも正しく入力できるようになります。
![スクリーンショット 2019-10-27 10.15.49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139624/d64bff6c-7a4a-ca44-cf91-379c79fb978e.png)
ちなみに、なぜ「オーストラリア」なのかは実は分かりません。いろいろなレイアウトを試していたらオーストラリアやオランダを選んだ時に正しく入力できることが分かっただけです。結果オーライということで:sweat:
*(2019/10/29追記)*
*Parallelsのテクニカルサポートに問い合わせたところ、この設定方法で正しいとの回答をいただきました。*

あと、日本語と英語の入力切り替えがデフォルトではCtrl+スペースになっています。Command+スペースで切り替えている方は、「ショートカット」タブで変更できます。左で「入力ソース」を選び、右の「前の入力ソースを選択」を切り替えてください。なお、SpotlightがCommand+スペースになっているので、そちらも合わせて変更が必要です。
![スクリーンショット 2019-10-27 11.13.05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139624/1b09c06c-3d88-4f7f-25f3-cf8f10eeb24e.png)


## 7.キーボードの修飾キーの設定
さらにもう1つ気づいたのが、ShiftやAltなどの修飾キーの動きです。
先ほどのシステム環境設定のキーボードレイアウト画面は、Shiftキーを押すとレイアウトが変わるはずなのですが、Shiftキーを押しても変化しません。また、メニューを表示してからでもCommandやAltでメニュー内容を切り替えられるはずが切り替えられません。

たとえば、まずアップルメニューを表示します。
![スクリーンショット 2019-10-27 10.42.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139624/f292984a-a5a9-95e5-083d-a9e4ef5fca97.png)
そして、メニューが表示されてからAltキーを押すと、正常なら以下の内容に切り替わる（「このMacについて」が「システム情報...」に変わったり、末尾の「...」がなくなって確認なしにシステム終了できたりする）のですが、先にメニューを表示させてしまうと切り替えられません。
![スクリーンショット 2019-10-27 10.47.04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139624/030b993c-bc85-dd49-12a8-e4a0c209f1fe.png)
これは、Parallels Desktopの仮想マシンの設定で、左から「マウスとキーボード」を選び、右の「キーボード」の設定を「ゲームに最適化する」に切り替えれば解消します。ShiftやAltなどの修飾キーをリアルタイムに扱わせるにはこの設定が必要です。
![スクリーンショット 2019-10-27 9.27.51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139624/9563f438-3cd8-2cfd-36dc-c55939f533c0.png)

## 8.省エネルギーの設定
今回作った仮想マシンで、そこそこ処理に時間のかかるプログラムを実行して放っておくと、自動的に一時停止されてしまい処理が止まってしまうことが分かりました。
![一時停止.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139624/82b4c36c-364d-c3c5-d9ae-65b3226177a2.png)
これでは時間がかかる処理ができないので、勝手に一時停止しないようにします。
最初はParallels Desktopの仮想マシンの設定かと思ったのですが[^1]、一時停止してしまっているのは仮想マシンそのものでした。仮想マシンの「システム環境設定」の「省エネルギー」で時間を伸ばせば一時停止しなくなります。

![省エネ.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139624/831e616c-7eab-15c6-2e4b-fc8d6eda495b.png)


macOS Mojaveの仮想マシン構築の手順は以上です。これで我が家のMac miniでは、3種類のOSが動くようになりました。
![スクリーンショット 2019-10-26 21.30.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139624/1440c46e-6474-71af-9e28-1548e860f1de.png)
何かみなさんの参考になることがあれば幸いです。

[^1]: Windows仮想マシンの場合は、「構成」の「オプション」タブの「起動と終了」で「可能な場合は Windows を一時停止する」があるのですが、macOS仮想マシンの場合は、それに相当する設定はありません。