macOSのインストールイメージ(ISO)の作成方法

  • 2020/02/14
  • 2020/02/14
  • Mac
Mac

Macを仮想化したい等でmacOSのインストールイメージ(ISOファイル)を作成したいことがあります。
コマンドである程度自動的に作成する方法と手動で作成する方法の2つを紹介します。

macOSのダウンロード(Catlina)

まずはmacOSをダウンロードします。
以下のサイトからインストーラのURLにたどり着けるのでMacからアクセスし、インストーラをダウンロードします。
macOS の起動可能なインストーラを作成する方法

例えば、以下のURLにアクセスするとAppStoreが起動し、macOS Catalinaをダウンロードできます。
https://apps.apple.com/jp/app/macos-catalina/id1466841314

ダウンロードが完了するとインストーラが自動起動しますが、インストールは中止します。
また、以下のようなフォルダにインストーラがダウンロードされています。

/Applications/Install macOS Catalina.app

ISOファイルの作成(通常の方法)

ダウンロードしたインストーラを使ってインストールイメージ(ISO)を作成します。
まずは一般的な方法を示します。
と言うのは、ネットで調べればこの方法が出てきますが実行できないケースがあるためです。
※ファイル名、ボリューム名等は適時変更してください

# ディスクイメージを作成(拡張子.sparseimageのファイル名で作成される)
hdiutil create -o catalina -size 9G -layout SPUD -fs HFS+J -type SPARSE
# マウント
hdiutil attach catalina.sparseimage -noverify -mountpoint /Volumes/catalina
# 管理者権限でインストーラをコピー
sudo /Applications/Install\ macOS\ Catalina.app/Contents/Resources/createinstallmedia --volume /Volumes/catalina
# アンマウント
hdiutil detach /Volumes/catalina
# ディスクイメージをISOに変換
hdiutil convert catalina.sparseimage -format UDTO -o catalina
# 拡張子をisoに変更
mv catalina.cdr catalina.iso
# ディスクイメージを削除
rm catalina.sparseimage

後は作成されたcatalina.isoファイルをインストールに使用してください。

通常はこの方法でインストールイメージ(ISO)を作成できますがCatalina(15.2現在)では以下のエラーとなって実行できません。
どうもCatalina固有のバグのようです(createinstallmediaと言うより、ディスクユーティリティの消去が失敗する)。
そこで、createinstallmediaを使わない方法を次で示します。

$ sudo /Applications/Install\ macOS\ Catalina.app/Contents/Resources/createinstallmedia –volume /Volumes/catalina
Ready to start.
To continue we need to erase the volume at /Volumes/catalinaimg.
If you wish to continue type (Y) then press return: y
Erasing disk: 0%… 10%…
Error erasing disk error number (22, 0)
An error occurred erasing the disk.

ISOファイルの作成(手動で作成)

createinstallmediaに失敗する場合は、同様の内容を手動で実行します。

まずは以下のファイルをマウントします。
/Applications/Install macOS Catalina.app/Contents/SharedSupport/InstallESD.dmg
(インストーラをダウンロードした直後であればマウント済み)

hdiutil attach /Applications/Install\ macOS\ Catalina.app/Contents/SharedSupport/InstallESD.dmg -noverify

先ほどと同様にディスクイメージを作成します。

# ディスクイメージを作成
hdiutil create -o catalina -size 9G -layout SPUD -fs HFS+J -type SPARSE
# マウント
hdiutil attach catalina.sparseimage -noverify -mountpoint /Volumes/catalina

BaseSystem.dmgを作成したディスクイメージに復元します。
Catalinaの場合は以下のパスに存在します。
/Applications/Install macOS Catalina.app/Contents/SharedSupport/BaseSystem.dmg
古いmacOSイメージの場合はInstallESD.dmgをマウントした以下のパスに存在します。
/Volumes/InstallESD/BaseSystem.dmg

asr restore -source /Applications/Install\ macOS\ Catalina.app/Contents/SharedSupport/BaseSystem.dmg -target /Volumes/catalina -noprompt -noverify -erase

InstallESD.dmgのpackageディレクトリを既存のシンボリックリンクを削除してからコピーします。
復元するとマウントポイントが変わっているのでパスに注意してください。

rm /Volumes/macOS\ Base\ System/System/Installation/Packages
cp -r /Volumes/InstallESD/* /Volumes/macOS\ Base\ System/System/Installation

※古いmacOSの場合は以下の2ファイルもコピーされます。
BaseSystem.chunklist
BaseSystem.dmg

後は先ほどと同様です。
復元するとマウントポイントが変わっているのでパスに注意してください。

# アンマウント
hdiutil detach /Volumes/macOS\ Base\ System
# ディスクイメージをISOに変換
hdiutil convert catalina.sparseimage -format UDTO -o catalina
# 拡張子をisoに変更
mv catalina.cdr catalina.iso
# ディスクイメージを削除
rm catalina.sparseimage

後は作成されたcatalina.isoファイルをインストールに使用してください。