Русский
Русский
English
Статистика
Реклама

Downgrade

1008F или как раскирпичить свой Mac

29.12.2020 16:19:06 | Автор: admin

Всем привет! В этом посте речь пойдет о бесконечном режиме восстановления 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. Покинуть программу:

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

Я позвонил в службу поддержки 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 от учетки и выполнять установку с флешки. Жалею ли я о том, что не сделал так сам? - Нет :)

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

Подробнее..

Безопасный downgrade macOS Big Sur (без 1008F)

06.01.2021 18:12:51 | Автор: admin

Недавно, я писал о том, как решить проблему с вечной ошибкой 1008F при попытке откатить macOS Big Sur до macOS Catalina через Internet Recovery. Как показал опрос, есть необходимость рассказать про способ отката macOS Big Sur без ошибки 1008F. Причин для отката может быть масса, и если вы обладатель одной из них, то этот пост для вас. Главное помнить о том, что описанный ниже метод приведет к полному стиранию данных с вашего компьютера Mac. Все далее описанное, происходило с MacBook pro 2019 с чипом безопасности T2 и HDD (256 GB) 2,5 в USB - кейсе.

Подготовка учетной записи

Первое что нам понадобится сделать - отключить функцию найти Mac и выйти из программы бета-тестирования:

  1. Для отключения функции "Найти Mac", перейдите в "Системные настройки" -> Apple ID

2. "Найти Mac" -> Параметры

3. Нажмите кнопку "Выключить", после чего опция должна выглядеть так:

4. Для отключения программы бета-тестирования перейдите по ссылке

5. Войдите в свою учетную запись:

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

После этих нехитрых манипуляций, можно приступать к созданию загрузочного диска.

Подготовка USB - накопителя

1. Подключите внешний USB - накопитель к вашему компьютеру Mac

2. Запустите дисковую утилиту

3. Выберите "Показать все устройства"

4.

Выберите верхний уровень вашего устройства (в моем случае JMicron Tech Media (0 на рис.)) -> Стереть (1 на рис.), задайте требуемые параметры (2, 3, 4 на рис.) и нажмите кнопку "Стереть" (5 на рис.)

Теперь внешний USB - накопитель подготовлен, осталось записать на него установочный образ macOS Catalina.

Создание установщика macOS Catalina

1. Перейдите по ссылке, после чего должен открыться AppStore

2. Нажмите кнопку загрузить, затем в диалоговом окне подтвердите загрузку

3. Дождитесь окончания загрузки

4. После завершения загрузки, появится сообщение об ошибке (это нормально)

5. Требуется закрыть ошибку и перейти в "Программы"

6. На "Установка macOS Catalina" нажмите правую кнопку мыши -> "Показать содержимое пакета" и перейдите в папку "Resources"

7. Откройте терминал и перетащите туда "createinstallmedia"

8. После чего допишите --volume

9. Левой кнопкой мыши, выберите любое пустое место на рабочем столе, нажмите Shift + Command + G и в появившемся окне введите /volumes -> "Перейти"

9. В открывшемся окне, вы должны увидеть устройство bootable (если во время подготовки USB - накопителя вы называли его также как на рис.)

10. Перетащите bootable в терминал. На этом шаге у вас должна получиться следующая команда:

11. Нажмите Enter -> y -> Enter

12. Дождитесь завершения операции

Поздравляю! Основная часть работы уже проделана. Осталось только загрузиться с подготовленного USB - накопителя.

Загрузка Mac для установки macOS Catalina

1. Выключите Mac, после чего включите его удерживая Command + R, до тех пор пока у вас не откроется экран с утилитой восстановления системы.

2. Перейдите в "Утилиты" -> "Утилита безопасной загрузки"

3. Введите пароль от macOS

4. Задайте конфигурацию как на рисунке

5. Перезагрузите Mac. Во время перезагрузки, удерживайте клавиши Alt

6. Если вы все сделали верно, у вас должен появиться выбор загрузочного диска. Нужно выбрать "Install macOS Catalina"

Установка macOS Сatalina

Процесс установки macOS Catalina происходит в обычном режиме. Единственное что нужно сделать перед этим - отформатировать жесткий диск Mac. В macOS Big Sur появился дополнительный раздел Update, который в macOS Catalina не используется. Перед установкой в дисковой утилите требуется

1. Стереть текущий раздел с данными

2. Выбрать раздел "Update" -> Правая кнопка мыши -> Удалить том APFS

3. После чего можно начинать установку macOS Catalina в обычном режиме

Заключение

Надеюсь, этот пост поможет вам без проблем откатиться на macOS Catalina и избежать встречи с ошибкой 1008F. Процесс отката старался описать максимально детально и просто. Если у вас остались какие-либо вопросы, с радостью на них отвечу.

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

Подробнее..

Издеваемся над USB

08.08.2020 22:12:45 | Автор: admin

В очередной раз втыкая скоростную USB флешку в порт USB 3.0, я увидел надпись "Это устройство может работать быстрее...". Но подождите, я и так его воткнул в порт 3.0! Неужели контакт барахлит? И если так, то как флешка определяет, на какой скорости ей работать? Ведь современные ПК поддерживают целых три стандарта соединения USB 1.1, 2.0 и 3.0. Можно ли понизить стандарт USB, насильно заставив устройство работать, к примеру, на USB 1.1? Не на все эти вопросы в сети удалось найти ответ, и я решил разобраться сам, по ходу столкнувшись с довольно неочевидными ситуациями.

Понижаем USB 3.0 до 2.0

Вы сейчас скажете да что может быть проще, просто возьми USB 2.0 кабель и будете совершенно правы. Если в кабеле или разъёме нет USB 3.0 контактов, у устройства не будет иного выхода, кроме как завестись на скорости USB 2.0:

Но отключение каких конкретно проводков приведёт к переключению на USB 2.0? Что будет, если отключить только один, или замкнуть соседние? Интересно же выйти за рамки стандарта и поэкспериментировать!
Для экспериментов я спаял USB-маму и USB-папу проводками на макетной плате:

На фотографии не просто так один проводок находится в воздухе. Выяснилось, что соединение прекрасно работает даже без одного из проводников SS_TX дифф. пары! (для пары SS_RX такой фокус уже не работает)

Более того, если отключить все USB 3.0 контакты, кроме SS_TX, девайс продолжает считать, что он подключен к USB 3.0 и вообще никак не обнаруживается в системе. Честно говоря, я был уверен, что соединение в этом случае переключится на 2.0 режим:
здесь отключены SS_RX-, SS_RX+ и SS_TX+

Итого делаем вывод, что USB 3.0 устройство проверяет наличие SuperSpeed соединения по линии SS_TX, причём трансивер настолько устойчив к ошибкам, что ему плевать на обрыв одной из линий пары. Для гарантированного переключения устройства на USB 2.0 нужно рвать обе линии: SS_TX- и SS_TX+.

Понижаем USB до 1.1

USB 2.0 всем хорош, да больно уж шустрый. Если вы когда-нибудь пытались заснифать его логическим анализатором, у вас либо очень крутой анализатор, либо вы нашли древний USB-хаб вроде такого:

Несмотря на то, что интернет пестрит вопросами как понизить USB 2.0 до 1.1, простого решения я нигде не увидел:


Давайте глянем внимательнее! По стандарту USB, скорость работы согласуется на сигнальном уровне. Устройство поднимает вольтаж D- до 0.8в, а хост отвечает пилообразным сигналом:

То же самое видим на нашем экспериментальном стенде на осциллографе:

То есть, нужно сделать так, чтобы хост не увидел этого повышения напряжения. А значит ставим диод в разрыв линии D- (Шоттки, чтобы минимизировать падение):

Ииии он успешно подавляет сигнал от устройства, не мешая обычной передаче данных:

И здесь я был уверен, что диод нарушит передачу данных по линии и ничего не заработает, но нет я не смог найти ни одного устройства, которое не заработало через такой переходник.

Собираем даунгрейдер

Как обобщение вышеописанных экспериментов, я сделал простенький пассивный переключатель USB режимов 1.1/2.0/3.0

Моё стремление к простоте порой невозможно сдерживать. Захотелось всё реализовать на единственном трёхпозиционном переключателе, вот таком:



Первоначальная идея была один ряд контактов переключает D- между:
  • диод (USB 1.1)
  • пусто (USB 3.0)
  • D- (USB 2.0)

А другой ряд контактов соединяет SS_TX- только в режиме USB 3.0:
  • пусто (USB 1.1)
  • SS_TX- (USB 3.0)
  • пусто (USB 2.0)
Но эту идею я отбросил из-за сомнений вряд ли все USB 3.0 устройства смогут работать только на одной линии дифф. пары. Поэтому я переделал выключатель кусачками:

Теперь средний контакт переключается между крайними, а в среднем положении выключатель замыкает две пары независимых контактов. Идеально! Осталось припаять и готово:
TODO: развести печатную платку и сделать красиво

Всё, теперь можно быть уверенным, что флешка работает именно в 3.0 (2.0, 1.1) режиме, а иначе она просто не обнаружится в системе. В заключение, тестируем наш картридер в различных положениях выключателя:
3.0:
2.0:

почему-то скорость USB 1.1 не понравилась Crystal Disk Mark, и в результате теста он показал нули

Вопрос на засыпку

В USB 3.0 разъёме две пары контактов USB 2.0 и USB 3.0, мы уже выяснили, что устройство (флешка, картридер) сначала лезет на контакты 3.0, а если не получается, переходит в 2.0 режим.

Что, если к 3.0 контактам подключить одно устройство, а к 2.0 контактам другое? Какое из устройств увидит компьютер?

Попробуйте ответить в опросе ниже перед тем, как заглядывать под спойлер :)
Ответ
Для этого эксперимента, спаяем вместе USB 3.0 SATA-адаптер и USB 2.0 флешку:


Вставляем в комп и

Увиделось оба устройства! Да, на самом деле в каждом физическом USB 3.0 порту сразу два независимых порта. По крайней мене, у ПК на чипсетах Intel.
Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru