วิธีโหลดและยกเลิกการต่ออายุส่วนขยายของเคอร์เนลใน OS X
ส่วนขยายของเคอร์เนลเรียกสั้น ๆ ว่า kext เป็นโมดูลของโค้ดที่โหลดโดยตรงลงในพื้นที่เคอร์เนลของ OS X ซึ่งสามารถเรียกใช้งานในระดับต่ำเพื่อดำเนินงานต่างๆ kext ส่วนใหญ่เป็นส่วนหนึ่งของซอฟต์แวร์ระบบหลักของ Mac OS X ซึ่งโดยปกติแล้วจะเป็นไดรเวอร์อุปกรณ์ฮาร์ดแวร์ แต่แอปพลิเคชันของบุคคลที่สามบางรายจะติดตั้ง kext ด้วยเช่นกัน
บางครั้งผู้ใช้ Mac ขั้นสูงและผู้ดูแลระบบอาจต้องโหลดหรือยกเลิกการโหลดส่วนขยายของเคอร์เนลด้วยตนเอง เนื่องจากส่วนขยายของเคอร์เนลเป็นส่วนประกอบที่สำคัญของ OS X ดังนั้นจึงเหมาะสำหรับผู้ใช้ที่มีเหตุผลเฉพาะเจาะจงเพื่อแก้ไขว่า kext ถูกโหลดหรือยกเลิกการโหลดลงในพื้นที่เคอร์เนลของ OS X การปรับเปลี่ยนลักษณะการทำงาน kext ไม่เหมาะสมอาจทำให้ฮาร์ดแวร์ Mac ไร้ประโยชน์หรือไม่สามารถเข้าถึงได้และยังป้องกัน OS X ไม่ให้ทำงานได้ดังนั้นอย่าพยายามเปลี่ยนส่วนขยายเคอร์เนลใด ๆ โดยไม่มีเหตุผลที่น่าสนใจและเข้าใจว่าการใช้งานเป็นอย่างไร
กำลังโหลดส่วนขยายเคอร์เนลใน OS X ด้วย kextload
ในการโหลดส่วนขยายของเคอร์เนลลงใน OS X คุณจะต้องใช้อรรถประโยชน์ kextload ของบรรทัดคำสั่ง ไวยากรณ์เป็นอย่างอื่นง่ายพอที่ต้อง sudo สำหรับการเข้าถึงผู้ดูแลระบบเพื่อดำเนินการ:
sudo kextload /path/to/kext.kext
นอกจากนี้คุณยังสามารถใช้ตัวระบุกลุ่ม (ซึ่งมักเป็นเป้าหมายของคำสั่งดีฟอลต์) โดยใช้ค่าสถานะ -b:
sudo kextload -b com.apple.driver.ExampleBundle
ไม่ว่าจะเป็นวิธีใดก็ตามให้กด return และใส่รหัสผ่านของผู้ดูแลระบบส่วนขยายเคอร์เนลจะถูกโหลดลงใน OS X
คุณสามารถยืนยันเคอร์เนลได้รับการโหลดโดยการแสดงรายการด้วย kextstat โดยใช้ grep เพื่อค้นหาชื่อที่กำหนดเช่น:
$ kextstat |grep com.apple.driver.ExampleBundle
125 0 0xdddddd7f23351040 0x5000 0x5000 com.apple.driver.ExampleBundle (1) 12 8 7 5 4 2 1
การดำเนินการนี้อาจมีประโยชน์หลังจากติดตั้งส่วนขยายเคอร์เนลลงใน OS X ด้วยเช่นกันในบางสถานการณ์จะเป็นการป้องกันไม่ให้ต้องรีบูตเครื่อง Mac
Mac OS X รุ่นใหม่ยังช่วยให้การโหลดส่วนขยายเคอร์เนลเสร็จสมบูรณ์ด้วยคำสั่ง kextutil ซึ่งเป็นบิตเพิ่มเติมที่มีคุณลักษณะสำหรับการแก้จุดบกพร่อง แต่เป็นอย่างอื่นสำหรับการโหลด kext
การขยายส่วนขยายเคอร์เนลด้วย kextunload
การยกเลิกการโหลดส่วนขยายของเคอร์เนลจาก OS X โดยทั่วไปจะเหมือนกับการโหลด kext ยกเว้นคุณจะใช้อรรถประโยชน์ kextunload กับ sudo ดังนี้:
sudo kextunload -b com.apple.driver.ExampleBundle
หรือโดยชี้โดยตรงไปยังเส้นทางของส่วนขยายเคอร์เนล:
sudo kextunload /System/Library/Extensions/ThirdPartyMystery.kext
อีกครั้งคุณสามารถยืนยันการขยายเคอร์เนลได้รับการยกเลิกการโหลดโดยใช้ kextstat และ grep ซึ่งจะไม่มีผลตอบแทนใด ๆ