Хакинтош после обновления шуршит жестким диском и не запускается графическая подсистема

Вчера при выключении системы OS X Yosemite мне было предложено установить обновления и выключить компьютер, что я и сделал. Сегодня был непрятно удивлен не загружающейся системой. При загрузке системы на последнем этапе как-то кривился экран. Есть предположение, что обновление затронуло какие-то кексты. 

Хорошо, что у меня осталась еще на диске старая инсталляция OS X 10.8.5. Сейчас загрузимся и посмотрим в /System/Library/Extensions/


Похоже, что есть зацепка. Как видно были обновлены следующие кексты:
  • System.kext // описание
  • IOGraphicsFamily.kext // описание
  • IONDRVSupport.kext // legacy; apparently for very old graphics chips
  • IOPCIFamily.kext // описание
  • AudioAUUC.kext // описание
  • AppleBacklightExpert.kext // описание

Кексты выделенные красным входят в набор минимально необходимых кекстов.
Кексты выделенные оранжевым входят в проект IOGraphics.

Странно, но очень трудно найти описания кекстов. Некоторые я так и не нашел.

Для начала сделаем бэкап того что есть:

$ cd /Volumes/OS\ X\ 10.10.2/System/Library/Extensions
$ sudo cp -R System.kext ~/Documents/Backup/
$ sudo cp -R IOGraphicsFamily.kext ~/Documents/Backup/
$ sudo cp -R IONDRVSupport.kext ~/Documents/Backup/
$ sudo cp -R IOPCIFamily.kext ~/Documents/Backup/
$ sudo cp -R AudioAUUC.kext ~/Documents/Backup/
$ sudo cp -R AppleBacklightExpert.kext ~/Documents/Backup/

Теперь надо восстановить кексты с загрузочной флэшки. Для этого надо сначала удалить то что есть, а потом установить исходные кексты. Не думаю, что надо восстанавливать сразу все. Попробуем начать с IOGraphicsFamily.kext.

$ sudo rm -rf IOGraphicsFamily.kext
$ sudo cp -R /Volumes/Yosemite/System/Library/Extensions/IOGraphicsFamily.kext ./
$ sudo chmod -R 755 IOGraphicsFamily.kext
$ sudo chown -R root:wheel IOGraphicsFamily.kext

Перезагружаемся... не проканало :(

Попробуем восстановить IOPCIFamily.kext и IONDRVSupport.kext. заодно:

$ sudo rm -rf IOPCIFamily.kext
$ sudo cp -R /Volumes/Yosemite/System/Library/Extensions/IOPCIFamily.kext ./
$ sudo chmod -R 755 IOPCIFamily.kext
$ sudo chown -R root:wheel IOPCIFamily.kext

$ sudo rm -rf IONDRVSupport.kext
$ sudo cp -R /Volumes/Yosemite/System/Library/Extensions/IONDRVSupport.kext ./
$ sudo chmod -R 755 IONDRVSupport.kext
$ sudo chown -R root:wheel IONDRVSupport.kext

Перезагрузка... неудача :(

Восстановим, что осталось:

$ sudo rm -rf System.kext
$ sudo cp -R /Volumes/Yosemite/System/Library/Extensions/System.kext ./
$ sudo chmod -R 755 System.kext
$ sudo chown -R root:wheel System.kext

$ sudo rm -rf AudioAUUC.kext
$ sudo cp -R /Volumes/Yosemite/System/Library/Extensions/AudioAUUC.kext ./
$ sudo chmod -R 755 AudioAUUC.kext
$ sudo chown -R root:wheel AudioAUUC.kext

$ sudo rm -rf AppleBacklightExpert.kext
$ sudo cp -R /Volumes/Yosemite/System/Library/Extensions/AppleBacklightExpert.kext ./
$ sudo chmod -R 755 AppleBacklightExpert.kext
$ sudo chown -R root:wheel AppleBacklightExpert.kext

Может кэш не удалился. Попробуем так:

$ sudo rm -rf /Volumes/OS\ X\ 10.10.2/System/Library/Caches/com.apple.kext.caches

Перезагрузка... снова неудача :(

Посмотрим какие файлы были изменены со времени последнего обновления:

$ find /Volumes/OS\ X\ 10.10.2/System -mtime -1 -ls

Миллионы файлов... так я ничего не найду.

Я заметил перед тем как экран начнет кривить выводится сообщение [AGPM Controller] unknownPlatform. Тут советуют такое решение:

$ sudo cp -R AppleIntelHDGraphics.kext ~/Documents/Backup/
$ sudo rm -rf AppleIntelHDGraphics.kext
$ sudo rm -rf /Volumes/OS\ X\ 10.10.2/System/Library/Caches/*

Перезагрузка... неудача :(

Попробуем добавить флаги при загрузке:

CPUS=1 PCIROOTUID=1 GRAPHICSENABLER=YES NPCI=0X2000

Перезагрузка... нет, не грузится :(

В общем пришлось переустановить ОС. И отключить автоматические обновления.


--