Инструкции

Kernel Panic на Mac - диагностика и решение

Kernel Panic на Mac - диагностика и решение

Kernel Panic на Mac - диагностика и решение

Работали за MacBook, и вдруг экран гаснет, Mac перезагружается, а при возвращении появляется мрачное окно:

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

Это kernel panic - аналог "синего экрана смерти" в Windows, только на macOS. Система поймала критическую ошибку в ядре операционной системы, решила что продолжать опасно, и принудительно перезагрузилась.

Разовый kernel panic - не страшно, бывает у всех. Регулярные kernel panic - серьёзная проблема которую нужно диагностировать. Рассказываю как.

Почему происходит kernel panic

Три основные категории причин:

1. Проблемы с железом (hardware)

  • Неисправная RAM - на Apple Silicon RAM впаяна в чип, заменить нельзя, только менять весь Mac
  • Проблемы с SSD - обычно вместе с ошибками APFS в Disk Utility
  • Перегрев чипа - вентиляторы не справляются или забиты пылью
  • Проблемы с портами - плохой USB-C хаб, неисправный кабель зарядки
  • Физическое повреждение - MacBook ронял, заливал, подвергал ударам

2. Проблемы с программами (software)

  • Kernel extensions (kext) от сторонних драйверов - старые антивирусы, VPN-клиенты, виртуализация
  • Несовместимость с текущей macOS - программа работала на старой версии, ломается на новой
  • Багги обновление macOS - Apple выпустила апдейт с проблемой
  • Malware - редко но бывает, особенно на пиратском софте

3. Проблемы с периферией

  • Сбойные внешние устройства - USB хаб, eGPU (на Intel), внешний монитор
  • Несовместимые Bluetooth устройства - особенно китайские noname
  • Плохой Thunderbolt кабель - редко, но случается

Как прочитать отчёт kernel panic

После kernel panic macOS автоматически генерирует crash report в папке:

/Library/Logs/DiagnosticReports/

Можно зайти через Terminal:

open /Library/Logs/DiagnosticReports/

Или через встроенную утилиту Console:

  1. Spotlight - наберите "Console"
  2. В левом меню выберите "Crash Reports" или "System Reports"
  3. Ищите файлы с именем начинающимся на KernelPanic или имеющие расширение .panic
  4. Откройте последний по дате

Что искать в отчёте

Отчёт kernel panic длинный и технически сложный, но главная информация в начале файла:

Panic reason или Panic String - причина паники. Смотрите ключевые слова:
- Kernel trap at - ошибка доступа к памяти, часто железо
- Machine Check Exception - железная проблема с процессором
- Watchdog timeout - зависание какого-то процесса на длительное время
- Thermal - перегрев

Panicked task / thread - какой процесс паниковал. Если это kernel_task - проблема в ядре (чаще всего kext). Если это ваша программа - проблема в ней.

Backtrace - стек вызовов. Смотрите имена модулей:
- com.apple.* - модули Apple, обычно не они причина
- Имена сторонних разработчиков - вот это интересно

Binary Images - список загруженных в ядро расширений. Ищите сторонние kext (не Apple).

Диагностика: проверяем железо

Apple Diagnostics

Встроенная утилита для проверки железа. Работает на любом Mac.

Как запустить на Apple Silicon:

  1. Выключите Mac полностью
  2. Включите, зажав кнопку питания до Startup Options
  3. Зажмите Cmd + D (на встроенной клавиатуре)
  4. Запустится Apple Diagnostics, проверит всё железо (5-15 минут)
  5. Покажет отчёт с кодами ошибок или "No issues found"

На Intel Mac:

  1. Выключите Mac
  2. Включите, сразу зажмите D (без Cmd)
  3. Проверка запустится автоматически

Коды ошибок можно расшифровать на support.apple.com. Частые коды:
- PPT001 - батарея
- PFM006 - SMC controller
- PPP003, PPP004 - адаптер питания
- NDD001 - USB hardware
- VDH001 - дисплей

Проверка диска

sudo fsck -fy /

Или через Disk Utility - First Aid на системный том. Если находит ошибки файловой системы - делайте бэкап немедленно, диск может умирать.

Решение: отключаем подозрительные kext

Если в отчёте упомянуты сторонние kernel extensions, нужно их отключить. Список установленных:

kextstat | grep -v com.apple

Покажет все kext не от Apple. Обычно там:
- Драйверы антивирусов (Kaspersky, Sophos, Avast)
- VPN клиенты (Cisco AnyConnect, GlobalProtect)
- Виртуализация (Parallels, VMware)
- Специфичное железо (Blackmagic, Wacom)

Как удалить сторонние kext:

На Apple Silicon это не так просто из-за защит. Процесс:

  1. Узнайте какая программа установила kext (обычно видно по названию)
  2. Удалите программу через её официальный deinstaller
  3. Если deinstaller не работает, перейдите в Recovery Mode
  4. Откройте Terminal в Recovery
  5. Монтируйте системный том и удалите kext вручную (сложно, требует опыта)

Проще - полностью удалить программу через AppCleaner и перезагрузиться. AppCleaner найдёт и удалит все связанные файлы включая kext.

Решение: Safe Mode

Safe Mode - это режим загрузки с минимальным набором драйверов и расширений. Если в Safe Mode kernel panic не повторяется - причина точно в стороннем ПО.

Как загрузиться в Safe Mode на Apple Silicon:

  1. Выключите Mac
  2. Зажмите кнопку питания до Startup Options
  3. Выберите диск (обычно Macintosh HD)
  4. Зажмите Shift и нажмите "Continue in Safe Mode"
  5. Mac загрузится в Safe Mode (будет написано вверху экрана)

Поработайте в этом режиме час-два. Если kernel panic не случился - виновато стороннее ПО. Постепенно удаляйте подозрительных кандидатов и перезагружайтесь в нормальный режим между попытками.

Решение: переустановка macOS

Если ничего не помогает - переустановка системы без потери данных:

  1. Сделайте бэкап через Time Machine (обязательно)
  2. Войдите в Recovery Mode
  3. Выберите "Reinstall macOS"
  4. Не стирайте диск - просто переустановите поверх существующей системы
  5. Процесс займёт 30-60 минут
  6. После переустановки все ваши файлы и программы останутся, но системные файлы обновятся

В 80% случаев это решает проблему если причина была в повреждённой macOS.

Частые вопросы

Один kernel panic в месяц - это нормально?
Да, даже у новых Mac. Главное - не каждый день. Если случается раз в неделю и чаще - уже проблема.

После обновления macOS начался kernel panic каждый день, что делать?
Два варианта: откатиться на предыдущую версию (сложно на Apple Silicon, нужна чистая установка из Time Machine) или ждать следующего апдейта - Apple обычно фиксит в течение месяца.

Что делать если kernel panic случается прямо в процессе загрузки Mac?
Загрузитесь в Safe Mode (см. выше). Если работает - проблема в стороннем ПО на старте. Если и в Safe Mode панит - проблема с железом или системным диском.

Могу ли я сам заменить kext файлы?
Теоретически да, через Terminal. На практике - очень рискованно, можно сломать систему полностью. Лучше делать через деинсталляторы программ.

А если отчёт показывает kernel trap at virtual address 0x...?
Это ошибка обращения к памяти. Часто связана с железом (RAM повреждена). На Apple Silicon RAM впаяна, починить нельзя. Нужно обращаться в сервисный центр или Apple Support.

Надеюсь помогло найти причину. Если не уверены что ищете - обратитесь в сервисный центр, они расшифруют отчёт за 15 минут.

Комментарии (0)

Пока нет комментариев.