Ho inserito una sequenza di suggerimenti per la risoluzione dei problemi nei commenti, che sto registrando come risposta sotto. Se troviamo una soluzione, modificheremo questa risposta.
1. Assicurati che OSBundleAllowUserLoad sia vero
La pagina man di Apple per kextload
dice
For most kexts, kextload must run as the superuser (root). Kexts installed under /System/ with an OSBundleAllowUserLoad property set to true may be loaded via kextload by non-root users.
Quindi mi chiedo se quella proprietà sia stata in qualche modo modificata sul tuo Mac Pro. Sul mio sistema 10.8.4, cat /System/Library/Extensions/smbfs.kext/Contents/Info.plist
fornisce l'elenco di lunga durata mostrato in fondo a questa risposta. (L'ultima riga dovrebbe essere </plist>
... potrebbe essere necessario scorrere per vederlo.)
Tieni presente che la mia scheda include quanto segue:
<key>OSBundleAllowUserLoad</key>
<true/>
Se il tuo file non include queste righe (che indicano la chiave e il valore associato menzionato nella pagina man in alto), ti suggerirei:
-
Esegui il backup del file - ad esempio utilizzando
cp -p /System/Library/Extensions/smbfs.kext/Contents/Info.plist ~/Desktop/
(l'argomento -p
conserva le date e altri metadati sul file)
- Modifica il file per includere le righe che ho menzionato sopra. Poiché il file è di proprietà di root, non puoi semplicemente modificarlo in TextEdit. Potresti usare
sudo nano /System/Library/Extensions/smbfs.kext/Contents/Info.plist
. O ci sono soluzioni alternative che consentono l'uso di TextEdit: vedere questa risposta . (A proposito: ho il sospetto che sia possibile farlo usando defaults write
, ma preferirei evitare il rischio di scrivere in modo invisibile sul file sbagliato per errore.)
- Riavvia e verifica.
Non so in che modo quella chiave e il valore potrebbero essere scomparsi, ma aggiungerlo di nuovo sembra valere la pena provare. (Non so se funzionerà - non l'ho provato, e la firma del codice potrebbe impedire questo tipo di modifica.) Inoltre: fai attenzione a eseguire il backup e modificare solo questo file!
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>BuildMachineOSBuild</key>
<string>12E53</string>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>smbfs</string>
<key>CFBundleIdentifier</key>
<string>com.apple.filesystems.smbfs</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>smbfs</string>
<key>CFBundlePackageType</key>
<string>KEXT</string>
<key>CFBundleShortVersionString</key>
<string>1.8.4</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1.8.4</string>
<key>DTCompiler</key>
<string></string>
<key>DTPlatformBuild</key>
<string>4F250</string>
<key>DTPlatformVersion</key>
<string>GM</string>
<key>DTSDKBuild</key>
<string>12E53</string>
<key>DTSDKName</key>
<string></string>
<key>DTXcode</key>
<string>0440</string>
<key>DTXcodeBuild</key>
<string>4F250</string>
<key>NSHumanReadableCopyright</key>
<string>Copyright © 2004-2013 Apple Inc. All rights reserved.</string>
<key>OSBundleAllowUserLoad</key>
<true/>
<key>OSBundleLibraries</key>
<dict>
<key>com.apple.kext.triggers</key>
<string>1.0.0d1</string>
<key>com.apple.kpi.bsd</key>
<string>9.0.0</string>
<key>com.apple.kpi.iokit</key>
<string>9.0.0</string>
<key>com.apple.kpi.libkern</key>
<string>9.0.0</string>
<key>com.apple.kpi.mach</key>
<string>9.0.0</string>
<key>com.apple.kpi.private</key>
<string>10.0.0d1</string>
<key>com.apple.kpi.unsupported</key>
<string>9.0.0</string>
</dict>
<key>OSBundleRequired</key>
<string>Safe Boot</string>
</dict>
</plist>
Il poster originale (OP) ha provato questo, ma non ha funzionato.
2. Chiedi kextutil
per alcuni dati diagnostici
Per prima cosa, scarica il kext (nel caso in cui ... questo non faccia danno se è già stato scaricato):
sudo kextunload /System/Library/Extensions/smbfs.kext
Quindi chiedi a kextutil
di mostrare alcuni dati diagnostici ( -verbose 6
è la più alta "quantità di output" scelta):
sudo kextutil -print-diagnostics -verbose 6 /System/Library/Extensions/smbfs.kext
3. L'output diagnostico mostrava una dipendenza da un diverso kext, che mancava
L'output dell'OP includeva quanto segue:
...
/System/Library/Extensions/smbfs.kext - no dependency found for com.apple.kec.corecrypto.
...
Dependency Resolution Failures:
Only Apple kexts may link against com.apple.kpi.private.
No kexts found for these libraries:
com.apple.kec.corecrypto
... e abbiamo concluso che mancava /System/Library/Extensions/corecrypto.kext
, anche se non sappiamo perché.
4. Copia il corecrypto.kext
mancante da un'altra macchina (eseguendo la stessa versione di OS X)
L'OP copiato attraverso il kext mancante, riavviato e ritestato. Non avevamo ancora trovato una soluzione. Tuttavia, l'output diagnostico kextutil
era cambiato, ora mostra la (lista completa) sotto:
Kext user-space log filter changed from 0xff2 to 0xfff.
Kext kernel-space log filter changed from 0xff2 to 0xfff.
Kext library architecture set to i386.
No kernel file specified, using '/mach_kernel'
Kext library recording diagnostics for: validation authentication dependencies warnings.
/System/Library/Extensions/smbfs.kext has an Apple prefix but no copyright.
/System/Library/Extensions/smbfs.kext has an Apple prefix but no copyright.
/System/Library/Extensions/smbfs.kext has an Apple prefix but no copyright.
Diagnostics for /System/Library/Extensions/smbfs.kext:
Dependency Resolution Failures:
Only Apple kexts may link against com.apple.kpi.private.
5. Forse il pacchetto smbfs.kext
è danneggiato?
La mia ipotesi, basata sull'output precedente, è che il sistema operativo pensa che smbfs.kext
non sia un'estensione Apple (quando è effettivamente). Ho suggerito l'OP ripristinare smbfs.kext
da un backup, o copiare da un'altra macchina. Risultati attualmente sconosciuti.
Per confronto, sulla mia macchina, dove SMB sembra funzionare correttamente, l'output completo di sudo kextutil -print-diagnostics -verbose 6 /System/Library/Extensions/smbfs.kext
è:
Kext user-space log filter changed from 0xff2 to 0xfff.
Kext kernel-space log filter changed from 0xff2 to 0xfff.
Kext library architecture set to x86_64.
No kernel file specified, using '/mach_kernel'
Kext library recording diagnostics for: validation authentication dependencies warnings.
/System/Library/Extensions/smbfs.kext appears to be loadable (not including linkage for on-disk libraries).
Loading /System/Library/Extensions/smbfs.kext.
Reading load info for 8 kexts.
Reading loaded kext info from kernel.
(kernel) User-space log flags changed from 0x0 to 0xfff.
(kernel) Received 'Get Loaded Kext Info' request from user space.
(kernel) Returning loaded kext info.
Loaded kext info:
{
"com.apple.kpi.mach" = {
"OSBundleWiredSize" = 2188
"CFBundleIdentifier" = "com.apple.kpi.mach"
"OSBundleUUID" = <4edbbc26 0d734a03 b9f2131a ac114ede>
"OSBundleLoadAddress" = -551895728128
"OSBundleLoadTag" = 5
"OSBundleStarted" = true
"OSBundleCompatibleVersion" = "8.0.0d0"
"OSKernelResource" = true
"CFBundleVersion" = "12.4.0"
"OSBundlePath" =
"//System/Library/Extensions/System.kext/PlugIns/Mach.kext"
"OSBundleRetainCount" = 90
"OSBundlePrelinked" = true
"OSBundleIsInterface" = true
"OSBundleLoadSize" = 2188
}
"com.apple.kpi.libkern" = {
"OSBundleWiredSize" = 39416
"CFBundleIdentifier" = "com.apple.kpi.libkern"
"OSBundleUUID" = <5cfa490e 7e0540f5 bb983f3e 8ca54d37>
"OSBundleLoadAddress" = -551895687168
"OSBundleLoadTag" = 4
"OSBundleStarted" = true
"OSBundleCompatibleVersion" = "8.0.0d0"
"OSKernelResource" = true
"CFBundleVersion" = "12.4.0"
"OSBundlePath" =
"//System/Library/Extensions/System.kext/PlugIns/Libkern.kext"
"OSBundleRetainCount" = 104
"OSBundlePrelinked" = true
"OSBundleIsInterface" = true
"OSBundleLoadSize" = 39416
}
"com.apple.kpi.bsd" = {
"OSBundleWiredSize" = 26732
"CFBundleIdentifier" = "com.apple.kpi.bsd"
"OSBundleUUID" = <ed0f756e c36b41ee 9e630573 11c12b4e>
"OSBundleLoadAddress" = -551895646208
"OSBundleLoadTag" = 1
"OSBundleStarted" = true
"OSBundleCompatibleVersion" = "8.0.0b1"
"OSKernelResource" = true
"CFBundleVersion" = "12.4.0"
"OSBundlePath" =
"//System/Library/Extensions/System.kext/PlugIns/BSDKernel.kext"
"OSBundleRetainCount" = 71
"OSBundlePrelinked" = true
"OSBundleIsInterface" = true
"OSBundleLoadSize" = 26732
}
"com.apple.kpi.iokit" = {
"OSBundleWiredSize" = 112620
"CFBundleIdentifier" = "com.apple.kpi.iokit"
"OSBundleUUID" = <bd6bb21a 080d4f2b a6590437 d164ecde>
"OSBundleLoadAddress" = -551895605248
"OSBundleLoadTag" = 3
"OSBundleStarted" = true
"OSBundleCompatibleVersion" = "7.0"
"OSKernelResource" = true
"CFBundleVersion" = "12.4.0"
"OSBundlePath" =
"//System/Library/Extensions/System.kext/PlugIns/IOKit.kext"
"OSBundleRetainCount" = 99
"OSBundlePrelinked" = true
"OSBundleIsInterface" = true
"OSBundleLoadSize" = 112620
}
"com.apple.kpi.unsupported" = {
"OSBundleWiredSize" = 9164
"CFBundleIdentifier" = "com.apple.kpi.unsupported"
"OSBundleUUID" = <0a01a811 58284493 99b48233 fd6edeaa>
"OSBundleLoadAddress" = -551895699456
"OSBundleLoadTag" = 7
"OSBundleStarted" = true
"OSBundleCompatibleVersion" = "8.0.0b1"
"OSKernelResource" = true
"CFBundleVersion" = "12.4.0"
"OSBundlePath" =
"//System/Library/Extensions/System.kext/PlugIns/Unsupported.kext"
"OSBundleRetainCount" = 54
"OSBundlePrelinked" = true
"OSBundleIsInterface" = true
"OSBundleLoadSize" = 9164
}
"com.apple.kext.triggers" = {
"OSBundleWiredSize" = 20480
"CFBundleIdentifier" = "com.apple.kext.triggers"
"OSBundleStarted" = true
"OSBundleCPUType" = 16777223
"OSBundleCompatibleVersion" = "1.0.0d1"
"OSBundleUUID" = <e376df1d 63633e78 af0820ba bbf94701>
"OSKernelResource" = false
"CFBundleVersion" = "1.0"
"OSBundleLoadTag" = 109
"OSBundleLoadAddress" = -551874535424
"OSBundleDependencies" = (
1
4
3
7
6
5
)
"OSBundlePath" = "//System/Library/Extensions/triggers.kext"
"OSBundleRetainCount" = 1
"OSBundleCPUSubtype" = 3
"OSBundlePrelinked" = true
"OSBundleIsInterface" = false
"OSBundleLoadSize" = 20480
}
"com.apple.kpi.private" = {
"OSBundleWiredSize" = 20492
"CFBundleIdentifier" = "com.apple.kpi.private"
"OSBundleUUID" = <9a83c9f5 ff6145e6 837c7cf7 e10f3654>
"OSBundleLoadAddress" = -551895724032
"OSBundleLoadTag" = 6
"OSBundleStarted" = true
"OSBundleCompatibleVersion" = "8.0.0b1"
"OSKernelResource" = true
"CFBundleVersion" = "12.4.0"
"OSBundlePath" =
"//System/Library/Extensions/System.kext/PlugIns/Private.kext"
"OSBundleRetainCount" = 40
"OSBundlePrelinked" = true
"OSBundleIsInterface" = true
"OSBundleLoadSize" = 20492
}
}
/System/Library/Extensions/System.kext/PlugIns/BSDKernel.kext (version 12.4, UUID ED0F756E-C36B-41EE-9E63-057311C12B4E) is loaded.
/System/Library/Extensions/System.kext/PlugIns/BSDKernel.kext (version 12.4): is started.
setting load address of /System/Library/Extensions/System.kext/PlugIns/BSDKernel.kext to 0xffffff7f8074c000
/System/Library/Extensions/System.kext/PlugIns/Mach.kext (version 12.4, UUID 4EDBBC26-0D73-4A03-B9F2-131AAC114EDE) is loaded.
/System/Library/Extensions/System.kext/PlugIns/Mach.kext (version 12.4): is started.
setting load address of /System/Library/Extensions/System.kext/PlugIns/Mach.kext to 0xffffff7f80738000
/System/Library/Extensions/System.kext/PlugIns/Libkern.kext (version 12.4, UUID 5CFA490E-7E05-40F5-BB98-3F3E8CA54D37) is loaded.
/System/Library/Extensions/System.kext/PlugIns/Libkern.kext (version 12.4): is started.
setting load address of /System/Library/Extensions/System.kext/PlugIns/Libkern.kext to 0xffffff7f80742000
/System/Library/Extensions/System.kext/PlugIns/IOKit.kext (version 12.4, UUID BD6BB21A-080D-4F2B-A659-0437D164ECDE) is loaded.
/System/Library/Extensions/System.kext/PlugIns/IOKit.kext (version 12.4): is started.
setting load address of /System/Library/Extensions/System.kext/PlugIns/IOKit.kext to 0xffffff7f80756000
/System/Library/Extensions/System.kext/PlugIns/Unsupported.kext (version 12.4, UUID 0A01A811-5828-4493-99B4-8233FD6EDEAA) is loaded.
/System/Library/Extensions/System.kext/PlugIns/Unsupported.kext (version 12.4): is started.
setting load address of /System/Library/Extensions/System.kext/PlugIns/Unsupported.kext to 0xffffff7f8073f000
/System/Library/Extensions/triggers.kext (version 1.0, UUID E376DF1D-6363-3E78-AF08-20BABBF94701) is loaded.
/System/Library/Extensions/triggers.kext (version 1.0): is started.
setting load address of /System/Library/Extensions/triggers.kext to 0xffffff7f81b6e000
/System/Library/Extensions/System.kext/PlugIns/Private.kext (version 12.4, UUID 9A83C9F5-FF61-45E6-837C-7CF7E10F3654) is loaded.
/System/Library/Extensions/System.kext/PlugIns/Private.kext (version 12.4): is started.
setting load address of /System/Library/Extensions/System.kext/PlugIns/Private.kext to 0xffffff7f80739000
Omitting loaded kext /System/Library/Extensions/System.kext/PlugIns/BSDKernel.kext from mkext for kernel load.
Omitting loaded kext /System/Library/Extensions/System.kext/PlugIns/Mach.kext from mkext for kernel load.
Omitting loaded kext /System/Library/Extensions/System.kext/PlugIns/Libkern.kext from mkext for kernel load.
Omitting loaded kext /System/Library/Extensions/System.kext/PlugIns/IOKit.kext from mkext for kernel load.
Omitting loaded kext /System/Library/Extensions/System.kext/PlugIns/Unsupported.kext from mkext for kernel load.
Omitting loaded kext /System/Library/Extensions/System.kext/PlugIns/Private.kext from mkext for kernel load.
Omitting loaded kext /System/Library/Extensions/triggers.kext from mkext for kernel load.
Adding /System/Library/Extensions/smbfs.kext to mkext.
/System/Library/Extensions/smbfs.kext added 245568-byte noncompressed executable to mkext.
Created mkext for architecture x86_64 containing 1 kexts.
Loading /System/Library/Extensions/smbfs.kext.
(kernel) User-space log flags changed from 0x0 to 0xfff.
(kernel) Received kext load request from user space.
(kernel) Received request from user space to load kext com.apple.filesystems.smbfs.
(kernel) Loading kext com.apple.filesystems.smbfs.
(kernel) Kext com.apple.kpi.bsd is already loaded.
(kernel) Kext com.apple.kpi.mach is already loaded.
(kernel) Kext com.apple.kpi.libkern is already loaded.
(kernel) Kext com.apple.kpi.iokit is already loaded.
(kernel) Kext com.apple.kpi.unsupported is already loaded.
(kernel) Kext com.apple.kext.triggers is already loaded.
(kernel) Kext com.apple.kpi.private is already loaded.
(kernel) Allocated link buffer for kext com.apple.filesystems.smbfs at 0xffffff7f949c1000 (229376 bytes).
(kernel) Kext com.apple.filesystems.smbfs executable loaded; 56 pages at 0xffffff7f825c1000 (load tag 146).
(kernel) Kext com.apple.filesystems.smbfs calling module start function.
(kernel) Kext com.apple.filesystems.smbfs is now started.
(kernel) Kext com.apple.filesystems.smbfs loaded.
Successfully loaded /System/Library/Extensions/smbfs.kext.
/System/Library/Extensions/smbfs.kext successfully loaded (or already loaded).