Sådan indlæses & Unload Kernel Extensions i Mac OS X

Indholdsfortegnelse:

Anonim

Kerneudvidelser, kaldet kext for kort, er kodemoduler, der indlæses direkte i kernerummet i Mac OS X, og kan køre på et lavt niveau for at udføre en række opgaver. De fleste kexts er en del af Mac OS X-systemsoftwaren, typisk hardwareenhedsdrivere, men nogle tredjepartsapps vil også installere en kext.

Nogle gange kan avancerede Mac-brugere og systemadministratorer være nødt til manuelt at indlæse eller fjerne en kerneudvidelse.Fordi kerneudvidelser ofte er kritiske komponenter i MacOS, er dette kun passende for brugere, der har en specifik grund til at ændre, om en kext indlæses eller aflæses i MacOS X-kernerummet. Uhensigtsmæssig ændring af kext-adfærd kan gøre Mac-hardware ubrugelig eller utilgængelig og kan også forhindre Mac OS X i overhovedet at fungere, så forsøg ikke at ændre nogen kerneudvidelse uden en tvingende grund og forståelse af, hvad dens brug er.

Indlæsning af en kerneudvidelse i Mac OS X med kextload

For at indlæse en kerneudvidelse til Mac OS X, skal du bruge kommandolinjeværktøjet kextload. Syntaksen er ellers simpel nok og kræver sudo for administrativ adgang til at udføre handlingen:

sudo kextload /path/to/kext.kext

Du kan også bruge bundle-id'et (som ofte er mål for standardkommandoer) med -b-flaget:

sudo kextload -b com.apple.driver.ExampleBundle

Undervejs, tryk retur, og med indtastning af administratoradgangskoden indlæses kerneudvidelsen i Mac OS X.

Du kan bekræfte, at en kerne er blevet indlæst ved at angive den med kextstat, ved at bruge grep til at søge efter det givne navn som sådan:

$ kextstat |grep com.apple.driver.ExampleBundle 125 0 0xdddddd7f23351040 0x5000 0x5000 com.apple.driver.ExampleBundle (1) 12 427

Dette kan være nyttigt efter manuel installation af en kerneudvidelse i Mac OS X, da det i nogle situationer vil forhindre behovet for at genstarte Mac'en.

Moderne versioner af Mac OS X tillader også indlæsning af kerneudvidelser med kommandoen kextutil, som er lidt mere fuld af fejlfindingsgrunde, men ellers er den samme til indlæsning af en kext.

Udlæsning af en kerneudvidelse med kextunload

At aflæse en kerneudvidelse fra Mac OS X er grundlæggende det samme som at indlæse en kext, bortset fra at du bruger kextunload-værktøjet med sudo som følger:

sudo kextunload -b com.apple.driver.ExampleBundle

Eller ved at pege direkte på kerneudvidelsesstien:

sudo kextunload /System/Library/Extensions/ThirdPartyMystery.kext

Igen kan du bekræfte, at kerneudvidelsen er blevet fjernet ved at bruge kextstat og grep, hvor den ikke skulle returnere noget.

Sådan indlæses & Unload Kernel Extensions i Mac OS X