Всем привет! В этом посте речь пойдет о бесконечном режиме восстановления macOS, ошибках 1008F, 2003F, 2004F и о том как их побороть. 

Подобные ошибки можно встретить при попытке выполнить Internet Recovery своего Mac, а причин побуждающих к этому действию - множество. В моем случае, дело было так..

Предыстория

Одним осенним прохладным днем, пришло мне обновление Xcode 12.2 , а вместе с ним и macOS Big Sur. После обновления Xcode, он стал жутко тормозить, зависать, вылетать и терять последние изменения. Через несколько попыток переустановки Xcode, было принято решение обновиться до Big Sur. В принципе, проблему это не решило,  зато багов докинуло. Затем, начался процесс переустановки macOS Big Sur с загрузочной флешки и из проблем осталось только отсутствие поддержки симуляторов iOS < 12. Для меня это было критично (#яжеразработчик) и, не долго думая, было решено вернуть обратно macOS Catalina.

Тут стоить отметить, что далее речь идет о MacBook pro 2018 с чипом безопасности T2, опыт работы с macOS с точки зрения откатов, переустановок, загрузочных дисков и т.п. имелся богатый, а потому... ничто не предвещало беды. 

Поехали!

Мне было лениво делать загрузочную флешку,  поэтому идея с Internet Recovery показалась заманчивой (более того эту процедуру я уже обкатывал ранее на MacBook pro 2013). Далее список действий, которые повторять НЕ НАДО:

1. загрузка в рекавери (cmd + R);

2. форматирование жесткого диска;

3. запуск Internet Recovery на версию, которая поставлялась при продаже MacBook (или близкую к ней (Shift-Option-Command-R при загрузке Mac).

**более подробно о сочетаниях клавиш можно прочитать тут

После всех этих нехитрых манипуляций мы получаем не Mac, а кирпич, который игнорит все подряд и валится в вечный Internet Recovery с ошибкой 1008F.

1008F

1008F - это ошибка, указывающая на то, что ваш Mac заблокирован на серверах Apple. Звучит страшно. Решается просто, но не всегда.

Дальше у вас,  как говорится, два путя:

Путь простой:

1. Зайти в учетную запись icloud;

2. Выбрать "Найти iPhone";

3. Переключить дроп-лист на пункт "Все устройства":

4. Выбрать проблемный MacBook и нажать "удалить из Найти айфон";

5. Зайти в программу бета-тестирования;

6. Покинуть программу:

7. (Опционально) Удалить проблемный Mac из учетной записи Apple (Из списка устройств).

После этого можно попробовать восстановиться еще раз. К сожалению, данный способ мне не помог.

Я позвонил в службу поддержки Apple, где мне сообщили о том, что в моем случае 1008F возникает исключительно из - за плохого интернета (на самом деле из-за плохого интернета возникают ошибки 200+F). Также, мне посоветовали обратиться в авторизованный сервис (что логично) т.к. там и специалисты граммотные, и интернет хороший. Тут стоить отметить, что претензий к поддержке Apple я не имею. Было опробовано несколько Wi-Fi сетей в т.ч. и с мобильных устройств. Итог один - не помогло.

Путь сложный:

Далее возникла идея: поскольку жесткий диск несъёмный, слишком дорого было бы для Apple решать такие вопросы заменой материнских плат. Должна была быть какая-то лазейка, типа DFU режима, который был очень популярен на айфонах 3gs и 3g. Легкий гуглинг навел меня на несколько интересных статей: тут и тут. Дублировать содержимое статей смысла не вижу, в целом, они о том как вводить Mac в DFU режим и как с ним работать.

1. Нам нужен еще один Mac (к счастью такой нашелся);

2. Соединяем наш Mac (клиент) со вторым Mac (сервер) кабелем питания UCB-C - UCB-C (руководство по ссылкам выше);

3. Скачиваем на Mac (сервер) утилиту Apple Configurator 2 и запускаем ее;

4. Вводим Mac (клиент) в DFU;

5.  В утилите Apple Configurator 2: Правая кнопка мыши > Actions > Advanced > Revive Device:

6. После того как все loading - индикаторы прокрутятся:

а на Mac (клиент) произойдет вот это:

нужно попробовать запустить процедуру восстановления через Shift-Option-Command-R.

7. Если вы по прежнему получаете 1008F (не 2003F, 2004F -  о них позже), переходите к п8.

8. Требуется повторить действия с п.1 по п.4. После чего выбрать Apple Configurator 2 пункт Restore.

9. У вас надеюсь все будет хорошо, а вот я получил сообщение об ошибке:

что-то типа такого, только код был другой.

10. Далее я вывел Mac (клиент) из DFU режима и загрузил его через Shift-Option-Command-R.

11. Начался заветный процесс восстановления, который переодически падал в ошибки 2003F и  2004F.

2003F, 2004F

2003F, 2004F - это ошибки связанные с нестабильным, медленным интернет соединением. Поговаривают, что есть и другие 200+F ошибки, но их я на своем пути не встретил.

Тут стоить отметить, что интернет-провайдер у меня полное расстройство, поэтому решение было следующим:

  1. На роутере я прописал DNS: основной сервер 8.8.8.8, альтернативный 8.8.4.4;

  2. Сделал WI-FI сеть без пароля, но с фильтрацией по MAC - адресам, поскольку наткнулся на информацию о том, что Mac в процессе Internet Recovery может забывать пароль от WI-FI;

  3. Также могут помочь сброс NVRAM или PRAM;

  4. Запускать Mac через Shift-Option-Command-R, можно даже после того, как вы получили ошибку 200+F. Бывают случаи, когда загрузка происходит не с первого раза;

  5. В моем случае, я дождался 6 утра, пока основные пользователи моего провайдера спят, а в Купертино - ночь, значит нагрузка на сервера Apple значительно меньше. Загрузил Mac через Shift-Option-Command-R и случилось чудо.

  6. Дальше у меня загрузился Recovery macOS Mojave, т.к. именно с ней поставлялся MacBook. В дисковой утилите жесткий диск определялся как неизвестное устройство, после форматирования его со схемой разделов GUID, установка macOS продолжается в обычном режиме.

Заключение

На всю эту историю у меня ушло в сумме около трех дней, поэтому если этот пост сэкономит кому-нибудь хоть каплю времени и нервов - будет отлично. Тем не менее, прошу обратить внимание: описанное выше происходило со мной, у вас может быть иначе. Все действия вы выполняете на свой страх и риск. От себя - я бы рекомендовал перед переустановкой macOS включать загрузку с USB - носителей, отвязывать Mac от учетки и выполнять установку с флешки. Жалею ли я о том, что не сделал так сам? - Нет :)

Желаю вам легких апдейтов, даунгрейдов и вообще поменьше багов и лагов.