Slik laster du & Unload Kernel Extensions i Mac OS X

Innholdsfortegnelse:

Anonim

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.

Slik laster du & Unload Kernel Extensions i Mac OS X