Таким образом, статьи kbase о кодах системных ошибок относятся ко временам процессоров PowerPC, которые, очевидно, нуждались в гораздо большем количестве битов, чтобы сообщать обо всех потенциальных аппаратных ошибках, которые могут вызвать отключение. Начиная с появления плат Intel, все выключения помечаются 8-битным кодом, если обычные флажки выключения программного обеспечения не записываются. Положительный код указывает на отключение, инициированное программным обеспечением или HID, а отрицательный код (в диапазоне от -1 до -127) указывает на аппаратное отключение, инициированное Intel SMC. Код выключения -128 указывает на аппаратное отключение по неизвестной причине.
Код отключения 0 находится в предельном пространстве между оборудованием и пользователем; это означает внезапную потерю энергии, которая может быть вызвана сбоем оборудования или действиями пользователя (если вы хотите продемонстрировать это сами, попробуйте вытащить аккумулятор из старого MacBook или MacBook Pro, когда он включен и отсоединен, или вытащить Выключите шнур питания iMac во время его работы, затем перезагрузите компьютер и проверьте Console.app. Причина 0 в режиме сна возникает, когда MacBook / Pro / Air переводит себя в SafeSleep, используя последний бит резервного заряда батареи перед полным отключением системы, чтобы сохранить содержимое оперативной памяти в
/var/vm/sleepimage
файл. Если вам не удастся подключить адаптер MagSafe сразу после того, как компьютер перейдет в спящий режим, этот код будет вполне гарантированно сопровождаться 0 причиной выключения в system.log.
Некоторые из аппаратных кодов выключения являются уникальными для определенных моделей компьютеров в зависимости от их конфигурации, поскольку они относятся к конкретному датчику или устройству, которое существует только в этой модели - когда я работал в Apple, нам говорили, что Intel отвечает за назначение кодов и не был особенно свободен с обменом информацией на этот счет, даже с Apple Engineering. Таким образом, мы в значительной степени должны были выяснить неясные самостоятельно.
Причина предыдущего выключения 5 и 3 - это перенесенные с дней PowerPC, поскольку они инициированы пользователем, ОС по-прежнему отвечает за их отчеты.
Код 5 - это чистое, инициированное пользователем отключение программного обеспечения, например, выбрав «Выключение» в меню, или нажав кнопку питания и выбрав «Выключение» во всплывающем окне, или удерживая нажатой клавишу controloptioncommandeject, или набрав
sudo halt
в командной строке. Точно так же «Причина предыдущего сна», равная 5, указывает на любой чистый инициированный пользователем сон из меню or или из горячего угла или из командной строки, либо закрытие крышки и запуск датчика Холла в верхнем корпусе MacBook / Pro / Air. ,
Код 3 - это «грязное» завершение работы, которое может быть вызвано любой перезагрузкой компьютера, инициированной пользователем, или принудительным остановом компьютера, удерживая нажатой кнопку питания более 5 секунд.