不具合報告多数の Catalina さん。開発用なら問題ないでしょうが実機に入れる気にはならないですね。
いつも通りインストール用の ISO 作成。Mojave のときに作っておいたものがそのまま使えたので変数だけ書き換え。8 GB を超えているのでイメージサイズは 9 GB に変更。
#!/bin/bash set -e set -u set -x name=Catalina tempfile=$(mktemp -u) hdiutil create -size 9g -fs HFS+J -layout SPUD ${tempfile} hdiutil attach ${tempfile}.dmg -noverify -nobrowse -mountpoint /Volumes/Install\ macOS\ ${name} sudo /Applications/Install\ macOS\ ${name}.app/Contents/Resources/createinstallmedia --nointeraction --downloadassets --volume /Volumes/Install\ macOS\ ${name} hdiutil detach /Volumes/Install\ macOS\ ${name} hdiutil resize -size $(hdiutil resize -limits ${tempfile}.dmg | awk 'END { print $1 }')b ${tempfile}.dmg hdiutil convert ${tempfile}.dmg -ov -format UDTO -o "Install macOS ${name}" rm ${tempfile}.dmg mv Install\ macOS\ ${name}.{cdr,iso}
最初のインストール中に再起動してまた ISO から起動するので一旦ディスクを取り外して VM を再起動する。インストール完了後、再起動するが VirtualBox が APFS のパーティションを認識出来ないため再び ISO をセットしてインストーラーのユーティリティからターミナルを起動する。
APFS を読み取れるようにインストーラーに付属されている apfs.efi
を EFI ボリュームにコピーする。ついでに自動起動するように startup.nsh
を作成するが、システムボリュームの UUID を調べておく必要がある。例えばディスクの初期化時に名前を Macintosh HD
とした場合は disk1s5
がソレ。
volume=disk1s5 # ボリュームの UUID を取得 uuid=$(diskutil info ${volume} | awk '/Volume UUID:/ { print $NF }') # EFI ボリュームをマウント diskutil mount /dev/disk0s1 # APFS EFI ファイルを EFI ボリュームにコピー cp /Volumes/macOS\ Base\ System/usr/standalone/i386/apfs.efi /Volumes/EFI # startup.nsh を作成 cat >/Volumes/EFI/startup.nsh <<! load fs0:\apfs.efi map -r fs1:\${uuid}\System\Library\CoreServices\boot.efi !
案の定、糞重い。ディスクイメージの使用サイズは 26 GB くらい。40 GB くらいで用意しておかないと何も出来なさそう。