Paano Mag-load ng & I-unload ang mga Kernel Extension sa Mac OS X
Talaan ng mga Nilalaman:
- Naglo-load ng Kernel Extension sa Mac OS X na may kextload
- Pagbabawas ng Kernel Extension gamit ang kextunload
Ang mga kernel extension, na tinatawag na kext para sa maikli, ay mga module ng code na direktang na-load sa kernel space ng Mac OS X, na maaaring tumakbo sa mababang antas upang magsagawa ng iba't ibang mga gawain. Karamihan sa mga kext ay bahagi ng pangunahing Mac OS X system software, karaniwang mga driver ng hardware device, ngunit ang ilang third party na app ay mag-i-install din ng kext.
Minsan, maaaring kailanganin ng mga advanced na Mac user at system administrator na manu-manong mag-load o mag-unload ng kernel extension.Dahil ang mga kernel extension ay kadalasang kritikal na bahagi ng MacOS, ito ay angkop lamang para sa mga user na may partikular na dahilan upang baguhin kung ang isang kext ay na-load o na-unload sa MacOS X kernel space. Ang hindi naaangkop na pagbabago ng pag-uugali ng kext ay maaaring gawing walang silbi o hindi naa-access ang hardware ng Mac, at maaari ring pigilan ang Mac OS X na gumana nang tuluyan, kaya huwag subukang baguhin ang anumang kernel extension nang walang nakakahimok na dahilan at pag-unawa sa kung ano ang paggamit nito.
Naglo-load ng Kernel Extension sa Mac OS X na may kextload
Upang mag-load ng kernel extension sa Mac OS X, kakailanganin mong gamitin ang command line na kextload utility. Ang syntax ay kung hindi man ay sapat na simple, na nangangailangan ng sudo para sa administratibong pag-access upang maisagawa ang pagkilos:
sudo kextload /path/to/kext.kext
Maaari mo ring gamitin ang bundle identifier (na kadalasan ay ang mga target ng mga default na command) na may -b flag:
sudo kextload -b com.apple.driver.ExampleBundle
Alinmang paraan, pindutin ang return at sa pagpasok ng password ng administrator ang kernel extension ay mailo-load sa Mac OS X.
Maaari mong kumpirmahin na ang isang kernel ay na-load sa pamamagitan ng paglilista nito sa kextstat, gamit ang grep upang hanapin ang ibinigay na pangalan tulad nito:
$ kextstat |grep com.apple.driver.ExampleBundle 125 0 0xdddddd7f23351040 0x5000 0x5000 com.apple.driver.ExampleBundle (1) 12 48
Maaaring makatulong ito pagkatapos ng manu-manong pag-install ng kernel extension sa Mac OS X dahil sa ilang sitwasyon ay mapipigilan nito ang pangangailangang i-reboot ang Mac.
Ang mga modernong bersyon ng Mac OS X ay nagpapahintulot din sa pag-load ng kernel extension na makumpleto gamit ang command na kextutil, na medyo mas ganap na itinatampok para sa mga dahilan ng pag-debug, ngunit kung hindi man ay pareho para sa pag-load ng isang kext.
Pagbabawas ng Kernel Extension gamit ang kextunload
Ang pag-unload ng kernel extension mula sa Mac OS X ay halos kapareho ng pag-load ng kext, maliban kung gagamitin mo ang kextunload utility na may sudo tulad ng sumusunod:
sudo kextunload -b com.apple.driver.ExampleBundle
O sa pamamagitan ng direktang pagturo sa landas ng mga extension ng kernel:
sudo kextunload /System/Library/Extensions/ThirdPartyMystery.kext
Muli, maaari mong kumpirmahin na na-unload na ang kernel extension sa pamamagitan ng paggamit ng kextstat at grep, kung saan hindi ito dapat magbalik ng kahit ano.