Slik laster du & Unload Kernel Extensions i Mac OS X
Innholdsfortegnelse:
- Lasting av en kjerneutvidelse i Mac OS X med kextload
- Utlasting av en kjerneforlengelse med kextunload
Kjerneutvidelser, k alt kext for kort, er kodemoduler som lastes direkte inn i kjerneområdet til Mac OS X, og kan kjøres på et lavt nivå for å utføre en rekke oppgaver. De fleste kexts er en del av kjernen Mac OS X-systemprogramvaren, vanligvis maskinvareenhetsdrivere, men noen tredjepartsapper vil også installere en kext.
Noen ganger kan avanserte Mac-brukere og systemadministratorer måtte laste inn eller laste ut en kjerneutvidelse manuelt.Fordi kjerneutvidelser ofte er kritiske komponenter i MacOS, er dette bare egnet for brukere som har en spesifikk grunn til å modifisere om en kext lastes inn eller ut i MacOS X-kjerneplassen. Upassende modifikasjoner av kext-adferd kan gjøre Mac-maskinvare ubrukelig eller utilgjengelig, og kan også hindre Mac OS X fra å fungere i det hele tatt, så ikke forsøk å endre noen kjerneutvidelse uten en tvingende grunn og forståelse av hva dens bruk er.
Lasting av en kjerneutvidelse i Mac OS X med kextload
For å laste inn en kjerneutvidelse til Mac OS X, må du bruke kommandolinjeverktøyet kextload. Syntaksen er ellers enkel nok, og krever sudo for administrativ tilgang for å utføre handlingen:
sudo kextload /path/to/kext.kext
Du kan også bruke pakkeidentifikatoren (som ofte er målet for standardkommandoer) med -b-flagget:
sudo kextload -b com.apple.driver.ExampleBundle
Uansett, trykk retur og med inntasting av administratorpassordet vil kjerneutvidelsen lastes inn i Mac OS X.
Du kan bekrefte at en kjerne er lastet ved å liste den med kextstat, ved å bruke grep for å søke etter det gitte navnet slik:
$ kextstat |grep com.apple.driver.ExampleBundle 125 0 0xdddddd7f23351040 0x5000 0x5000 com.apple.driver.ExampleBundle (1) 12 4 2 7
Dette kan være nyttig etter å ha installert en kjerneutvidelse manuelt i Mac OS X, da det i noen situasjoner vil forhindre behovet for å starte Mac-en på nytt.
Moderne versjoner av Mac OS X tillater også innlasting av kjerneutvidelser med kextutil-kommandoen, som er litt mer fullverdig av feilsøkingsårsaker, men ellers er den samme for lasting av en kext.
Utlasting av en kjerneforlengelse med kextunload
Å laste ned en kjerneutvidelse fra Mac OS X er i utgangspunktet det samme som å laste en kext, bortsett fra at du bruker kextunload-verktøyet med sudo som følger:
sudo kextunload -b com.apple.driver.ExampleBundle
Eller ved å peke direkte på kjerneutvidelsesbanen:
sudo kextunload /System/Library/Extensions/ThirdPartyMystery.kext
Igjen, du kan bekrefte at kjerneutvidelsen er lastet ut ved å bruke kextstat og grep, der den ikke skal returnere noe.