VirtualBoxにmacOS 12 Montereyをクリーンインストールする

May 09, 2022

emulatormacOSVirtualBox

目次

はじめに

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をダウンロードする。

download_monterey.png

ダウンロードが完了するとMontereyインストーラが起動するが、macOS Montereyのインストールはせずに、インストーラーを終了する。

アプリケーションフォルダーに「macOS Montereyインストール.app」が生成されていることを確認する。

installer_app.png

ここで注意が必要なのは、Montereyインストーラーをダウンロードするのは「正規の」macから行うということです。「正規の」の意味は、例えばHackintosh上からとかWindowsのVirtualboxから立ち上げたmacOSからではないという意味です。気のせいかもしれませんが、筆者の場合、正規ではないmacからダウンロードしたインストーラーはインストール途中で止まったりインストールが開始できなかったりとトラブルが多発しました。一例ですが、以下のようなエラーに見舞われます。

install_error.png

install_error2.png

install_error3.png

このようなエラーに見舞われた場合、ネットワークを切断してインストールするとうまくいく場合があります。どうやら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)

vm_monterey_setting_01.png

メモリは8GB割り当てましたが、最低でも4GBはほしい。

vm_monterey_setting_02.png

仮想ハードディスクを作成する

vm_monterey_setting_03.png

筆者の場合いつもVDIにしています

vm_monterey_setting_04.png

可変サイズ

vm_monterey_setting_05.png

ストレージサイズは実用的に使用するため128GB割り当てました。PCのストレージの余裕を考慮し、最低でも64GB割り当てましょう。

vm_monterey_setting_06.png

システム>マザーボード
メインメモリー;8192MB
起動順序:光学/ハードディスク
チップセット:ICH9
ポインティングデバイス:USBタブレット
拡張機能:
[レ]I/O APICを有効化
[レ]EFIを有効化
[レ]ハードウェアクロックをUTCにする

vm_monterey_setting_07.png

システム>プロセッサー
プロセッサー数:1
使用率制限:100%
拡張機能:
[ ]PAE/NXを有効化

プロセッサー数(コア数)は多いほど快適です。なるべく多く割り当てたいところですが、筆者の環境では、プロセッサー数=1にしないと、インストーラーの挙動が不安定で、カーネルパニックを起こす頻度が高いようです。

vm_monterey_setting_08.png

ディスプレイ>スクリーン
ビデオメモリー:128MB
ディスプレイ数:1
グラフィックコントローラー:VBoxVGA
アクセラレーション:[ ]3Dアクセラレーションを有効化

vm_monterey_setting_09.png

ストレージデバイス
インストール先のHDDイメージ「Montrey .dvi」を作成し、 先に作成した、インストールメディアイメージ「InstallMontrey.iso」を起動用のCD-ROMとしてマウントする。

vm_monterey_setting_10.png

オーディオ
[ ]オーディオを有効化

筆者の環境ではオーディオを無効にしなければ、インストーラーが途中で止まる。

vm_monterey_setting_12.png

ネットワーク
アダプタータイプはmacで採用実績があるデバイスでないとうまく認識しないので注意。

Windows11上のVirtualBoxでは、インストール時は「ホストオンリーアダプター」が最も安定していた。インストール後に変更可能なので、インストール時はこの設定がおすすめ。

[レ]ネットワークアダプターを有効化
割り当て:ホストオンリーアダプター
アダプタータイプ:intel PRO/1000 MTサーバー(82545EM)
プロミスキャスモード:すべて許可(ブリッジアダプターの場合)

vm_monterey_setting_11.png

ポート>USB VirtualBox_Extension_Packをインストールする必要があります。
[レ]USBコントローラーを有効化
◎USB3.0(xHCI)コントローラー

vm_monterey_setting_13.png

ここまで設定して、あとは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を起動すると、ダラダラとしたコンソール出力の後、言語選択画面が出るので、「日本語」を選択。

install_monterey_01.png

このとき、キーボードが認識されず「→」クリックで次に進むと、Bluetoothキーボードのペアリングを要求されることがあります。

install_monterey_01_2.png

こうなったら先に進めず詰んでしまいます。筆者の場合、Virtualboxで作成した仮想ディスクを初期化すると回避できました。とはいってもこの時点ではインストーラー付属のディスクユーティリティが使用できないので、一旦Montereyのインストーラーをアンマウントし、代わりにBig Surのインストーラーから起動し、仮想ディスクを「Macintosh HD」という名前で初期化だけし(Big Surのインストールはしなくてよい)、再度Montereyのインストーラーをマウントしインストールを始めると、キーボードのペアリングを要求は出なくなりました。

なぜそうなるかの原因は不明なのですが、筆者が想像するには、VirtualboxではNVRAMのエミュレートをどこかでやっていて、NVRAMがクリアされていない状態だとキーボードのペアリング要求が出てしまい、仮想ディスクを初期化するとNVRAMもクリアされるってことなのかな。確証はないけど。

(2) メニュー画面に切り替わる。まずはディスクユーティリティを選択。

install_monterey_02.png

(3) VBOX HARDDISK Mediaがインストール先のディスク。名前を「Macintosh HD」にし、「消去」ボタンをクリックし、ディスクを初期化する。

ストレージの名前は伝統的に「Macintosh HD」なんですが、実は今のmacはMacintoshではなく、HDではなくSSD。それならば名前は「mac SSD」でよさそうなものだけど、何故に「Macintosh HD」のまま?

install_monterey_04.png

(4) ディスクユーティリティを終了する。

(5) メニューに戻り、「macOS Montereyインストール」を選択する。

install_monterey_05.png

(6) 「続ける」をクリックすると、macOS Montereyのインストールを開始する。

install_monterey_06.png

(7) インストール先のディスクを選択する。先に初期化した「Macintosh HD」ボリュームを選択する。

install_monterey_07.png

(8) ディスクへのインストールが始まる。

install_monterey_08.png

(9) vmが勝手に再起動し、インストールが継続。

install_monterey_09.png

(10) インストール完了し、勝手にvmが再起動し、Montereyの初期設定に遷移する。

install_monterey_10.png

(11) ウィザード形式でもろもろの設定を行います。Apple IDは設定不可でした。

(12) すべての設定を終えて、Montereyのデスクトップとご対面。

install_monterey_12.png

筆者の環境では、VirtualBox上のMontereyは遅すぎて全く使えませんでした。遅いだけでなくApple IDの入力ができないんで、不便すぎて使えないという問題もある。

VirtualBox上でもMontereyが使えるほどの高性能マシンをお持ちなら…

安定化対策のためインストール時プロセッサ数=1と設定していた場合、インストール後はプロセッサ数を多くしても大丈夫かも。

vm_monterey_setting_08-2.png

インストール時「ホストオンリーアダプター」でネットワーク設定をした場合、別の設定に変更しても大丈夫です。

割り当てはNATでもブリッジアダプターでも問題ありませんが、ブリッジアダプターにしておくと、仮想マシンがネットワークに直接つながった独立したデバイスに見えるので、実用的に使うには便利です。 プロミスキャスモードをすべて許可にしておくと、他のmacのネットワーク一覧に仮想マシン名が表示されます。

vm_monterey_setting_11-2.png

あとは時間帯を正しく設定しておきましょう。(12.3.1のインストーラーだとインストールウィザードで設定したのでここでは不要。)

install_monterey_11.png

まとめ

macOS MontereyのインストールISOイメージを作成し、VirtualBox6.1上にMontereyをクリーンインストールする方法を紹介しました。


Written by questions6768 who lives in Uji, Kyoto.