Después de intentar mover algunas extensiones del kernel, el instalador falla: "IOCDStorageFamily.kext no es auténtico; se omite en el kernel previnculado".

Después de intentar mover algunas extensiones del kernel, el instalador falla: "IOCDStorageFamily.kext no es auténtico; se omite en el kernel previnculado".

Tengo un problema similar a otros en StackExchange, pero creo que mi causa subyacente y la solución necesaria son diferentes. Aquí está mi problema:

Cada vez que intento instalar algunos programas, incluido XCode y controladores para hardware, la instalación falla. El registro del instalador contiene este error:

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"
        );
    }

Muchos otro gentehan tenido este problema y, en sus casos, el problema es que tienen una extensión del kernel de terceros que está causando problemas. Su solución ha sido intentar eliminar las extensiones del kernel hasta que el problema desaparezca.

Sin embargo, a diferencia de estas personas, creo que la razón por la que tengo problemas es porque moví algunas extensiones del kernel que venían preinstaladas con Apple, no porque haya instalado extensiones del kernel que causan problemas. En particular, hace un tiempo quise desactivar la unidad de CD de mi máquina sin tener que quitarla físicamente, así que seguí el consejo deesta respuesta, que dice:

Ok, si quieres desactivar completamente el superdrive sin jugar con el control parental, puedes hacerlo descargando el archivo kext. Simplemente vaya a /System/Library/Extensionsla carpeta y busque IODVDStorageFamily.kextel archivo. Mueva este archivo a cualquier ubicación alternativa o cree una nueva carpeta allí, colóquela allí y reinicie. No volverás a ver el superdrive en tus dispositivos conectados.

Para usar el superdrive nuevamente, debe colocar ese archivo nuevamente en la misma ubicación e insertar una unidad USB, para que OSX comience a buscar dispositivos conectados y encuentre su superdrive. Realice la copia de seguridad de su archivo kext correctamente y no lo elimine.

En consecuencia, intenté mover IODVDStorageFamily.kexty IOCDStorageFamily.kexta otra ubicación de mi computadora. Después de moverlos, he tenido problemas al ejecutar el instalador.

Desde entonces, volví a mover los archivos a sus ubicaciones originales. También ejecuté sudo chown root:wheel IOCDStorageFamily.kext/y sudo chown root:wheel IODVDStorageFamily.kext/para asegurarme de que los permisos de sus archivos estén configurados correctamente. Ahora, en los registros del instalador, aparece los siguientes errores:

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)

Me parece que desde que me moví y toqué IOCDStorageFamily.kexty IODVDStorageFamily.kextun par de veces, mi máquina ya no confía en esos archivos. ¿Cómo puedo resolver este problema? ¿Hay alguna manera de convencer a mi máquina de que los archivos son "auténticos" o de obtener e instalar copias "auténticas" de esos archivos?


Aquí hay más información de mi archivo de registro del instalador:

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 {NSUnderlyingError=0x7fad64c06810 "The operation couldn’t be completed. (kextcache error 71.)", 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"
        );
    }

Respuesta1

Ejecute Utilidades de disco y utilice las opciones "Verificar permisos de disco" y "Reparar permisos de disco".

ingrese la descripción de la imagen aquí

Una vez hecho esto, las extensiones de su kernel se configurarán correctamente y podrá instalar sus programas y controladores.


Recuerde, uno de los pasos que realicé en mi pregunta fue tomar las extensiones del kernel que había eliminado /System/Library/Extensionsy volver a colocarlas en esa ubicación. Si usted mismo ha movido las extensiones del kernel, asegúrese de volver a moverlas antes de reparar los permisos del disco.

Si eliminó permanentemente las extensiones del kernel, es posible que deba copiar las extensiones del kernel originales de la partición Recovery HD. Vea esta respuesta para más detalles:https://apple.stackexchange.com/a/43019/43284.

información relacionada