Главная > Apple > Прощай, Хакинтош

Прощай, Хакинтош

Эту заметку мне захотелось написать после нескольких неприятных моментов, связанных с утратой работоспособности моего мак-компьютера. После очередного системного обновления Maverick макбук перестал загружаться. Серый экран с яблоком и индикатор загрузки и дальше ни в какую. Я думал, что уже не столкнусь с таким никогда — времена хакинтоша давно позади. Некоторое время я был очень подавлен и не мог осознать реальность. Сразу вспомнил про вербальный режим загрузки (Cmd-V при включении питания). Запустил в этом самом verbose-режиме загрузку и вот что увидел в конце:

SMC::smcReadKeyAction ERROR: kSMCReadKeyComm/kSMCReadKeyWithSMCComm failed for key REV (kSMCSuccess)

Все, что выдавал гугл по данным словам, вело на ресурсы, связанные с хакинтошем, поэтому я даже не стал вникать, так как не мог представить, что истинный мак может что-то в себе нести от хакинтоша. А зря — ответ был как раз в этом. Но я не стал прислушиваться к интуиции, и продолжил исследования, в ходе которых узнал много нового. Например, что в биосе маков есть программы диагностики, с помощью которых можно проверить все устройства, а так же диск. Кроме того, на жестком диске есть раздел восстановления, с него можно запустить установку Mac OS с нуля, а так же запустить дисковую утилиту, с помощью которой можно проверить и вылечить пермишны — частая причина невозможности загрузить систему. Плюс к этому, начиная с OS X Lion в меню загрузки предусмотрена процедура Internet Recovery, правда, как ее запустить, я так и не разобрался — получается, что мак запускает ее по своему усмотрению. Есть некий безопасный режим (нужно удерживать клавишу Shift во время включения компьютера), я не понял, в чем его суть, но он мне не помог — загрузка системы так и не доходила до конца.

В какой-то момент мне стало лень дальше копать, и я пошел на крайний шаг — нашел жесткий диск, на котором с полгода назад делал образ TimeMachine. Немного поколебавшись, я запустил процедуру восстановления — пришлось смириться с потерей некоторых данных, поскольку большая часть из них хранится в облаке. Восстановление происходит путем вызова меню восстановления (нужно удерживать клавишу Alt во время включения компьютера)

Восстановление сработало четко — система завелась, правда, откатилась с Maverick на изначальную Moutain Lion.

Почти сразу следом я запустил установку Maverick. Видимо, текущая сборка содержала тот самый сервис пак, потому что после успешной установки Maverick вернулась прежняя проблема — система перестала загружаться. Я было начал впадать в депрессию, но смотря опустошенным взглядом в строчку журнала загрузки

SMC::smcReadKeyAction ERROR: kSMCReadKeyComm/kSMCReadKeyWithSMCComm failed for key REV (kSMCSuccess)

во мне забрезжила мысль: хакинтош никуда не уходил! Суть в том, что все свои маки, следовавшие за хакинтошем, я устанавливал путем асситента миграции — стандартной утилиты Mac OS X, которая переносит все данные с одного компьютера мак на другой. Мой путь в мире мак начался с OS X 10.5 Leopard, и, как я уже говорил, это был хакинтош. Одной из отличительных особенностей хакинтош тех дней был кекст FakeSMC.kext — он был нужен для того, чтобы обойти специфичную систему OS X SMC (System Management Controller). После проверки соответствующих директорий выяснилось, что этот кест постоянно мигрировал с одного мака на другой и был причиной  многих других проблем, как мне сейчас видится. Например, все мои маки не могли физически перезагрузиться (soft reset) или выключиться (shut down power). Приходилось принудительно кнопкой довершать процесс, что приводило при следующем старте к сообщению о том, что система была выключена аварийно и предложением отправить отчет в Apple. Я даже пару раз отправлял эти отчеты, а также задавал вопрос на форуме техподдержки — как мне теперь стыдно).

Удаление этих кекстов помогло. Нужно убедиться, чтобы не было в корне файловой системы папки /Extra, а также удалить /System/Library/Extensions/FakeSMC.kext

Я на всякий случай сделал перенос нежели удаление.

$ sudo mv /Extra /Users/heximal/root_stuff/
$ sudo mv /System/Library/Extensions/FakeSMC.kext/ /Users/heximal/root_stuff/

В итоге сейчас все хорошо — компьютеры перезагружаются штатным образом и обновление успешно установилось.

P.S. Теперь я точно возьму за правило делать образы восстановления чаще нежели чем раз в полгода. Даже подумываю раскошелиться на AirPort Time Capsule)

Categories: Apple Tags: ,
  1. wb77
    11 March 2014 в 17:38 | #1

    Папка /Extra не страшна, если загрузчик — родной, маковский, а не Хамелеон. Только Хамелеон оттуда подцепляет кексты.
    А про FakeSMC — забавно )
    Кстати, если на хакинтоше заводили звук, или видеокарту, то могли еще какие-нибудь кексты остаться, HDAEnabler1.kext, к примеру…

  2. 11 March 2014 в 19:32 | #2

    Спасибо за комментарий, надеюсь, он кому-нибудь когда-нибудь поможет, как и сама статья)
    Я тоже был обеспокоен тем, что помимо FakeSMC могло что-то еще остаться, поэтому сравнил содержимое папки /System/Library/Extenstions на эталонном маке (у коллеги в офисе) со своим. Лишним оказался только пресловутый FakeSMC))

  3. Андрей
    12 March 2014 в 07:43 | #3

    Кстати, про AirPort Time Capsule: мы на работе выбрали NAS от Synology — более гибкие настройки, можно настроить RAID 1.
    По теме «real mac» — долго со Славой думали о mac mini, и остановились все-таки на хаке… )

  4. 13 March 2014 в 10:49 | #4

    Ба, знакомые все лица, не узнал вас в гриме))
    Ничего себе у вас там нечеловеческие эксперименты творятся)
    Надо бы заскочить к вам на огонек.

  5. Андрей
    14 March 2014 в 07:51 | #5

    ))
    Ага, забегай, будем рады )

Подписаться на комментарии по RSS