Устранение неполадок

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

Сначала определите, что происходит при включении компьютера, и перейдите к соответствующему разделу:

Изменение запускаемой операционной системы

Вы можете выбрать, какая ОС загружается, временно или постоянно, с помощью встроенного в систему средства выбора загрузки. Для этого необходимо полностью выключить устройство:

  • Нажмите и удерживайте кнопку питания

  • Продолжайте удерживать, пока на экране не появится сообщение "Entering startup options" (ноутбуки, iMac) или пока индикатор питания слегка не погаснет (настольные компьютеры), затем отпустите.

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

Вы также можете выбрать самый правый значок «Параметры», чтобы войти в систему recoveryOS, которую можно использовать для выполнения операций восстановления. Вам могут быть предложены ввести учетные данные для входа в macOS, в зависимости от состояния безопасности вашего компьютера. На главном экране параметров recoveryOS вы можете открыть окно терминала, нажав Shift-Command-T.

Вход в загрузочное меню GRUB

Если во время обновления пакета ядра возникла проблема или какая-либо другая проблема, которая препятствует правильной загрузке ядра, вам может потребоваться войти в меню GRUB, чтобы выбрать другое ядро или изменить параметры загрузки.

Серверные и минимальные установки должны отображать меню GRUB по умолчанию. При установке на настольный компьютер вам необходимо в нужный момент нажать Escape, чтобы войти в меню GRUB. Когда система загрузится, вы увидите цикл отображения m1n1 (логотипы Asahi Linux или Fedora) и U-Boot (текстовый экран с логотипом U-Boot в правом верхнем углу). На экране U-Boot отобразится краткий обратный отсчет. Нажмите Escape сразу после того, как обратный отсчет достигнет 0, чтобы войти в меню загрузки GRUB.

Отсюда вы можете выбрать более старую версию ядра (например, для восстановления после неудачной установки ядра) или изменить параметры загрузки (например, для сброса пароля или восстановления после других системных проблем).

Устранение неполадок U-Boot

У U-Boot могут возникнуть проблемы с некоторыми типами USB-устройств. Если вы наблюдаете странное поведение или журналы U-Boot, попробуйте отключить все USB-устройства (кроме одной клавиатуры для настольных компьютеров).

Если у вас возникли проблемы с работой внешней клавиатуры в меню U-Boot или GRUB, вы можете попробовать использовать другой порт USB (например, USB C с адаптером вместо USB A) или другую клавиатуру. Поскольку U-Boot поддерживает только одну клавиатуру, убедитесь, что другие USB-устройства, имитирующие клавиатуру, не подключены. Сюда входят некоторые USB-мыши, а также определенные USB-токены, считыватели штрих-кодов и т. д. (YubiKeys уже должны быть исключены и проигнорированы в U-Boot).

Устранение неполадок m1n1 stage 2

Если на консоли m1n1 отображается сообщение Running proxy…​, это обычно означает, что на stage 1 в m1n1 возникли проблемы с загрузкой stage 2 в m1n1.

Если это произошло после обновления системы, возможно, новый обновленный двоичный файл 2 этапа был установлен неправильно. Вы можете загрузиться в macOS или recoveryOS (см. раздел Изменение запускаемой операционной системы) и выполните следующие шаги, чтобы вернуться к предыдущей версии m1n1 stage 2 и U-Boot..

  1. Откройте терминал

  2. Напишите diskutil list | grep EFI чтобы увидеть доступные EFI разделы

  3. EFI раздел будет называться примерно так EFI - FEDOR. Обратите внимание на идентификатор справа, например disk0sX.

  4. Напишите `sudo diskutil mount disk0sX`с идентификатором, который вы получили выше, для монтирования раздела.

  5. Перейдите к точке монтирования с помощью cd "/Volumes/EFI - FEDOR" (заменив EFI - FEDOR на имя вашего тома).

  6. Перейдите в поддиректорию m1n1: cd m1n1.

  7. Просмотрите файлы с помощью ls. Должны быть файлы boot.bin и boot.bin.old.

  8. Переименуйте текущий файл, присвоив ему неактивное имя: mv boot.bin boot.bin.new.

  9. Переименуйте старый файл, присвоив ему активное имя: mv boot.bin.old boot.bin.

Если вы используете macOS, вы также можете выполнить действия по управлению файлами с помощью Finder. После монтирования раздела с помощью diskutil он появится на боковой панели Finder.

После возврата m1n1.bin загрузитесь обратно в Fedora Asahi Remix, чтобы протестировать восстановленную версию m1n1 stage 2 и U-Boot в частности.

Обратите внимание, что возврат двоичного файла m1n1 stage 2 к предыдущей версии не гарантирует корректную работу, поскольку иногда происходят несовместимые изменения в дереве устройств, которые сопровождают обновления версии ядра. После восстановления вы можете обнаружить, что некоторое оборудование работает некорректно. После успешной загрузки Linux вам следует запустить sudo update-m1n1 для обновления до текущей версии и снова перезагрузиться.

Обновление или восстановление m1n1 stage 1

Иногда политика загрузки системы для Fedora Asahi Remix может быть повреждена. Иногда это происходит после обновлений macOS (из-за ошибок в процессе обновления Apple). Если это произойдет, попытка загрузки этой операционной системы приведет к немедленной перезагрузке. Если эта ОС является загрузочной ОС по умолчанию, компьютер будет неоднократно перезагружаться, пока не появится экран восстановления ОС. Если это произойдет, вам необходимо восстановить stage 1 m1n1 и связанную с ним политику загрузки.

Обновление встроенного ПО системы также может вызвать несовместимость в stage 1 m1n1, требующую обновления. Это может произойти, если вы обновитесь до macOS Sonoma 14.5 или более поздней версии с версией m1n1 stage 1 старше 1.4.13 (выпущенной в мае 2024 г.) из-за ошибки в этих старых версиях m1n1. Чтобы решить эту проблему, обновите stage 1 m1n1.

Процесс для обеих указанных выше ситуаций одинаков. Сначала выполните шаги из Изменение запускаемой операционной системы для загрузки в recoveryOS (предпочтительно) или macOS и откройте терминал. Убедитесь, что у вас есть подключение к интернету, а затем снова запустите установщик Fedora Asahi Remix, используя инструкции на странице Установка (или шаги, доступные на asahilinux.org). После запуска установщика одним из доступных вариантов должен быть Восстановить незавершённую установку (p) или Обновить m1n1 в существующей ОС (m). Выберите соответствующий вариант и следуйте инструкциям для обновления или переустановки m1n1 этапа 1.

Если вам необходимо переустановить m1n1 этапа 1 или иным образом сбросить политику загрузки, но установщик не предлагает ни один из двух вышеуказанных вариантов, вы можете выполнить bputil -f, а затем выбрать UUID, соответствующий установке, которую вы хотите восстановить (он будет отображаться при запуске установщика в списке разделов). Следуйте инструкциям для сброса политики загрузки, что приведёт к удалению загрузчика m1n1 и переводу установки в состояние «незавершённой». После завершения этого процесса вы можете снова выполнить шаги выше для запуска установщика и выбора варианта «Восстановить», который теперь должен быть доступен. Мы слышали сообщения о том, что такая ситуация может возникнуть после отправки машин в Apple для обслуживания.

Восстановление незагружаемой машины

Если ваша машина зависла с отображением значка восклицательного знака (ноутбуки и iMac) или миганием светодиода SOS (настольные ПК), вам может потребоваться выполнить DFU Revive или Restore. Чтобы определить, необходимо ли это, сначала попробуйте загрузиться как с текущей парной recoveryOS, так и с системной recoveryOS.

Для загрузки с использованием текущей recoveryOS:

  • Полностью выключите машину

  • Нажмите и удерживайте кнопку питания

  • Продолжайте удерживать, пока на экране не появится сообщение "Entering startup options" (ноутбуки, iMac) или пока индикатор питания слегка не погаснет (настольные компьютеры), затем отпустите.

Для загрузки с использованием системной RecoveryOS:

  • Полностью выключите машину

  • Быстро нажмите и отпустите кнопку питания, а затем снова нажмите и удерживайте её (всё действие должно занять менее половины секунды)

  • Продолжайте удерживать, пока на экране не появится сообщение "Entering startup options" (ноутбуки, iMac) или пока индикатор питания слегка не погаснет (настольные компьютеры), затем отпустите.

Если любой из этих процессов завершается успешно и отображает средство выбора загрузки, вы можете выбрать альтернативную ОС для загрузки или выбрать значок «Параметры» для загрузки recoveryOS и устранения неполадок или переустановки другой ОС из этой среды.

Выполнение DFU Revive или Restore

Если ваша машина не загружается или не входит в параметры запуска, вам может потребоваться выполнить DFU Revive или Restore.

DFU Revive восстановит и обновит системную прошивку и среду восстановления (SFR), оставляя операционные системы и данные нетронутыми. Это может помочь решить некоторые проблемы, но не гарантирует работу (например, DFU Revive не может восстановить отсутствующий раздел системного восстановления, но может переустановить recoveryOS в существующий, но пустой раздел системного восстановления с соответствующим подтомом).

DFU Restore полностью очистит все данные на внутреннем накопителе и восстановит машину до заводского состояния. Это также единственный способ понизить версию системной прошивки до предыдущей. Этот процесс может восстановить после любого типа повреждения или проблемы с внутренним хранилищем NVMe, а также повреждения внутренней флэш-памяти NOR и нескольких других компонентов прошивки. Обратите внимание, что при выполнении DFU Restore вы потеряете все данные, хранящиеся на машине, и она будет возвращена в заводское состояние.

Для выполнения DFU Revive или Restore вам потребуется либо другой Mac с macOS, либо машина с Fedora Linux (любое оборудование) с доступным USB-портом. Вам также потребуется подходящий USB-кабель для соединения обеих машин.

Выполнение DFU Revive или Restore с использованием другого Mac с macOS

Следуйте документации Apple, чтобы узнать, как выполнить восстановление с использованием другого Mac с помощью Finder в macOS или Apple Configurator.

Если у вас возникли проблемы с переводом машины в режим DFU, вы также можете обратиться к инструкциям ниже.

Выполнение DFU Revive или Restore с использованием машины под управлением Fedora Linux

Вы также можете загрузить Fedora Linux на другой машине (подойдёт как совместимая с Intel, так и Apple Silicon), а затем использовать idevicerestore для выполнения процесса DFU Revive или Restore.

Если у вас есть свободная машина x86-64 (Intel/AMD), на которой в настоящее время не установлена Fedora, вы можете выполнить шаги в следующем разделе для временной загрузки Fedora с USB-накопителя и настройки среды для выполнения DFU Revive/Restore. После того как система будет запущена, вернитесь к этому разделу, чтобы продолжить процесс.

Вам потребуется совместимый USB-кабель. Если на вашей хост-машине есть порты Type A, используйте кабель Type A — Type C. Если на хост-машине есть порты Type C, используйте кабель Type C — Type C. Вы также можете использовать кабель Type A — Type C вместе с адаптером с female Type A на male Type C. Ваш кабель должен поддерживать передачу данных (USB 2.0 480 Мбит/с достаточно, хотя USB 3 также работает). Кабели Thunderbolt 3 не подойдут, равно как и кабели только для зарядки.

Чтобы выполнить DFU Revive с использованием второй машины с Fedora, выполните следующие шаги:

  1. Убедитесь, что у вас есть подключение к Интернету.

    • В Fedora Workstation нажмите на значок в правом верхнем углу панели меню, чтобы выбрать сеть Wi-Fi (если вы не используете проводной Ethernet).

  2. Откройте терминал.

    • В Fedora Workstation нажмите на значок меню в левом верхнем углу, введите «terminal» и нажмите Enter.

  3. Убедитесь, что в текущем рабочем каталоге есть как минимум 40 ГБ свободного места. Если нет, перейдите в другой каталог, где есть свободное место, или добавьте дополнительное хранилище по мере необходимости.

    • Если вы выполнили следующие шаги для загрузки в live-режиме и настройки среды, это уже так.

  4. Выполните команду sudo dnf install -y idevicerestore usbmuxd для установки idevicerestore.

    • Если в выводе указано, что usbmuxd также был установлен как зависимость (и не был установлен ранее), выполните sudo udevadm control --reload, чтобы перезагрузить правила udev. В live-образах Fedora Workstation usbmuxd уже должен быть установлен.

  5. Выполните команду sudo dmesg -w для отображения журнала ядра в реальном времени.

  6. Подключите USB-кабель между хост-машиной и целевой машиной, которую необходимо восстановить. Кабель должен быть подключён к определённому USB-порту на целевой машине:

    • Для ноутбуков используйте самый левый (самый дальний) порт Type C на левой стороне.

    • Для iMac, стоя лицом к задней панели машины, используйте самый правый порт Type C (ближайший к разъёму питания).

    • Для Mac Mini, стоя лицом к задней панели машины, используйте самый левый порт Type C.

    • Для Mac Studio, стоя лицом к задней панели машины, используйте самый правый порт Type C.

    • Для настольных Mac Pro, стоя лицом к верхней панели машины, используйте порт Type C, наиболее удалённый от кнопки питания.

    • Для стоечных Mac Pro, стоя лицом к передней панели машины, используйте порт Type C, ближайший к кнопке питания.

    Если вы используете кабель Type A — Type C, подключите конец Type C к целевой машине. Конец Type A может быть подключён непосредственно к хост-машине или к порту Type C через адаптер Type A — Type C. На стороне хост-машины также можно использовать USB-хабы (но не на стороне целевой машины).

  7. Войдите в режим DFU. Процесс отличается для настольных ПК и ноутбуков (для ноутбуков вы можете выбрать один из двух вариантов; попробуйте оба, если у вас возникнут проблемы).

    • Для настольных ПК:

      1. Начните с полностью выключенной машины.

      2. Отключите машину от сети и подождите 30 секунд.

      3. Нажмите и удерживайте кнопку питания.

      4. Удерживая кнопку питания, подключите машину к сети.

      5. Продолжайте удерживать кнопку питания и следите за журналом ядра. Ищите запись об USB-устройстве, содержащую Product: Apple Mobile Device (DFU Mode).

      6. Как только увидите эту запись, отпустите кнопку питания.

    • Для ноутбуков (способ 1):

      1. Начните с полностью выключенного ноутбука.

      2. Быстро нажмите и отпустите кнопку питания.

      3. Немедленно нажмите и удерживайте следующие клавиши: левый Control, левый Option, правый Shift и кнопку питания.

      4. Отсчитайте 10 секунд, затем отпустите всё, кроме кнопки питания.

      5. Продолжайте удерживать кнопку питания и следите за журналом ядра. Ищите запись об USB-устройстве, содержащую Product: Apple Mobile Device (DFU Mode).

      6. Как только увидите эту запись, отпустите кнопку питания.

    • Для ноутбуков (способ 2):

      1. Начните с включённого ноутбука (убедитесь, что на дисплее что-то отображается).

      2. Нажмите и удерживайте следующие клавиши: левый Control, левый Option, правый Shift и кнопку питания.

      3. Подождите, пока экран не погаснет, затем отсчитайте ещё 5 секунд и отпустите всё, кроме кнопки питания.

      4. Продолжайте удерживать кнопку питания и следите за журналом ядра. Ищите запись об USB-устройстве, содержащую Product: Apple Mobile Device (DFU Mode).

      5. Как только увидите эту запись, отпустите кнопку питания.

    Если вы не видите устройство DFU в журнале или вместо этого в Product указано «Recovery Mode», что-то пошло не так. Повторите шаги заново. Дисплей целевой машины в режиме DFU останется пустым.

  8. На хост-машине нажмите Ctrl-C, чтобы остановить команду dmesg.

  9. Выполните следующую команду: systemd-inhibit sudo -s TMPDIR=$PWD idevicerestore -l.

  10. При появлении запроса введите «1», чтобы выбрать последнюю доступную версию macOS/прошивки.

Во время процесса восстановления на целевой машине будет отображаться логотип Apple и индикатор выполнения, а на хост-машине, выполняющей idevicerestore, будет выводиться информация о ходе процесса. Обратите внимание, что этот процесс включает подключение к CDN и серверам Apple для загрузки компонентов системной прошивки и их аутентификации для вашей конкретной машины.

После успешного завершения процесса машина перезагрузится в Помощник восстановления. Следуйте инструкциям, чтобы выбрать том macOS для восстановления, и введите свои учётные данные для аутентификации в macOS. После успешного завершения этого процесса ваша машина загрузится в средство выбора загрузки. Отсюда вы можете выбрать, какую ОС загрузить далее.

Вероятно, что любые существующие установки Fedora Asahi Remix станут незагружаемыми в результате процесса Revive. Если попытка загрузить установку Linux вызывает перезагрузку или экран восстановления, выполните шаги в разделе Обновление или восстановление m1n1 stage 1 для переустановки m1n1 этапа 1 и восстановления загрузки ОС.

Если DFU Revive завершается неудачей, вам потребуется выполнить DFU Restore. Для этого снова выполните вышеуказанные шаги, но добавьте опцию -e к команде idevicerestore:

systemd-inhibit sudo -s TMPDIR=$PWD idevicerestore -l -e

Это безвозвратно уничтожит все данные на целевой машине.

После DFU Restore ваша машина будет сброшена до заводского состояния и загрузится в мастер начальной настройки macOS.

Загрузка в live-режиме Fedora Linux на машине x86 (Intel/AMD) для выполнения DFU Restore

Вы можете использовать USB-накопитель для загрузки Fedora Workstation в live-режиме на любой машине x86-64 и выполнить DFU Restore из этой среды без необходимости установки на локальный диск. Вам потребуется USB-накопитель ёмкостью не менее 64 ГБ.

Все существующие данные на USB-накопителе будут стёрты.

Для подготовки USB-накопителя мы рекомендуем использовать Fedora Media Writer. Следуйте шагам на этой странице, чтобы загрузить его и записать образ на USB-накопитель, а затем загрузитесь с него на целевой машине.

После загрузки системы выполните следующие шаги, чтобы открыть терминал:

  1. На экране «Добро пожаловать в Fedora» нажмите «Не сейчас».

  2. Нажмите на значок в правом верхнем углу панели меню и подключитесь к сети Wi-Fi (если вы не используете проводной Ethernet).

  3. Нажмите на значок меню в левом верхнем углу, введите «terminal» и нажмите Enter.

Для выполнения процесса DFU Restore idevicerestore требуется большой объём временного дискового пространства. Поскольку live-образ работает из ОЗУ, в нём недостаточно доступного временного пространства. Чтобы создать и использовать временный раздел в оставшемся свободном пространстве на USB-накопителе, выполните следующие команды по одной:

Затем продолжите с шагов в разделе <<dfu-fedora>> (вы уже выполнили шаги 1-3 и не должны повторять их).