Создание загрузочных накопителей в OS X

Наверняка каждый сталкивался с необходимостью создания загрузочных носителей. На OS X я впервые столкнулся с этой задачей, когда хотел начисто обновить ОС с Mavericks на Yosemite. Для содания загрузочной флешки с OS X необходимо скачать с AppStore app пакет с системой, смонтировать накопитель и выполнить в терминале:

'/Applications/Install OS X Yosemite.app/Contents/Resources/createinstallmedia' \
--volume '/Volumes/YOURVOLUME' \
--applicationpath '/Applications/Install OS X Yosemite.app' \
--nointeraction

Конечно, с помощью терминала можно создать загрузочные флешки и для других систем. Посмотрим доступные диски и выберем необходимый, на который будем заливать образ

diskutil list

И размонтируем его

diskutil unmountDisk /dev/diskN

Далее только следует выполнить:

sudo dd if=Disr.iso of=/dev/rdiskN bs=1m

Последним шагом извлекаем накопитель

diskutil eject /dev/diskN

Обратите внимание на то, что некоторые дистрибутивы ОС имеют специальные образы для USB накопителей. Например, мне попадались Oracle Solaris и Haiku. Так же не стоит забывать, что dd достаточно агрессивная утилита и может испортить Ваш накопитель.

Создавать загрузочные накопители можно и с GUI, стандартный «Disk Utility.app» годится, разве что на создание загрузочных накопителей собственного из собственного dmg.

Для ISO образов можно использовать UNetbootin.

Есть и другая возможность создать ISO образ для установки. Для этого необходимо скачать образ установщика операционной системы в AppStore и предложенный код скопировать в файл, например CreateISO.sh

Пример создания ISO образа OS X Yosemite (10.10.2)

CreateISO.sh
# Mount the installer image
hdiutil attach /Applications/Install\ OS\ X\ Yosemite.app/Contents/SharedSupport/InstallESD.dmg -noverify -nobrowse -mountpoint /Volumes/install_app
 
# Convert the boot image to a sparse bundle
hdiutil convert /Volumes/install_app/BaseSystem.dmg -format UDSP -o /tmp/Yosemite
 
# Increase the sparse bundle capacity to accommodate the packages
hdiutil resize -size 8g /tmp/Yosemite.sparseimage
 
# Mount the sparse bundle for package addition
hdiutil attach /tmp/Yosemite.sparseimage -noverify -nobrowse -mountpoint /Volumes/install_build
 
# Remove Package link and replace with actual files
rm /Volumes/install_build/System/Installation/Packages
cp -rp /Volumes/install_app/Packages /Volumes/install_build/System/Installation/
 
# Unmount the installer image
hdiutil detach /Volumes/install_app
 
# Unmount the sparse bundle
hdiutil detach /Volumes/install_build
 
# Resize the partition in the sparse bundle to remove any free space
hdiutil resize -size `hdiutil resize -limits /tmp/Yosemite.sparseimage | tail -n 1 | awk '\{ print $1 \}'`b /tmp/Yosemite.sparseimage
 
# Convert the sparse bundle to ISO/CD master
hdiutil convert /tmp/Yosemite.sparseimage -format UDTO -o /tmp/Yosemite
 
# Remove the sparse bundle
rm /tmp/Yosemite.sparseimage
 
# Rename the ISO and move it to the desktop
mv /tmp/Yosemite.cdr ~/Desktop/Yosemite.iso

Остаётся только разрешить данному файлу исполнение:

chmod +x CreateISO.sh

После этого можно будет запустить этот файл в терминале на исполнение.


Проверено на следующих конфигурациях:

Версия ОС
Apple OS X Yosemite (10.10)

Автор первичной редакции:
Виталий Якоб
Время публикации: 09.03.2016 15:12