VirtualBoxにmacOS 12 Montereyをクリーンインストールする
May 09, 2022
emulator macOS VirtualBox目次
はじめに
VirtualBox 6.1上にmacOS 12 Montereyをクリーンインストールしてみます。
はじめに結論を書きますが、筆者の環境では、以下の母艦/ゲストOSの組み合わせでインストールに成功しました。
母艦:macOS Monterey 12.2
VM: VirtuualBox 6.1.34
ゲストOS:macOS Monterey 12.3.1
結果:成功
母艦:Windows11Pro 21H2
VM: VirtuualBox 6.1.34
ゲストOS:macOS Monterey 12.3.1
結果:成功
インストール作業の流れとしては、
- mac上でMontereyインストーラーをダウンロードする
- mac上でインストールメディアイメージファイルを作成する
- このイメージファイルをVirtualBoxが稼働するPCまたはmacへ持っていき
- VirtualBoxのvmを立ち上げて、イメージファイルからクリーンインストール
となります。
以下、インストールに成功した組み合わせである、母艦Windows11Pro 21H2に、OS:macOS Monterey 12.3.1をインストールする手順を中心に説明します。
Montereyインストーラーの入手
まずはmacOS上で操作。
システム環境設定>ソフトウェア・アップデート
ソフトウェア・アップデートからmacOS Montereyをダウンロードする。
ダウンロードが完了するとMontereyインストーラが起動するが、macOS Montereyのインストールはせずに、インストーラーを終了する。
アプリケーションフォルダーに「macOS Montereyインストール.app」が生成されていることを確認する。
ここで注意が必要なのは、Montereyインストーラーをダウンロードするのは「正規の」macから行うということです。「正規の」の意味は、例えばHackintosh上からとかWindowsのVirtualboxから立ち上げたmacOSからではないという意味です。気のせいかもしれませんが、筆者の場合、正規ではないmacからダウンロードしたインストーラーはインストール途中で止まったりインストールが開始できなかったりとトラブルが多発しました。一例ですが、以下のようなエラーに見舞われます。
このようなエラーに見舞われた場合、ネットワークを切断してインストールするとうまくいく場合があります。どうやらmacOSのインストーラーはインストール中にAppleのサイトと何やら通信を行っているようです。その過程でVirtualboxやHackintoshなどのmacではないmacを見極めて、インストール出来ないようにしているように思えます(あくまで想像ですが)。
Virtualboxの場合は、起動前にネットワークの割当を「未割り当て」にすればよいと思う。インストール完了後にネットワークを有効に戻せば大丈夫です。
インストールメディアイメージの作成
インストーラーから起動可能なISOディスクイメージを作成する手順を示します。以下は現役macで実行できます。
まずは、アプリケーションフォルダーに「macOS Montereyインストール.app」が生成されていることを確認してください。
以降は全てmacOSのターミナル上での操作。
(1) 14GBの空イメージを作成する。
$ hdiutil create -o monterey -size 14G -layout SPUD -fs HFS+J -type SPARSE
created: /Users/username/monterey.sparseimage
(2) 空イメージをマウントする。
$ hdiutil attach monterey.sparseimage -noverify -mountpoint /Volumes/Monterey
/dev/disk2 Apple_partition_scheme
/dev/disk2s1 Apple_partition_map
/dev/disk2s2 Apple_HFS /Volumes/Monterey
(3) 空イメージに、起動可能なインストールメディアを作成する。
$ sudo /Applications/Install\ macOS\ Monterey.app/Contents/Resources/createinstallmedia --volume /Volumes/Monterey
Password:
Ready to start.
To continue we need to erase the volume at /Volumes/Monterey.
If you wish to continue type (Y) then press return: Y
Erasing disk: 0%... 10%... 20%... 30%... 100%
Making disk bootable...
Copying to disk: 0%... 10%... 20%... 30%... 40%... 50%... 60%... 70%... 80%... 90%... 100%
Install media now available at "/Volumes/Install macOS Monterey"
(4) ボリュームをアンマウントする。
$ hdiutil detach "/Volumes/Install macOS Monterey"
"disk2" ejected.
このコマンドで失敗した場合は、ボリュームを強制的にゴミ箱へドラッグ!
(5) isoイメージに変換する。
$ hdiutil convert monterey.sparseimage -format UDTO -o monterey
Driver Descriptor Map(DDM: 0)を読み込み中…
Apple(Apple_partition_map: 1)を読み込み中…
(Apple_Free: 2)を読み込み中…
disk image(Apple_HFS: 3)を読み込み中…
.............................................................................................................................................................
経過時間: 17.228s
速度: 832.1Mバイト/秒
節約率: 0.0%
created: /Users/username/monterey.cdr
(6) 後始末
$ mv monterey.cdr InstallMonterey.iso
$ rm monterey.sparseimage
以上で起動可能なインストールメディアイメージ「InstallMonterey.iso」が完成。
VirtualBox仮想マシンの設定
VirtualBox 6.1.34以降をインストールしておく。
仮想マシンの設定は以下のスクリーンショットを参考に。(筆者にて動作実績がある設定)
仮想マシンの新規作成:Mac OS X(64-bit)
メモリは8GB割り当てましたが、最低でも4GBはほしい。
仮想ハードディスクを作成する
筆者の場合いつもVDIにしています
可変サイズ
ストレージサイズは実用的に使用するため128GB割り当てました。PCのストレージの余裕を考慮し、最低でも64GB割り当てましょう。
システム>マザーボード
メインメモリー;8192MB
起動順序:光学/ハードディスク
チップセット:ICH9
ポインティングデバイス:USBタブレット
拡張機能:
[レ]I/O APICを有効化
[レ]EFIを有効化
[レ]ハードウェアクロックをUTCにする
システム>プロセッサー
プロセッサー数:1
使用率制限:100%
拡張機能:
[ ]PAE/NXを有効化
プロセッサー数(コア数)は多いほど快適です。なるべく多く割り当てたいところですが、筆者の環境では、プロセッサー数=1にしないと、インストーラーの挙動が不安定で、カーネルパニックを起こす頻度が高いようです。
ディスプレイ>スクリーン
ビデオメモリー:128MB
ディスプレイ数:1
グラフィックコントローラー:VBoxVGA
アクセラレーション:[ ]3Dアクセラレーションを有効化
ストレージデバイス
インストール先のHDDイメージ「Montrey .dvi」を作成し、
先に作成した、インストールメディアイメージ「InstallMontrey.iso」を起動用のCD-ROMとしてマウントする。
オーディオ
[ ]オーディオを有効化
筆者の環境ではオーディオを無効にしなければ、インストーラーが途中で止まる。
ネットワーク
アダプタータイプはmacで採用実績があるデバイスでないとうまく認識しないので注意。
Windows11上のVirtualBoxでは、インストール時は「ホストオンリーアダプター」が最も安定していた。インストール後に変更可能なので、インストール時はこの設定がおすすめ。
[レ]ネットワークアダプターを有効化
割り当て:ホストオンリーアダプター
アダプタータイプ:intel PRO/1000 MTサーバー(82545EM)
プロミスキャスモード:すべて許可(ブリッジアダプターの場合)
ポート>USB
VirtualBox_Extension_Packをインストールする必要があります。
[レ]USBコントローラーを有効化
◎USB3.0(xHCI)コントローラー
ここまで設定して、あとはvmを起動すればいいのですが、WindowsのVirtuabboxの場合は、さらにひと手間必要です。
vmを起動する前に、DOSプロンプトかPower Shellを開き、以下を実行します。
最後の2行は、使用するディスプレイの解像度にあわせて書き換えます。
cd 'C:\Program Files\Oracle\VirtualBox\'
.\VBoxManage.exe modifyvm "Monterey" --cpuidset 00000001 000106e5 00100800 0098e3fd bfebfbff
.\VBoxManage.exe setextradata "Monterey" "VBoxInternal/Devices/efi/0/Config/DmiSystemProduct" "iMac19,1"
.\VBoxManage.exe setextradata "Monterey" "VBoxInternal/Devices/efi/0/Config/DmiSystemVersion" "1.0"
.\VBoxManage.exe setextradata "Monterey" "VBoxInternal/Devices/efi/0/Config/DmiBoardProduct" "Mac-AA95B1DDAB278B95"
.\VBoxManage.exe setextradata "Monterey" "VBoxInternal/Devices/smc/0/Config/DeviceKey" "ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc"
.\VBoxManage.exe setextradata "Monterey" "VBoxInternal/Devices/smc/0/Config/GetKeyFromRealSMC" 1
.\VBoxManage.exe setextradata "Monterey" VBoxInternal2/EfiHorizontalResolution 1024
.\VBoxManage.exe setextradata "Monterey" VBoxInternal2/EfiVerticalResolution 768
Windows上のVirtualBoxでは、macOSを起動したときのシリアル番号が「0」になってしまいます。これが気に食わない場合は、以下のコマンドでシリアル番号を設定することが可能です。
cd 'C:\Program Files\Oracle\VirtualBox\'
.\VBoxManage.exe setextradata "Monterey" "VBoxInternal/Devices/efi/0/Config/DmiSystemSerial" "macのシリアル番号"
上記の設定後、vmを起動すると、Montereyのインストールが進みます。
macOS Montereyのインストール
(1) vmを起動すると、ダラダラとしたコンソール出力の後、言語選択画面が出るので、「日本語」を選択。
このとき、キーボードが認識されず「→」クリックで次に進むと、Bluetoothキーボードのペアリングを要求されることがあります。
こうなったら先に進めず詰んでしまいます。筆者の場合、Virtualboxで作成した仮想ディスクを初期化すると回避できました。とはいってもこの時点ではインストーラー付属のディスクユーティリティが使用できないので、一旦Montereyのインストーラーをアンマウントし、代わりにBig Surのインストーラーから起動し、仮想ディスクを「Macintosh HD」という名前で初期化だけし(Big Surのインストールはしなくてよい)、再度Montereyのインストーラーをマウントしインストールを始めると、キーボードのペアリングを要求は出なくなりました。
なぜそうなるかの原因は不明なのですが、筆者が想像するには、VirtualboxではNVRAMのエミュレートをどこかでやっていて、NVRAMがクリアされていない状態だとキーボードのペアリング要求が出てしまい、仮想ディスクを初期化するとNVRAMもクリアされるってことなのかな。確証はないけど。
(2) メニュー画面に切り替わる。まずはディスクユーティリティを選択。
(3) VBOX HARDDISK Mediaがインストール先のディスク。名前を「Macintosh HD」にし、「消去」ボタンをクリックし、ディスクを初期化する。
ストレージの名前は伝統的に「Macintosh HD」なんですが、実は今のmacはMacintoshではなく、HDではなくSSD。それならば名前は「mac SSD」でよさそうなものだけど、何故に「Macintosh HD」のまま?
(4) ディスクユーティリティを終了する。
(5) メニューに戻り、「macOS Montereyインストール」を選択する。
(6) 「続ける」をクリックすると、macOS Montereyのインストールを開始する。
(7) インストール先のディスクを選択する。先に初期化した「Macintosh HD」ボリュームを選択する。
(8) ディスクへのインストールが始まる。
(9) vmが勝手に再起動し、インストールが継続。
(10) インストール完了し、勝手にvmが再起動し、Montereyの初期設定に遷移する。
(11) ウィザード形式でもろもろの設定を行います。Apple IDは設定不可でした。
(12) すべての設定を終えて、Montereyのデスクトップとご対面。
筆者の環境では、VirtualBox上のMontereyは遅すぎて全く使えませんでした。遅いだけでなくApple IDの入力ができないんで、不便すぎて使えないという問題もある。
VirtualBox上でもMontereyが使えるほどの高性能マシンをお持ちなら…
安定化対策のためインストール時プロセッサ数=1と設定していた場合、インストール後はプロセッサ数を多くしても大丈夫かも。
インストール時「ホストオンリーアダプター」でネットワーク設定をした場合、別の設定に変更しても大丈夫です。
割り当てはNATでもブリッジアダプターでも問題ありませんが、ブリッジアダプターにしておくと、仮想マシンがネットワークに直接つながった独立したデバイスに見えるので、実用的に使うには便利です。 プロミスキャスモードをすべて許可にしておくと、他のmacのネットワーク一覧に仮想マシン名が表示されます。
あとは時間帯を正しく設定しておきましょう。(12.3.1のインストーラーだとインストールウィザードで設定したのでここでは不要。)
まとめ
macOS MontereyのインストールISOイメージを作成し、VirtualBox6.1上にMontereyをクリーンインストールする方法を紹介しました。