古いMac ProでMojaveのVMを動かす方法
古いMac Pro(2009や2010)で動いているmacos High Sierraで動作しているVMware Fusion 10(pro)でMojaveをインストールしようとしても「グラフィックボードがすべてMetal対応の必要がある」と言ってダメ出しされてしまう。おそらく11でも同様と思われる。ネットではすんなり入っているのでうちだけなのかとも思ったが・・・。
実際にはホストマシンに搭載してあるのがGTX680のMac仕様でMetal対応のはずでもそうなってしまう。
そこでふと古いMac ProにMojaveを入れる際には稼働中のOSを上書きする形でしかできないと言うことに思いが至った。
それを考慮して実行したら上手くHigh Sierra上のVMware Fusion 10 proでMojaveのVMを動作させることができたので情報共有する。(皆さんもうやっているかも・・・。)
動機
iOS 12の開発はHigh Sierraでできるので、ホストマシンを無理にMojaveにしなくてはならない理由はないが、やっぱり少しは触ってみたいと言うこと。Macユーザーなら誰でもそうでしょう。
あとTensorFlowもMac版ではどうせGPUをサポートしないので、Macで機械学習の環境を作るならDockerだけじゃなく、VMというのも手かも知れないと思った。
機械学習をPythonでやるとなるとほぼAnaconda一択になってしまうので既存の環境とかち合う可能性も高い。まあこれもHigh SierraのVMでよかったのではあるが。
手順
手順は以下の通り。
- ホストマシンでHigh Sierraのインストールイメージをダウンロードする。
アップルの公式ページにあるリンクから持ってくる。通常、アプリケーションフォルダ内にダウンロードされる。 - VMware Fusonを起動して[ファイル]メニューから[新規]を選びインストール方法として「ディスクまたはイメージからインストール」を選択。
「続ける」を押して先ほどダウンロードしたファイルを指定。あとは適宜カスタマイズしてHigh SierraのVMを作成する。
VMのファイル名は最終目的を考えて10.14等とするとよい。 - High SierraのVMにVMware Toolsをインストール
多分あとでも良いかも知れないがこの時点でインストールしてしまえば後で再インストールする必要はない。 - App StoreにMojaveが出てくるのでインストーラをダウンロードする。
出ていなければApp Storeをmacosで検索すると上位に出てくる。 - ダウンロードしたファイルを開くと何事もなかったかのようにインストールが進行する。
ちなみにMetal対応とされていないグラボGTX970を搭載した2009の上でやってもインストールできた。
結果
Mojaveのダークモードは最近使っている、JetBrainsのIDEやVS Codeと馴染むので良いかもしれないと感じた。
Ethereumを実装するにしても仮想環境マシンをいくつか繋げてやるのが実用的。
Kali Linuxに至っては仮想環境(仮想ネットワークも併設)を押している。(他にははRaspberry PiでWirelessをハッキングするケーススタディがある。)
と言うわけでMojaveがVMで動くと互換性や脆弱性の確認などができるようになるので、様々なメリットがありそう。