Всем привет.
Все мы знаем, что если с системой возникают какие-то проблемы, её можно переустановить. С этим нам помогает раздел Recovery. При чистой установке системы, он создаётся автоматически, но случается такое, что вы устанавливаете macOS после Windows (что является неправильным) или вы случайно/намеренно удалили раздел Recovery HD. Что же делать в таком случае, если система уже установлена, а сносить и заново её устанавливать нет возможности?
Возможно, на просторах интернета гуляет подобное решение, но я опишу, так как делал я.
У меня была установлена macOS 10.13.1 developer beta на APFS. Так как работа этой файловой системы меня не устраивала, мне захотелось октатиться на HFS+ путем чистой переустановки. Беда была в том, что уже была установлена Windows, и после удаления APFS контейнера пропал раздел Recovery. Система 10.13 у меня почему-то на отрез отказывалась устанавливаться, поэтому я восстановил на пустой раздел бэкап 10.12.6 из Time Machine. После восстановления, раздел Recovery не появился. Я спокойно с 10.12.6 обновился до 10.13. Recovery раздела по-прежнему не было.
Пару дней назад я решил обновиться с 10.13 до 10.13.1, и каково было моё удивление, что установка системы на завершающем третьем этапе просто не доходит до конца и выбрасывает на рабочий стол с ошибкой.
Через пару дней, вчера, тоже попытался поставить систему, и выбивало на той же ошибке.
Недолго подумав, я сразу понял, что ошибка в отсутствии раздела Recovery HD. Соответственно начал гуглить, как его восстановить. Методов было много, все они были написаны при царе горохе, и они не подходили.
Я решил поступить просто: а что, если отрезать раздел от системы вручную, из бэкапа системы достать файлы с раздела Recovery, и назначить тип раздела Apple_Boot? Это я и буду описывать в следующих шагах.
Как выглядела примерно моя разметка диска в команде “diskutil list”.
╭─[email protected] ~ ╰─➤ diskutil list /dev/disk0 (internal, physical): #: TYPE NAME SIZE IDENTIFIER 0: GUID_partition_scheme *120.0 GB disk0 1: EFI EFI 209.7 MB disk0s1 2: Apple_HFS Macintosh HD 78.9 GB disk0s2 3: Microsoft Reserved 134.2 MB disk0s3 4: Microsoft Basic Data Windows 40.0 GB disk0s4 /dev/disk1 (internal, physical): #: TYPE NAME SIZE IDENTIFIER 0: GUID_partition_scheme *500.1 GB disk1 1: Microsoft Basic Data Files 151.3 GB disk1s1 2: Apple_HFS Time Capsule 348.7 GB disk1s2
Как мы прекрасно видим, Recovery HD раздел после Macintosh HD отсутствует.
В дисковой утилите я отделил раздел размером 650 МБ от основного.
После этого, разметка выглядела вот так:
╭─[email protected] ~ ╰─➤ diskutil list /dev/disk0 (internal, physical): #: TYPE NAME SIZE IDENTIFIER 0: GUID_partition_scheme *120.0 GB disk0 1: EFI EFI 209.7 MB disk0s1 2: Apple_HFS Macintosh HD 78.9 GB disk0s2 3: Apple_HFS Recovery HD 650.0 MB disk0s3 4: Microsoft Reserved 134.2 MB disk0s4 5: Microsoft Basic Data Windows 40.0 GB disk0s5 /dev/disk1 (internal, physical): #: TYPE NAME SIZE IDENTIFIER 0: GUID_partition_scheme *500.1 GB disk1 1: Microsoft Basic Data Files 151.3 GB disk1s1 2: Apple_HFS Time Capsule 348.7 GB disk1s2
Вроде-бы все правильно, но есть одно но. Тип Recovery раздела должен быть Apple_Boot, а не Apple_HFS. Что же, будем менять. Открываем терминал и вводим команды:
Diskutil unmount /dev/disk0s3 sudo asr adjust --target /dev/disk0s3 --settype "Apple_Boot"
Внимание: цифры /dev/disk0s3 могут у вас отличаться!
Проверяем вывод команды diskutil list. Убеждаемся, что всё верно.
╭─[email protected] ~ ╰─➤ diskutil list /dev/disk0 (internal, physical): #: TYPE NAME SIZE IDENTIFIER 0: GUID_partition_scheme *120.0 GB disk0 1: EFI EFI 209.7 MB disk0s1 2: Apple_HFS Macintosh HD 78.9 GB disk0s2 3: Apple_Boot Recovery HD 650.0 MB disk0s3 4: Microsoft Reserved 134.2 MB disk0s4 5: Microsoft Basic Data Windows 40.0 GB disk0s5 /dev/disk1 (internal, physical): #: TYPE NAME SIZE IDENTIFIER 0: GUID_partition_scheme *500.1 GB disk1 1: Microsoft Basic Data Files 151.3 GB disk1s1 2: Apple_HFS Time Capsule 348.7 GB disk1s2
Теперь нам остаётся скинуть файлы Recovery раздела из бэкапа.
Делюсь с вами своим бэкапом
, он от системы 10.13.1, работоспособность с 10.12.6 не проверял.
Вам нужно закинуть папку com.apple.recovery.boot в корень раздела Recovery HD, перед этим его нужно смонтировать командой:
Diskutil mount /dev/disk0s3
Вот так будет выглядеть содержимое Recovery раздела:
Специалисты компании Apple разработали самый продвинутый механизм восстановления системы, в которой данная функция практически не востребована – iMac хорошо защищен и работает бесперебойно. Но даже у опытных пользователей могут происходить сбои. Восстановить iMac можно несколькими способами.
Если в работе iMac обнаружится ошибка, меню “Утилиты Mac OS X” откроется автоматически. У вас есть возможность запустить его самостоятельно. Перед этим проверьте исправность интернета и возможность доступа к App Store. Перезагрузите iMac и зажмите кнопки Command и R одновременно. В меню “Утилиты Mac OS X” откройте раздел “Дисковая утилита”. Затем откройте пункт “Первая помощь” и “Исправить диск”. Программа сама найдет неполадку и быстро устранит ее. Если приложению не удалось обнаружить и устранить ошибку, придется переустанавливать систему полностью. В меню “Утилиты Mac OS X” есть пункт “Восстановить из резервной копии Time Machine”. Эта опция позволяет восстановить все данные определенной даты прошедшего времени. Система предложит вам выбрать диск, на котором есть сохраненная копия. Сделайте это и выполняйте все последующие подсказки. Резервную копию можно перенести только на тот iMac, с которого она создавалась. Если вы хотите установить файлы на новое устройство, используйте “Ассистент миграции”. Есть еще один способ восстановления iMac. Снова войдите в панель “Утилиты Mac OS X”. На этот раз выберите пункт “Переустановить Mac OS X”. Система попросит вас выбрать необходимый диск. Скорее всего он будет единственным предложенным вариантом. Вы можете сначала очистить его или осуществить переустановку с сохранением данных. Сделайте выбор. Если вы хотите настроить другие программы, выберите пункт “Настроить” и следуйте дальнейшим подсказкам. Вы можете восстановить стандартные настройки iMac. Для этого придется удалить всю информацию. Поэтому перед этой процедурой сохраните необходимые данные на внешний накопитель. Зайдите в меню “Утилиты Mac OS X”. Зайдите в раздел “Дисковая Утилита” и откройте “Стереть”. Высветится новое меню. Откройте опцию “Mac OS Extended”. Укажите имя списка и выберите “Стереть”. После этой процедуры во вкладке “Дисковая Утилита” укажите “Завершить дисковую утилиту”. Затем в меню “Утилиты Mac OS X” откройте “Переустановить Mac OS X”. Выполняйте все дальнейшие подсказки. После этой процедуры вы можете скопировать все данные из сохраненной копии Time Machine.Теперь вы знаете, что восстановить iMac очень легко. Дополнительную информацию по восстановлению системы вы можете прочитать в меню “Утилиты Mac OS X” в разделе “Справка Онлайн”.
Эта заметка предназначена в первую очередь владельцам MacBook Air с SSD-накопителями. Именно эти пользователи заинтересованы в удалении всего лишнего, с целью максимального освобождения дискового пространства на своих ноутбуках.
Одним из таких претендентов на удаление, является скрытый раздел Recovery HD , который создается при установке OS X Lion . В принципе, без этого раздела можно обойтись, особо ничем не рискуя. Тем более, что мы уже знаем, как создать OS X Lion .
Итак, если вам действительно необходимо получить около 650 МБайт дополнительного дискового пространства, то делаем следующее. Запускаем Терминал.app и вводим команду:
В полученном результате отыскиваем идентификатор раздела Recovery HD :
В моем случае (а скорее всего и в вашем), это /dev/disk0s3 . А предыдущий раздел /dev/disk0s2 содержит собственно OS X Lion . Его идентификатор нам тоже понадобится.
Очищаем раздел Recovery HD от всего содержимого:
sudo diskutil eraseVolume HFS+ Blank /dev/disk0s3
А затем объединяем очищенный раздел с разделом OS X Lion . Другими словами /dev/disk0s3 объединяем с /dev/disk0s2:
sudo diskutil mergePartitions HFS+ " HD" /dev/disk0s2 /dev/disk0s3
В этой команде первым идет раздел с OS X Lion (/dev/disk0s2), а вторым — очищенный нами Recovery HD (/dev/disk0s3). Если в этой команде их поменять местами, то получите объединенный, но очищенный от всех данных раздел!
Выдержка из man diskutil по этому поводу:
Merge two or more partitions on a disk. All data on merged partitions other than the first will be lost.
Не перепутайте! Будьте внимательны!
Собственно все. 🙂
14 октября 2013 в 11:24Добыть эту папку можно так:
Перезагружаемся в режим восстановления (с зажатым Alt), подключаем флешку и запускаем Terminal
Проверяем список устройств, нас интересует macHD
- метка моего жесткого диска в iMac и usb-osx
- метка флешки с каталогом Packages в корне.
-bash-3.2# diskutil list
/dev/disk0
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *250.1 GB disk0
1: EFI EFI 209.7 MB disk0s1
2: Apple_HFS macHD 249.2 GB disk0s2
3: Apple_Boot Recovery HD 650.0MB disk0s3
...
/dev/disk3
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *7.7 GB disk3
1: EFI EFI 209.7 MB disk3s1
2: Apple_HFS usb-osx 7.4 GB disk3s2
Смотрим куда примонтированы эти устройства (пути нужны для формирования команды установки ниже)
-bash-3.2# mount | grep macHD
/dev/disk0s2 on /Volumes/macHD (hfs, local, journaled)
-bash-3.2# mount | grep usb-osx
/dev/disk3s2 on /Volumes/usb-osx (hfs, local, nodev, nosuid, noowners)
Запускаем процесс установки.
-bash-3.2# installer -pkg /Volumes/usb-osx/Packages/OSInstall.mpkg -target /Volumes/macHD
installer: Package name is OS X
installer: Installing at base path /Volumes/macHD
2013-10-13 21:36:12.016 installer Looking for system packages
2013-10-13 21:36:12.092 installer no system packages found
2013-10-13 21:36:12.093 installer No or Invalid system receipts found on /Volumes/macHD/Recovered Items
2013-10-13 21:36:12.093 installer Attempting fallback using: /System/Library/PrivateFrameworks/SystemMigration.framework/Resources/FallbackSystemFiles.plist
2013-10-13 21:36:12.423 installer Finding system files...
2013-10-13 21:36:13.907 installer Writing system path cache.
2013-10-13 21:36:13.941 installer FSF cache NOT written: /Volumes/macHD/Recovered Items/System/Library/Caches/com.apple.FindSystemFiles.plist
No mount point for /Volumes/Image Volume/.IABootFiles
Cant determine mount point of /Volumes/Image Volume/.IABootFiles
Could not statfs()
Could not determine filesystem of
installer: The install was successful.
К сожалению процесс установки неинформативен (не видно прогресса), косвенно можно наблюдать за изменением свободного места на разделе macHD в соседней вкладке терминала.
-bash-3.2# df -h | grep macHD
/dev/disk0s2 232Gi 3.4Gi 229Gi 2% 881294 59958448 1% /Volumes/macHD
...
/dev/disk0s2 232Gi 3.5Gi 229Gi 2% 911436 59928306 1% /Volumes/macHD
Установка длится, примерно, 1 час, после завершения на диске занимает 7.3Gi.
После окончания - перезагружаемся.
-bash-3.2# reboot
После перезагрузки, нас поприветствует свежеустановленная OSX
Добыть эту папку можно так:
Перезагружаемся в режим восстановления (с зажатым Alt), подключаем флешку и запускаем Terminal
Проверяем список устройств, нас интересует macHD
- метка моего жесткого диска в iMac и usb-osx
- метка флешки с каталогом Packages в корне.
-bash-3.2# diskutil list
/dev/disk0
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *250.1 GB disk0
1: EFI EFI 209.7 MB disk0s1
2: Apple_HFS macHD 249.2 GB disk0s2
3: Apple_Boot Recovery HD 650.0MB disk0s3
...
/dev/disk3
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *7.7 GB disk3
1: EFI EFI 209.7 MB disk3s1
2: Apple_HFS usb-osx 7.4 GB disk3s2
Смотрим куда примонтированы эти устройства (пути нужны для формирования команды установки ниже)
-bash-3.2# mount | grep macHD
/dev/disk0s2 on /Volumes/macHD (hfs, local, journaled)
-bash-3.2# mount | grep usb-osx
/dev/disk3s2 on /Volumes/usb-osx (hfs, local, nodev, nosuid, noowners)
Запускаем процесс установки.
-bash-3.2# installer -pkg /Volumes/usb-osx/Packages/OSInstall.mpkg -target /Volumes/macHD
installer: Package name is OS X
installer: Installing at base path /Volumes/macHD
2013-10-13 21:36:12.016 installer Looking for system packages
2013-10-13 21:36:12.092 installer no system packages found
2013-10-13 21:36:12.093 installer No or Invalid system receipts found on /Volumes/macHD/Recovered Items
2013-10-13 21:36:12.093 installer Attempting fallback using: /System/Library/PrivateFrameworks/SystemMigration.framework/Resources/FallbackSystemFiles.plist
2013-10-13 21:36:12.423 installer Finding system files...
2013-10-13 21:36:13.907 installer Writing system path cache.
2013-10-13 21:36:13.941 installer FSF cache NOT written: /Volumes/macHD/Recovered Items/System/Library/Caches/com.apple.FindSystemFiles.plist
No mount point for /Volumes/Image Volume/.IABootFiles
Can"t determine mount point of "/Volumes/Image Volume/.IABootFiles"
Could not statfs()
Could not determine filesystem of
installer: The install was successful.
К сожалению процесс установки неинформативен (не видно прогресса), косвенно можно наблюдать за изменением свободного места на разделе macHD в соседней вкладке терминала.
-bash-3.2# df -h | grep macHD
/dev/disk0s2 232Gi 3.4Gi 229Gi 2% 881294 59958448 1% /Volumes/macHD
...
/dev/disk0s2 232Gi 3.5Gi 229Gi 2% 911436 59928306 1% /Volumes/macHD
Установка длится, примерно, 1 час, после завершения на диске занимает 7.3Gi.
После окончания - перезагружаемся.
-bash-3.2# reboot
После перезагрузки, нас поприветствует свежеустановленная OSX!