Kexts, hay kernel extensions (phần mở rộng hạt nhân), mở rộng chức năng cơ bản của hạt nhân Darwin của macOS. Chúng tương tự như driver (trình điều khiển) dưới Windows, và cho phép hạt nhân giao tiếp với phần cứng máy tính. Hầu hết thời gian, các tệp này không yêu cầu bảo trì. Nhưng nếu bạn gặp vấn đề, bạn có thể cần chỉnh sửa một hoặc hai kext. Trong bài viết này, bạn sẽ học cách thêm và xóa Kexts trên macOS.
Mac Trên Big Sur Và Mới Hơn Có Dùng Kexts Không?
Apple không còn khuyến khích dùng kexts với thiết bị macOS. Để làm mọi thứ tệ hơn, macOS Big Sur thậm chí không hỗ trợ một số kexts; bạn có thể tìm danh sách đó ở đây.
Kexts Nằm Ở Đâu?
Bạn có thể tìm kexts ở hai nơi trên Mac. Đa số nằm trong thư mục "System/Library/Extensions", đây là nhà chính cho kexts. Một số cũng tìm thấy trong thư mục "/Library/Extensions", nhưng ít phổ biến hơn.
Bạn có thể nhận ra tệp bằng phần mở rộng .kext cũng như biểu tượng kiểu plugin.
Cách Xóa Kexts
Có hai cách xóa kexts. Cách đầu là dùng lệnh Terminal kextunload.
1. Xác định kext bạn cần xóa. Hãy chắc chắn tuyệt đối bạn có đúng cái. Xóa kext quan trọng hệ thống có thể gây vấn đề lớn, và tên kext thường khó hiểu.
2. Mở Terminal và nhập lệnh sau:
sudo kextunload /System/Library/Extensions/kext.kext
Đảm bảo thay "kext.kext" bằng tên tệp kext của bạn. Ví dụ, nếu kext bạn muốn xóa tên "AppleMobileDevice.kext", lệnh sẽ là:
sudo kextunload /System/Library/Extensions/AppleMobileDevice.kext
3. Sau khi gõ kext, nhấn Enter, rồi gõ mật khẩu quản trị viên và nhấn Enter lại.
Nếu thất bại, bạn cũng có thể ép xóa kext dùng rm.
1. Dùng lệnh Terminal sau để xóa tệp kext:
sudo rm -rf /System/Library/Extensions/kext.kext
Đảm bảo thay "kext.kext" bằng tên tệp kext. Ví dụ, nếu kext muốn xóa tên AppleIntelE1000e.kext, lệnh sẽ là:
sudo rm -rf /System/Library/Extensions/AppleIntelE1000e.kext
2. Nhập mật khẩu admin và nhấn Enter.
3. Khởi động lại máy tính.
Cách Cài Đặt Kexts Tự Động
Các bước dưới để xóa kexts chỉ hoạt động nếu bạn dùng Mac hệ điều hành trước Big Sur và dùng tiện ích KextBeast ban đầu tạo cho Hackintoshes.
1. Tải KextBust. Nếu bạn chưa có tài khoản miễn phí tonymacx86.com, bạn cần tạo để tải tệp.
2. Di chuyển tệp kext muốn cài lên Desktop. Chương trình sẽ tự động thao tác trên bất kỳ tệp kext nào trong thư mục "~/Desktop", vì vậy hãy chắc chắn bạn có đúng cái.
3. Mở KextBeast và nhấp "Tiếp tục" (Continue).
4. Nhấp "Tiếp tục" lại.
5. Chọn ổ khởi động hệ thống làm đích cài đặt và nhấp "Tiếp tục".
6. Tích vào ô bên cạnh "/System/Library/Extensions" hoặc "/Library/Extensions", tùy thuộc nơi kext cần cài. Nếu không biết chọn cái nào, chọn "/System/Library/Extensions".
8. Nhấp "Tiếp tục".
9. Nhập mật khẩu quản trị viên và nhấp "Cài Đặt Phần Mềm" (Install Software).
10. Chờ cài đặt xong và nhấp "Đóng" (Close).
11. Khởi động lại máy tính.
Cách Cài Đặt Kexts Thủ Công
Nếu bạn dùng Mac chạy Big Sur hoặc mới hơn, bạn có thể muốn xem các thay thế kernel extension. Apple khuyến khích DriverKit và Network Extension, trong số khác.
Vẫn vậy, nếu bạn dùng hệ điều hành trước Big Sur, kexts có thể cài thủ công. Quy trình phức tạp hơn, tuy nhiên, và Mac thực sự không thích bạn cài kexts như vậy.
1. Kéo thả tệp kext vào "/System/Library/Extensions".
2. Nhấp "Xác Thực" (Authenticate).
3. Nhập mật khẩu admin.
4. Mở Terminal và dùng lệnh sudo kextload kext.kext để tải kext mới sao chép. Đảm bảo thay "kext.kext" bằng tên tệp kext.
5. Nhập mật khẩu quản trị viên.
6. Khởi động lại máy tính.
Câu Hỏi Thường Gặp
1. Làm sao truy cập system extensions Big Sur?
Đi đến "Cài đặt Hệ thống → Phần Mở Rộng" (System Preferences → Extensions) để tìm phần mở rộng cài trên thiết bị – cả gốc và bên thứ ba.
2. System extension trên Mac bị chặn. Làm sao?
Đi đến "Cài đặt Hệ thống → Bảo Mật & Riêng Tư → Chung" (System Preferences → Security & Privacy → General).
Ở góc dưới bên phải cửa sổ, bạn nên thấy nút "Cho Phép" (Allow) bên cạnh thông báo: "Phần mềm hệ thống từ nhà phát triển [Tên Nhà Phát Triển] bị chặn tải."
Nhấp vào ổ khóa góc dưới trái và nhập mật khẩu, sau đó nhấp vào nút "Cho Phép".
3. System extensions và kernel extensions có giống nhau không?
System extensions và kernel extensions được thiết kế với cùng mục tiêu cuối nhưng hoạt động hơi khác. Cả hai nhằm làm tác vụ nền trên Mac chạy mượt hơn.
Tuy nhiên, system extensions không hoạt động trong kernel (hoạt động thay như các app riêng). Do đó, chúng không đe dọa Mac nhiều nếu vấn đề nảy sinh.
Kết Luận
Bạn không nên cần động đến kexts quá thường. Và nếu thiết bị chạy Big Sur hoặc mới hơn, bạn gần như không bao giờ cần cài một.
Nếu bạn cần xóa kext tại thời điểm nào, bạn có thể dùng Terminal xóa nó bớt phiền toái. Và nếu bạn dùng Mac cũ và cần cài kext, dùng KextBeast để đơn giản hóa quá trình.
Khi nói đến bảo trì macOS, điều khác bạn có thể đôi khi cần giúp là xóa tệp không xóa được cách thường.