После попытки переместить некоторые расширения ядра программа установки завершается ошибкой: «IOCDStorageFamily.kext не является подлинным; исключение из предварительно связанного ядра».

2404
Kevin

У меня есть проблема, аналогичная другим в этом StackExchange, но я считаю, что моя основная причина и необходимое решение отличаются. Вот моя проблема:

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

NSLocalizedDescription=An error occurred while updating system extension information., arguments=( "-update-volume", "/", "-Installer" )} { NSLocalizedDescription = "An error occurred while updating system extension information."; NSUnderlyingError = "Error Domain=kextcache Code=71 \"The operation couldn\U2019t be completed. (kextcache error 71.)\""; arguments = ( "-update-volume", "/", "-Installer" ); } 

Многие другие люди имели эту проблему, и в их случаях проблема заключается в том, что у них есть стороннее расширение ядра, которое вызывает проблемы. Их решение было попытаться удалить расширения ядра, пока проблема не исчезнет.

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

Хорошо, если вы хотите полностью отключить супердвигатель, не играя с родительским контролем, вы можете сделать это, выгрузив файл kext. Просто зайдите в /System/Library/Extensionsпапку и найдите IODVDStorageFamily.kextфайл. Переместите этот файл в любое другое место или создайте там новую папку, поместите ее и перезагрузите. Вы больше не увидите супердвигатель на подключенных устройствах.

Чтобы снова использовать супердвигатель, вам нужно снова поместить этот файл в то же место и вставить USB-накопитель, чтобы OSX начала поиск подключенных устройств и нашла ваш супердвигатель. Сделайте резервную копию вашего kext-файла правильно и не удаляйте его.

Соответственно, я попытался переместить IODVDStorageFamily.kextи IOCDStorageFamily.kextв другое место на моем компьютере. После их перемещения у меня возникли проблемы с запуском установщика.

С тех пор я переместил файлы обратно в их исходные места. Я также побежал sudo chown root:wheel IOCDStorageFamily.kext/и sudo chown root:wheel IODVDStorageFamily.kext/убедиться, что их права доступа к файлам установлены правильно. Теперь в логах установщика я получаю следующие ошибки:

Sep 17 16:04:02 pcp257716pcs.unl.edu installd[1062]: kextcache: IODVDStorageFamily.kext has incorrect permissions; omitting. Sep 17 16:04:02 pcp257716pcs.unl.edu installd[1062]: kextcache: IOCDStorageFamily.kext has incorrect permissions; omitting. (snip) Sep 17 16:04:12 pcp257716pcs.unl.edu installd[1062]: kextcache: /System/Library/Extensions/IOCDStorageFamily.kext is not authentic; omitting from prelinked kernel. Sep 17 16:04:12 pcp257716pcs.unl.edu installd[1062]: kextcache: /System/Library/Extensions/IODVDStorageFamily.kext is not authentic; omitting from prelinked kernel. Sep 17 16:04:14 pcp257716pcs.unl.edu installd[1062]: kextcache: Can't use IODVDStorageFamily.kext - not linked. (snip) Sep 17 16:04:14 pcp257716pcs.unl.edu installd[1062]: kextcache: Can't use IODVDStorageFamily.kext - not linked. (snip) 

Мне кажется, с тех пор, как я переехал и прикоснулся, IOCDStorageFamily.kextи IODVDStorageFamily.kextпару раз моя машина больше не доверяла этим файлам. Как я могу решить эту проблему? Есть ли способ убедить мой компьютер, что файлы являются «подлинными», или получить и установить «подлинные» копии этих файлов?


Вот еще немного информации из моего файла журнала установки:

Sep 17 16:03:50 pcp257716pcs.unl.edu installd[1062]: PackageKit: kextcache -system-caches Sep 17 16:03:50 pcp257716pcs.unl.edu installd[1062]: kextcache: /usr/sbin/kextcache -system-caches Sep 17 16:03:53 pcp257716pcs.unl.edu installd[1062]: PackageKit: kextcache -update-volume / -Installer Sep 17 16:03:53 pcp257716pcs.unl.edu installd[1062]: kextcache: /usr/sbin/kextcache -update-volume / -Installer Sep 17 16:03:53 pcp257716pcs.unl.edu installd[1062]: kextcache: kextcache -arch x86_64 -local-root -all-loaded -kernel /System/Library/Kernels/kernel -prelinked-kernel /System/Library/Caches/com.apple.kext.caches/Startup/kernelcache -volume-root / /System/Library/Extensions /Library/Extensions Sep 17 16:03:57 pcp257716pcs.unl.edu installd[1062]: kextcache: SRXDisplayCard.kext has invalid signature; omitting. Sep 17 16:03:57 pcp257716pcs.unl.edu installd[1062]: kextcache: kext file:///System/Library/Extensions/Soundflower.kext/ is in hash exception list, allowing to load Sep 17 16:03:58 pcp257716pcs.unl.edu installd[1062]: kextcache: kext file:///System/Library/Extensions/ProcasterAudioRedirector.kext/ is in hash exception list, allowing to load Sep 17 16:03:58 pcp257716pcs.unl.edu installd[1062]: kextcache: kext file:///System/Library/Extensions/JMicronATA.kext/ is in hash exception list, allowing to load Sep 17 16:04:02 pcp257716pcs.unl.edu installd[1062]: kextcache: IODVDStorageFamily.kext has incorrect permissions; omitting. Sep 17 16:04:02 pcp257716pcs.unl.edu installd[1062]: kextcache: IOCDStorageFamily.kext has incorrect permissions; omitting. Sep 17 16:04:07 pcp257716pcs.unl.edu installd[1062]: kextcache: AppleMobileDevice.kext has invalid signature; omitting. Sep 17 16:04:12 pcp257716pcs.unl.edu installd[1062]: kextcache: /System/Library/Extensions/IOCDStorageFamily.kext is not authentic; omitting from prelinked kernel. Sep 17 16:04:12 pcp257716pcs.unl.edu installd[1062]: kextcache: /System/Library/Extensions/IODVDStorageFamily.kext is not authentic; omitting from prelinked kernel. Sep 17 16:04:14 pcp257716pcs.unl.edu installd[1062]: kextcache: Can't use IODVDStorageFamily.kext - not linked. Sep 17 16:04:14 pcp257716pcs.unl.edu installd[1062]: kextcache: Prelink failed for com.apple.iokit.IOBDStorageFamily; omitting from prelinked kernel. Sep 17 16:04:14 pcp257716pcs.unl.edu installd[1062]: kextcache: Can't use IODVDStorageFamily.kext - not linked. Sep 17 16:04:14 pcp257716pcs.unl.edu installd[1062]: kextcache: Prelink failed for com.apple.iokit.IOSCSIMultimediaCommandsDevice; omitting from prelinked kernel. Sep 17 16:04:17 pcp257716pcs.unl.edu installd[1062]: kextcache: Can't use IOSCSIMultimediaCommandsDevice.kext - not linked. Sep 17 16:04:17 pcp257716pcs.unl.edu installd[1062]: kextcache: Prelink failed for com.apple.driver.PioneerSuperDrive; omitting from prelinked kernel. Sep 17 16:04:17 pcp257716pcs.unl.edu installd[1062]: kextcache: Can't use IOSCSIMultimediaCommandsDevice.kext - not linked. Sep 17 16:04:17 pcp257716pcs.unl.edu installd[1062]: kextcache: Prelink failed for com.apple.driver.MKE_SR_8171; aborting prelink. Sep 17 16:04:17 pcp257716pcs.unl.edu installd[1062]: kextcache: Failed to generate prelinked kernel. Sep 17 16:04:17 pcp257716pcs.unl.edu installd[1062]: kextcache: Child process /usr/sbin/kextcache[3232] exited with status 71. Sep 17 16:04:17 pcp257716pcs.unl.edu installd[1062]: kextcache: Error 107 rebuilding /System/Library/Caches/com.apple.kext.caches/Startup/kernelcache Sep 17 16:04:17 pcp257716pcs.unl.edu install_monitor[3217]: Re-included: /Applications, /Developer, /Library, /System, /bin, /private, /sbin, /usr Sep 17 16:04:17 pcp257716pcs.unl.edu installd[1062]: PackageKit: releasing backupd Sep 17 16:04:17 pcp257716pcs.unl.edu installd[1062]: PackageKit: allow user idle system sleep Sep 17 16:04:17 pcp257716pcs.unl.edu installd[1062]: PackageKit: Install Failed: Error Domain=PKInstallErrorDomain Code=121 "An error occurred while updating system extension information." UserInfo=0x7fad64c06840 { NSLocalizedDescription = "An error occurred while updating system extension information."; NSUnderlyingError = "Error Domain=kextcache Code=71 \"The operation couldn\U2019t be completed. (kextcache error 71.)\""; arguments = ( "-update-volume", "/", "-Installer" ); } 
0
Я использую OS X 10.10.5 на MacBook Pro 15 "2011 года. 2 ГГц Intel Core i7, 8 ГБ ОЗУ. Kevin 8 лет назад 0

1 ответ на вопрос

-1
Kevin

Run Disk Utilities and use the "Verify Disk Permissions" and "Repair Disk Permissions" options.

enter image description here

Once this is done, your kernel extensions will be configured correctly, and you can install your programs and drivers.


Remember, one of the steps I performed in my question was, I took the kernel extensions I had removed from /System/Library/Extensions and put them back into that location. If you have moved kernel extensions yourself, make sure to move them back before repairing disk permissions.

If you permanently deleted the kernel extensions, you may need to copy the original kernel extensions from the Recovery HD partition. See this answer for more details: https://apple.stackexchange.com/a/43019/43284.

Убедитесь, что разрешение на диск неактивно Sanandrea 7 лет назад 0
Посмотрите на дерево дисков в левой части окна (вы можете увидеть его на моем скриншоте). Выбран первый элемент или элемент под ним? Я думаю, что вы должны выбрать второй элемент, как на скриншоте, прежде чем кнопка Verify Disk Permissions включена. Kevin 7 лет назад 0
Предмет под первым предметом :( Sanandrea 7 лет назад 0