Как сделать загрузочный OSX El Capitan USB?

Я не был уверен насчет публикации этой темы здесь или в сообществе Apple. Однако, поскольку я использую ПК под управлением Ubuntu, я публикую это здесь.

Мой MacBook Pro (середина 2015 года) не работает. Мне нужно переустановить OS X на нем. Обратите внимание, что я не могу получить доступ к разделу восстановления; это было уничтожено тоже.

у меня есть InstallESD.dmg файл, который я нашел в Интернете; Я проверил хэш-значение.

Я хотел бы знать, как сделать загрузочное USB-устройство с этим файлом. Обратите внимание, что у меня есть USB-ключ с разделом MBR. Я не уверен, но он должен использовать GUID для распознавания моим MacBook Pro?

Что я пробовал:

  1. Преобразовать .dmg подать в .iso файл, используя dmg2img:

    $ dmg2img -v -i Downloads/InstallESD.dmg -o Downloads/ElCapitan.iso
    
  2. Скопируйте ElCapitan.iso файл на моем USB-ключе:

    $ dd if=Downloads/ElCapitan.iso of=/dev/sdb bs=16M && sync
    
  3. Подключите USB-ключ и загрузитесь.

Результат: ничего не происходит, USB-ключ не появляется.

2 ответа

Есть готовый скрипт, который автоматизирует весь этот процесс. Вручную это как упомянуто в MacWorld, но с использованием инструментов Linux:


InstallESD.dmg это образ GPT-диска с разделом HFS+, который содержит установочные файлы, но сам по себе не является загрузочным.

Работая как root, перерабатывать InstallESD.dmg в сырой формат изображения и смонтировать его с помощью kpartx:

dmg2img InstallESD.dmg InstallESD.img
kpartx -a InstallESD.img
mount /dev/mapper/loop0p2 /mnt/installesd

InstallESD.dmg содержит другой образ диска, BaseSystem.dmg, который является загрузочным установочным диском. Но запись его непосредственно на USB-накопитель не работает, потому что это приведет к созданию раздела практически без свободного места и по-прежнему не хватает некоторых важных файлов.

Извлечь образ базовой системы BaseSystem.dmg, преобразовать в raw и смонтировать тоже:

dmg2img /mnt/installesd/BaseSystem.dmg BaseSystem.img
kpartx -a BaseSystem.img
mount /dev/mapper/loop1p1 /mnt/basesystem

Отформатируйте USB-накопитель как HFS+:

sgdisk -o /dev/sdb
sgdisk -n 1:0:0 -t 1:AF00 -c 1:"disk image" -A 1:set:2 /dev/sdb
mkfs.hfsplus -v "OS X Base System" /dev/sdb1
mount /dev/sdb1 /mnt/usbstick

Скопируйте отсутствующие установочные файлы (остерегайтесь окончания /):

rsync -aAEHW --info=progress2 /mnt/basesystem/ /mnt/usbstick/
rm -f /mnt/usbstick/System/Installation/Packages
rsync -aAEHW -P /mnt/installesd/Packages /mnt/usbstick/System/Installation/
rsync -aAEHW -P /mnt/installesd/BaseSystem.dmg /mnt/usbstick/
rsync -aAEHW -P /mnt/installesd/BaseSystem.chunklist /mnt/usbstick/
sync

Можно копировать с помощью других инструментов (tar, cpio), просто предоставив параметры, сохраняющие большую часть метаданных файла. rsync поддерживает также -X параметр, который должен копировать расширенные атрибуты HFS+, но на практике он завершается с ошибкой "Операция не поддерживается".

Если вы не можете запустить OS X Recovery (Option-R), попробуйте удерживать нажатой (Option-Command-R), чтобы запустить OS X Internet Recovery.

Ваш Mac(середина 2015 года) должен начать восстановление через Интернет.

Узнайте больше на https://support.apple.com/en-us/HT201314

Это работает! Я использовал его для создания usb из установщика El Capitan, используя InstallESD.dmg, который вы найдете внутри InsallMacOSX.dmg. Нет необходимости пытаться использовать скрипт, так как он работает со списком команд в файле read me. так это:


mkdir -p / mnt / OSX_InstallESD / mnt / OSX_BaseSystem / mnt / usbstick

# преобразовать образ установочного диска в необработанный формат
dmg2img "Установить OS X.app / Contents / SharedSupport / InstallESD.dmg" InstallESD.img
kpartx -a InstallESD.img
смонтировать / dev / mapper / loop0p2 / mnt / OSX_InstallESD

# преобразовать образ базового системного диска в необработанный формат
dmg2img /mnt/OSX_InstallESD/BaseSystem.dmg BaseSystem.img
kpartx -a BaseSystem.img
смонтировать / dev / mapper / loop1p1 / mnt / OSX_BaseSystem

# разделить флешку, / dev/sdX
sgdisk -o / dev/sdX
sgdisk -n 1: 0: 0 -t 1: AF00 -c 1: "образ диска" -A 1:set:2 /dev/sdX
mkfs.hfsplus -v "Базовая система OS X" /dev/sdX1
крепление / dev/sdX1 / mnt / usbstick

# скопировать файлы установщика
rsync -aAEHW / mnt / OSX_BaseSystem / / mnt / usbstick /
rm -f / mnt / usbstick / Система / Установка / Пакеты
rsync -aAEHW / mnt / OSX_InstallESD / Packages / mnt / usbstick / System / Installation /
rsync -aAEHW /mnt/OSX_InstallESD/BaseSystem.chunklist / mnt / usbstick /
rsync -aAEHW /mnt/OSX_InstallESD/BaseSystem.dmg / mnt / usbstick /
синхронизировать

Единственное, что необходимо принять во внимание: Запустите все команды как root! поэтому используйте "sudo su" kpartx, вам нужно добавить -v (подробный), чтобы увидеть, какой цикл создан так:kpartx -av InstallESD.img на моих машинах время от времени уже было 12 циклов, а затем используйте "df", чтобы увидеть, какой разделы и имена в вашей системе. Единственное, что вам нужно изменить на линиях, это. "Loop0p2", loop1p1 и dev/sdX в соответствии с вашим креплением usb.

В какой-то момент вам нужно размонтировать usbdrive, если появится сообщение "точка монтирования занята".

Под я просто вставляю свою историю терминала, которая дала мне рабочий USB-накопитель. спасибо всем вышеперечисленным за то, что указали в правильном направлении! начинается с "sudo su". Я уже извлек из установщика файл InstallESD и находится в рабочем каталоге.

38 dmg2img InstallESD.dmg InstallESD.img
   39 kpartx -av InstallESD.img
   40 монтировать / dev / mapper / loop14p2 / mnt / OSX_InstallESD
   41 dmg2img /mnt/OSX_InstallESD/BaseSystem.dmg BaseSystem.img
   42 kpartx -av BaseSystem.img
   43 смонтировать / dev / mapper / loop15p1 / mnt / OSX_BaseSystem
   44 df
   45 история
   46 sgdisk -o / dev / sdb
   47 sgdisk -og / dev / sdb
   48 man partprobe # получил сообщение о том, что раздел не будет виден, пока я не использую partprobe или не перезагружусь
   49 зонд-ов
   50  sgdisk -n 1:0:0 -t 1:AF00 -c 1:"образ диска" -A 1:set:2 /dev / sdb
   51 partprobe -s
   52 человека kpartx
   53 kpartx -u
   54 kpartx -ul
   55 mkfs.hfsplus -v "Базовая система OS X" /dev / sdb1
   56 крепление / dev / sdb1 / mnt / usbstick
   57 df
   58 размонтировать / dev / sdb
   59 крепление / dev / sdb1 / mnt / usbstick
   60 rsync -aAEHW / mnt / OSX_BaseSystem / / mnt / usbstick /
   61 rm -f / mnt / usbstick / System / Установка / Пакеты
   62 rsync -aAEHW / mnt / OSX_InstallESD / Packages / mnt / usbstick / System / Installation /
   63 rsync -aAEHW /mnt/OSX_InstallESD/BaseSystem.chunklist / mnt / usbstick /
   64 rsync -aAEHW /mnt/OSX_InstallESD/BaseSystem.dmg / mnt / usbstick /
   65 синхронизация

После нескольких часов проб и ошибок я, наконец, смог установить OSX 10.11 "El Capitan" на мой использованный iMac (середина 2009 г.)! Я попытался использовать прилагаемый к нему интернет-установщик, но он не работал без входа в AppleID первоначального владельца (хотя я специально зашел в iTunes, чтобы "Деавторизовать этот компьютер", прежде чем стирать исходную установку)

Вместо этого я загрузил.dmg-файл установщика El Capitan со страницы поддержки Apple:https://support.apple.com/en-us/HT206886

Однако он содержит файл с именем "InstallMacOSX.dmg", а не "InstallESD.dmg". Итак, мне нужно сначала преобразовать этот файл в образ: dmg2img InstallMacOSX.dmg InstallMacOSX.img Затем смонтировать образ: В Linux Mint я использовал щелчок правой кнопкой мыши -> "Открыть с помощью другого приложения..." -> "Disk Image Mounter" (но есть много других способов сделать это). Внутри был большой файл с именем"InstallMacOSX.pkg", который я мог извлечь с помощью p7zip или (в Linux Mint): щелкните правой кнопкой мыши -> "Открыть с помощью другого приложения" -> Менеджер архивов "ЗДЕСЬ можно найти InstallESD.dmg!

Однако хеш sha1 соответствовал любому из значений по адресу:https://github.com/notpeter/apple-installer-checksums#mac-osx-installers-sha1-checksums6198647687 байт, openssl sha1 InstallESD.dmg -> 732f873cbcf38d9e544e659d2429bd4444416cda Я почти уверен, что файл законный (так как я скачал его прямо из службы поддержки Apple), поэтому я отредактировал сценарий "mkosxinstallusb.sh" и добавил его в список одобренных. > см. строку, начинающуюся с "supported_checksums="...", и просто добавил ее в конец перед последней закрывающей цитатой). Кроме того, перед запуском сценария убедитесь, что флэш-накопитель USB полностью пуст. фактически подключил его к Mac и отформатировал с помощью Дисковой утилиты до "OS X Extended (Journaled)" (таблица разделов GUID), прежде чем я начал. (Я пробовал это однажды раньше с частично занятым USB-накопителем, и на нем закончилось место прежде, чем он смог закончить). Я не уверен, насколько изменилось его форматирование с помощью Дисковой утилиты,но это то, что сработало для меня! Затем я запустил "sudo bash mkosxinstallusb.sh /dev/sdX "InstallESD.dmg, а сценарий позаботился обо всем остальном. Наконец, я смог загрузить Mac, удерживая "option/alt", и мой USB-накопитель появился как загрузочное устройство! 17 минут спустя я могу запустить OSX!

Я могу продолжить и повторно загрузить установщик и создать новый загрузочный USB-накопитель с помощью createinstallmedia, на всякий случай, если возникла проблема с образом, который я использовал, но по крайней мере теперь я могу загрузить компьютер!

Другие вопросы по тегам