跳至主要内容

[Mac] 製作 macOS 安裝 ISO 檔

Apple 官方有 如何製作 macOS 啟動安裝程式 的詳盡說明。在這篇說明中並沒有明指特定開機媒體,可以為任何可掛載的裝置。

網路上有不少如何 製作 macOS 系統安裝隨身碟 的文章,主要步驟和指令也和官方一樣,只是更詳盡的說明如格式化或命名 USB 隨身碟,避免初學者混淆犯錯。

製作原理

製作 macOS installer ISO 的基本概念:

  1. 建立一個 DMG 檔後掛載
  2. 把下載的 macOS installer 透過官方 createinstallmedia 指令安裝到剛剛掛載的磁碟
  3. 卸載後再把 DMG 檔轉為 ISO 格式

製作步驟

1. 建立 DMG 檔

建立一個 13GB 大小的 DMG 檔,存在 /tmp 目錄。

macOS Big Sur 來說,大小約 12.5GB。使用 hdiutil 指令來產生 DMG 檔:

hdiutil create -o /tmp/BigSur -size 13000m -layout SPUD -fs HFS+J

參數說明

  • -o: 輸出檔案路徑
  • -size: 映像檔大小(單位:m = MB)
  • -layout: 分割區配置(SPUD = Single Partition - Apple Partition Map)
  • -fs: 檔案系統(HFS+J = HFS Plus with Journaling)

2. 掛載 DMG 檔

hdiutil attach /tmp/BigSur.dmg -noverify -mountpoint /Volumes/install_build

參數說明

  • -noverify: 跳過驗證以加快速度
  • -mountpoint: 指定掛載點

3. 製作安裝媒體

透過官方的 createinstallmedia 指令製作 installer media:

cd /Applications/Install\ macOS\ Big\ Sur.app/Contents/Resources
sudo ./createinstallmedia --volume /Volumes/install_build

執行過程中會顯示進度,完成後會看到類似以下訊息:

Erasing disk: 0%... 10%... 20%... 100%
Copying to disk: 0%... 10%... 20%... 100%
Making disk bootable...
Install media now available at "/Volumes/Install macOS Big Sur"

4. 卸載磁碟

hdiutil detach /Volumes/Install\ macOS\ Big\ Sur

或使用:

umount /Volumes/Install\ macOS\ Big\ Sur

5. 轉換為 ISO 格式

將 DMG 轉為 CDR 格式,再重新命名為 ISO:

hdiutil convert /tmp/BigSur.dmg -format UDTO -o /tmp/BigSur
mv /tmp/BigSur.cdr /tmp/BigSur.iso

格式說明

  • UDTO: DVD/CD master format
  • CDR 格式實際上就是 ISO 格式,只是副檔名不同

不同 macOS 版本

macOS Ventura (13.x)

hdiutil create -o /tmp/Ventura -size 14000m -layout SPUD -fs HFS+J
hdiutil attach /tmp/Ventura.dmg -noverify -mountpoint /Volumes/install_build
sudo /Applications/Install\ macOS\ Ventura.app/Contents/Resources/createinstallmedia --volume /Volumes/install_build
hdiutil detach /Volumes/Install\ macOS\ Ventura
hdiutil convert /tmp/Ventura.dmg -format UDTO -o /tmp/Ventura
mv /tmp/Ventura.cdr /tmp/Ventura.iso

macOS Monterey (12.x)

hdiutil create -o /tmp/Monterey -size 13000m -layout SPUD -fs HFS+J
hdiutil attach /tmp/Monterey.dmg -noverify -mountpoint /Volumes/install_build
sudo /Applications/Install\ macOS\ Monterey.app/Contents/Resources/createinstallmedia --volume /Volumes/install_build
hdiutil detach /Volumes/Install\ macOS\ Monterey
hdiutil convert /tmp/Monterey.dmg -format UDTO -o /tmp/Monterey
mv /tmp/Monterey.cdr /tmp/Monterey.iso

macOS Catalina (10.15)

hdiutil create -o /tmp/Catalina -size 9000m -layout SPUD -fs HFS+J
hdiutil attach /tmp/Catalina.dmg -noverify -mountpoint /Volumes/install_build
sudo /Applications/Install\ macOS\ Catalina.app/Contents/Resources/createinstallmedia --volume /Volumes/install_build
hdiutil detach /Volumes/Install\ macOS\ Catalina
hdiutil convert /tmp/Catalina.dmg -format UDTO -o /tmp/Catalina
mv /tmp/Catalina.cdr /tmp/Catalina.iso

建議磁碟大小

macOS 版本建議大小
Ventura (13.x)14GB
Monterey (12.x)13GB
Big Sur (11.x)13GB
Catalina (10.15)9GB
Mojave (10.14)7GB

清理暫存檔

/tmp 目錄裡,雖然已經轉成 ISO 檔,但 DMG 檔還是會留著。可自行評估空間決定是否需要刪除 DMG 檔:

# 刪除 DMG 檔
rm /tmp/BigSur.dmg

# 或保留 DMG 檔以便日後使用

使用 ISO 檔

在虛擬機中使用

製作好的 ISO 檔可以在虛擬機軟體中使用:

  • VMware Fusion - 直接掛載 ISO 檔
  • Parallels Desktop - 選擇 ISO 檔作為安裝來源
  • VirtualBox - 在儲存設定中掛載 ISO

燒錄到 USB

也可以將 ISO 檔燒錄到 USB 隨身碟:

# 查看 USB 裝置
diskutil list

# 卸載 USB(假設是 disk2)
diskutil unmountDisk /dev/disk2

# 燒錄 ISO
sudo dd if=/tmp/BigSur.iso of=/dev/rdisk2 bs=1m

# 彈出 USB
diskutil eject /dev/disk2

疑難排解

空間不足

如果 /tmp 空間不足,可以改用其他目錄:

hdiutil create -o ~/Desktop/BigSur -size 13000m -layout SPUD -fs HFS+J

權限問題

確保有足夠權限執行 createinstallmedia

sudo ./createinstallmedia --volume /Volumes/install_build

找不到安裝程式

確認安裝程式位置:

ls /Applications/Install*.app

參考資料

See Also