วิธี kextunload ใน OS X Lion


11

ฉันเริ่มเรียนรู้เพิ่มเติมเกี่ยวกับ mac os x internals ตอนนี้ฉันต้องการโหลดและยกเลิกการโหลดส่วนขยายเคอร์เนลบางส่วน

ฉัน startet เพื่อโหลดระบบไฟล์ MS-DOS ผ่านทาง

sudo kextload /System/Library/Extensions/msdosfs.kext 

ฉันสามารถตรวจสอบสิ่งนี้ได้โดยการพิมพ์

kextstat | grep msdos 

เอาต์พุตคำสั่งแสดงไฟล์ kext ที่โหลด แต่เมื่อฉันต้องการยกเลิกการโหลดระบบไฟล์ MS-DOS:

sudo kextunload com.apple.filesystems.msdosfs

ฉันได้รับเฉพาะข้อความนี้:

Can't create com.apple.filesystems.msdosfs.

เกิดอะไรขึ้นกับบรรทัด kextunload ด้านบน

คำตอบ:


14

kextunloadสามารถใช้พา ธ Kernel Extension แบบเต็มkextloadได้

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

หากคุณต้องการใช้ตัวระบุบันเดิล - ที่ระบุโดยkextstat- ให้ใช้-bสวิตช์:

sudo kextunload -b com.apple.filesystems.msdosfs

2
ฉันจะได้Can't create –b.ถ้าฉันใช้มัน ... ฉันอยู่ที่ 10.8.3
mgol

2
ฉันรู้ว่ามันเก่ามาก แต่สำหรับการอ้างอิงถ้าคุณได้รับ "ไม่สามารถสร้าง -b" มันเป็นเพราะยัติภังค์เป็นตัวละครที่ไม่ถูกต้องอาจ UTF-8 เข้ารหัสรีบหรือสิ่งที่คัดลอกและวางจากเว็บไซต์ พิมพ์ -b ด้วยตัวคุณเอง
John Boker

2

หน้ามนุษย์ kextloadสามารถให้รายละเอียดแก่คุณ นี่คือคำสั่งที่ฉันใช้:

sudo kextload /path/to/file.kext

หรือหน้า man kextutilเครื่องมือนี้มีประโยชน์ในการรับข้อความดีบั๊กหากมีข้อผิดพลาดในกระบวนการโหลด

sudo kextutil /path/to/file.kext

และแน่นอนหน้า kextunload man ในคำตอบอื่น ๆ นี่คือคำสั่งที่ฉันใช้เป็นหลักเนื่องจากฉันไม่ชอบที่จะเขียนรหัสบันเดิลทั้งหมด:

sudo kextunload /path/to/file.kext

คุณยังสามารถใช้kextstatเพื่อตรวจสอบว่าไฟล์ kext ของคุณโหลดหรือไม่:

kextstat | grep -v apple

สิ่งนี้จะแสดงรายการ kexts ของบุคคลที่สามทั้งหมดตราบใดที่ 'apple' ไม่ได้อยู่ในรหัสบันเดิล


2

ฉันมีปัญหาเดียวกัน ( ไม่สามารถสร้าง –b.; ไม่สามารถสร้าง com.apple.driver.AppleUSBFTDI. ) ลอง " sudo kextunload –b com.apple.driver.AppleUSBFTDI " บนระบบปฏิบัติการ x 10.9.5

แต่หลังจากที่ฉันใช้เส้นทางแบบเต็ม ( sudo kextunload /System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns/AppleUSBFTDI.kext/ ) มันทำงานได้ ...

ที่เกิดขึ้นใน kexts บางอย่างเท่านั้นเช่นสำหรับ kext อื่น ๆ (/System/Library/Extensions/FTDIUSBSerialDriver.kext) มันทำงานได้สมบูรณ์แบบด้วย " sudo kextunload -b com.FTDIUSBSerialDriver "

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.