Mac のローカル上に開発環境を構築する必要があり、メンテナンスしやすいように仮想マシンやコンテナでの構築方法を模索していたところ、最近の VMware Fusion は標準機能で OS X の仮想マシンを作成できるという情報にたどり着いた (浦島太郎状態)。
5 年ほど前に購入した Fusion 4 (古っ) をホームユースでたまーに使用していたが、これを機に最新の Fusion 8 へアップグレードし、壊し放題、初期化し放題の OS X 仮想マシンを作ることにした。
VMware 社の公式ドキュメントをざっと眺めたところ、Fusion の仮想マシンに OS X をインストールする簡単な方法としては以下の 2 つがあり、ひとまず両方にトライ。
1. リカバリ パーティションから OS X をインストールする
2. OS X インストーラから OS X をインストールする
ホスト環境
- MacBook Pro (Retina, 13-inch, Early 2015)
- OS X Yosemite, 10.10.x (プリインストール)
- VMware Fusion 8 Pro
仮想マシンにインストールされる OS X のバージョンについて
1. リカバリ パーティションから OS X をインストールする場合
ホスト環境の Mac のリカバリ パーティションからインストールするため、仮想マシンにインストールされる OS X のバージョンはホスト環境の Mac に依存する。
Apple サポートの OS X 復元についてには以下の記載があり、プリインストールされていた OS X をアップグレードした Mac 環境では、アップグレード前のバージョンとアップグレード後のバージョンのどちらがインストールされるかは若干複雑な模様。
OS X 復元のユーティリティを使う
OS X 復元 (または OS X インターネット復元) から起動した後で、以下のユーティリティの中から選択して「続ける」をクリックします。
- OS X を再インストール*:OS X をダウンロードして起動ディスクに再インストールします。OS X 復元 (command + R) は、Mac に最後にインストールされていたバージョンの OS X をインストールします。OS X インターネット復元 (option + command + R) は、Mac に当初搭載されていたバージョンをインストールします。
* OS X インターネット復元、「OS X を再インストール」および「ヘルプ情報をオンラインで取得」を使うには、インターネットへの接続が必要です。... 比較的新しい Mac コンピュータおよび一部の旧型の Mac コンピュータは、OS X 復元から起動できないときは自動的に OS X インターネット復元からの起動を試します。
このユーティリティが Fusion の仮想マシンで実行される場合、OS X 復元
と OS X インターネット復元
のどちらが使用されるかは何とも言えないが (未検証)、プリインストールの OS X を使っていれば、当然ながらそのバージョンがインストールされる。
2. OS X インストーラから OS X をインストールする場合
仮想マシンにインストールされる OS X のバージョンは、Mac App Store からダウンロードした OS X インストーラのバージョンに依存する。
Apple サポートの OS X El Capitan にアップグレードするには以下の記載があったので、以前ダウンロードしたことがない場合は、2016/9 現在では OS X El Capitan インストール.app
しかダウンロードできない模様。(macOS Sierra も近々ダウンロードできるようになるかも?)
以前のバージョンの OS X をお探しの場合
Yosemite、Mavericks、別の旧バージョンの OS X を以前ダウンロードしたことがある場合は、Mac App Store の「購入済み」タブで引き続きダウンロードが可能です。
Fusion のライセンスの購入
Fusion のライセンスのアップグレード
Fusion 8 Pro の比較 > [VMware Fusion 8 と VMware Fusion 8 Pro との比較]
の内容からは Fusion 8 (非 Pro) でも良かったが、所持していた Fusion 4 のライセンスでは Fusion 8 へのアップグレードのサイトからなぜかアップグレードできず、Fusion 8 Pro にはアップグレードできて Fusion 8 の新規購入より安かったので、Fusion 8 Pro を選んだ。
ここで、VMware Online Store 経由で購入していない古いバージョンのライセンスは、事前に My VMware でライセンス キーを登録する必要があり、Fusion 4 のライセンスを登録後に Fusion 8 Pro のライセンスにアップグレードした。
Fusion のライセンスの新規購入
どのバージョンのライセンスも所持していなければ、当然ながら Fusion 8 の新規ライセンスを購入する必要がある。
Fusion のインストール
Fusion のダウンロード
VMware Fusion または Fusion Pro の評価版のダウンロードより、Fusion のインストーラーをダウンロードする。なお、(Pro 版含め) 評価版も正規版もインストーラーはすべて共通で、適用するライセンスによって使える機能や期間が異なる。
Fusion のインストール
Fusion のインストールを参考に、…しようと思ったら手順が微妙に違ったが、画面にしたがって Fusion をインストールする。
購入したライセンスキーは、Fusion のインストール時に入力しておく。
なお、化石のような Fusion 4 は別の古い Mac で使用していたので、今回の MacBook Pro には Fusion 8 を新規インストールした。
ここまでで、ホストとなる Fusion のインストールが完了し、ここから、2 つの方法で仮想マシンに OS X をインストールする。
1. リカバリ パーティションから OS X をインストールする
以下、1 つめの方法で、仮想マシンに OS X Yosemite をインストールする。
1.1 仮想マシンの作成
VMware Fusion のリカバリ パーティションからの新しい OS X 仮想マシンの作成を参考に、画面にしたがって仮想マシンを作成する。
仮想マシンの設定は OS X のインストール後でも変更できるが、スナップショットを作成した状態ではハード ディスクのサイズ変更ができなくなるので、[設定のカスタマイズ]
から事前に変更しておく。
[ハード ディスク(SATA)]
を選択する。
デフォルトでは Thin Provisioning で仮想ディスクが作成されるので、少し大きめにディスク サイズを確保する。
1.2 OS X のインストール
仮想マシンを起動し、画面にしたがって [OS X を再インストール]
からインストールする。
インストールするディスクには [Macintosh HD]
を選択する。
仮想マシンだとタイムゾーンを正しく取得できないようなので、[現在の位置情報に基づいて、時間帯を設定]
のチェックを外す。
続いて、最も近い都市に [東京 - 日本]
を選択する。
OS X のデスクトップ画面が表示されればインストール完了。
1.3 スナップショットの取得
OS X をインストールした直後の状態に戻せるようにするため、念のため、この時点でのスナップショットを取得しておく。仮想マシンの OS X をシャットダウンし、[仮想マシン]
> [スナップショット]
> [スナップショットをとる]
よりスナップショットを取得する。
1.4 パーティションの拡張
仮想マシンのディスクのサイズをデフォルトから増やした場合、VMware Fusion での仮想ディスクのサイズ変更を参考に、仮想マシン内で [アプリケーション]
> [ユーティリティ]
> [ディスクユーティリティ]
を起動し、パーティションの右下をドラッグ&ドロップで最大まで拡張する。
最大まで拡張されたことを確認し、[適用]
で反映させる。
1.5 VMware Tools のインストール
VMware Tools の一般的なインストール手順を参考に、画面にしたがって VMware Tools をインストールする。
インストールの完了後に再起動すれば、基本的なインストール作業は終了。
2. OS X インストーラから OS X をインストールする
以下、2 つめの方法で、仮想マシンに OS X El Capitan をインストールする。
2.1 OS X インストーラのダウンロード
Mac App Store から OS X El Capitan のインストーラーをダウンロードする。
ダウンロード完了後、ホスト環境の Mac 上で OS X インストールの画面が表示されたら終了させる。
2.2 仮想マシンの作成
VMware Documentation for OS X 10.11 の Installation Instructions for VMware Fusion 7 and Later
の内容を参考に、画面にしたがって仮想マシンを作成する。
Yosemite と同様に、仮想ディスクのサイズを [設定のカスタマイズ]
から事前に変更する。
[ハード ディスク(SATA)]
(左側) を選択する。
Yosemite と同様に、少し大きめにディスク サイズを確保する。
2.3 OS X のインストール
仮想マシンを起動し、画面にしたがって [OS X をインストール]
からインストールする。
インストールするディスクには [Macintosh HD]
を選択する。
Yosemite と同様に、タイムゾーンを手動で設定するため、[この Mac で位置情報サービスを有効にする]
のチェックを外し、[使用しない]
をクリックする。
続いて、最も近い都市に [東京 - 日本]
を選択する。
OS X のデスクトップ画面が表示されればインストール完了。
2.4 スナップショットの取得
Yosemite と同様に、インストール直後のスナップショットを取得しておく。仮想マシンの OS X をシャットダウンし、[仮想マシン]
> [スナップショット]
> [スナップショットをとる]
よりスナップショットを取得する。
2.5 パーティションの拡張
Yosemite と同様に、ディスクユーティリティからパーティションを拡張、…と思いきや、El Capitan では GUI から同じ操作ができなくなった模様…。
解決策を探したところ、先人が [Resizing El Capitan Mac volumes under VMWare Fusion]
(https://themacwrangler.wordpress.com/2015/10/21/resizing-el-capitan-mac-volumes-under-vmware-fusion/) にて diskutil コマンドによる変更方法を紹介してくれていたので、こちらを拝借する。
仮想マシン内でターミナルを起動し、以下を実行する。
$ sudo diskutil resizeVolume / R
ディスクユーティリティを開き直し、パーティションが拡張されたことを確認する。
2.6 VMware Tools のインストール
Yosemite と同様に、VMware Tools をインストールして再起動すれば、基本的なインストール作業は終了。
トラブルシューティング
仮想マシンの OS X で JIS キーボード配列の入力ができない
仮想マシンの OS X では、キーボード配列で 日本語
を選択してインストールしても、JIS キーボード配列の入力ができない。(例: メールアドレスなどで @
を入力するためには、[Shift]
+ [2]
を押下する必要がある。)
どうやら有名な既知問題のようで、VMware 社の KB の Unable to use the Ro and Yen keys on a Japanese keyboard inside a Mac OS X virtual machine で対応が紹介されている。
仮想マシンの構成ファイル (仮想マシン名.vmx) に以下を追記するとのこと。
keyboard.vusb.idVendor = 0x05AC
keyboard.vusb.idProduct = 0x020D
VMware Fusion 仮想マシンの .vmx ファイルの編集に編集方法が記載されているが、手順が若干煩雑なので、ターミナルで編集する。
ホスト環境の Mac 上で仮想マシンを保存したフォルダに移動し、念のため .vmx ファイルのバックアップを作成してから上記内容を追記する。
$ cd ~/Documents/Virtual\ Machines.localized/OS\ X\ 10.10.vmwarevm/
$ ls -l | grep vmx$
-rwxr-xr-x 1 yusuke staff 3136 9 2 22:10 OS X 10.10.vmx
$ cp OS\ X\ 10.10.vmx ../OS\ X\ 10.10.vmx_bkup
$ echo "keyboard.vusb.idVendor = 0x05AC" >> OS\ X\ 10.10.vmx
$ echo "keyboard.vusb.idProduct = 0x020D" >> OS\ X\ 10.10.vmx
$ tail -n 2 OS\ X\ 10.10.vmx
keyboard.vusb.idVendor = 0x05AC
keyboard.vusb.idProduct = 0x020D
同じ内容をもう 1 台の仮想マシンにも実行する。
$ cd ~/Documents/Virtual\ Machines.localized/OS\ X\ 10.11.vmwarevm/
$ ls -l | grep vmx$
-rwxr-xr-x 1 yusuke staff 3137 9 2 23:09 OS X 10.11.vmx
$ cp OS\ X\ 10.11.vmx ../OS\ X\ 10.11.vmx_bkup
$ echo "keyboard.vusb.idVendor = 0x05AC" >> OS\ X\ 10.11.vmx
$ echo "keyboard.vusb.idProduct = 0x020D" >> OS\ X\ 10.11.vmx
$ tail -n 2 OS\ X\ 10.11.vmx
keyboard.vusb.idVendor = 0x05AC
keyboard.vusb.idProduct = 0x020D
参考
OS X
Fusion
- VMware Compatibility Guide > Guest OS > Fusion 8.0, Apple
- Fusion Pro
- VMware Fusion および Fusion Pro の FAQ
- My VMware でライセンス キーを登録する
- VMware Fusion 8 ドキュメント センター
- VMware Fusion のリカバリ パーティションからの新しい OS X 仮想マシンの作成
- VMware Fusion での仮想ディスクのサイズ変更
- VMware Tools の一般的なインストール手順
- VMware Documentation for OS X 10.11
- [Resizing El Capitan Mac volumes under VMWare Fusion]
(https://themacwrangler.wordpress.com/2015/10/21/resizing-el-capitan-mac-volumes-under-vmware-fusion/) - Unable to use the Ro and Yen keys on a Japanese keyboard inside a Mac OS X virtual machine
- VMware Fusion 仮想マシンの .vmx ファイルの編集