Vấn đề: Sự bế tắc về bảo mậtBạn vừa hoàn tất việc cài đặt một VPN mới, một công cụ ảo hóa như VirtualBox, hoặc một trình điều khiển (driver) chuyên dụng cho giao diện âm thanh Focusrite. Mọi thứ dường như ổn thỏa cho đến khi một cảnh báo hệ thống cứng đầu ngăn cản tiến trình của bạn:
System Extension Blocked. A program tried to load new system extension(s). Allow in Security & Privacy preferences.
Mặc dù ứng dụng đã nằm trong thư mục Applications, nhưng nó thực tế đang bị tê liệt. macOS đã đưa phần mềm này vào chế độ cách ly. Đây không phải là một lỗi phần mềm. Đó là cách macOS hoạt động chính xác như dự định để ngăn chặn các mã không được phép xâm nhập vào lõi của hệ thống.
Tại sao macOS lại chặn phần mềm của bạn?Kể từ phiên bản macOS High Sierra, Apple đã thực thi cơ chế User-Approved Kernel Extension Loading (UAKEL). Về cơ bản, bất kỳ tiện ích mở rộng bên thứ ba nào—dù là Kernel Extension (KEXT) cũ hay System Extension hiện đại—đều yêu cầu sự cho phép rõ ràng từ quản trị viên trước khi có thể thực thi.
Apple hiện đang dần loại bỏ KEXT, loại chạy trong không gian nhân (kernel space) và có thể gây ra lỗi Kernel Panic (treo hệ thống) đáng sợ, để chuyển sang các 'System Extension' an toàn hơn chạy trong không gian người dùng (user space). Tuy nhiên, quy trình phê duyệt vẫn nghiêm ngặt như nhau đối với cả hai loại. Apple ưu tiên ba yếu tố sau đây:
- Độ ổn định (Stability): Chỉ cần một dòng mã lỗi trong một kernel extension cũng có thể làm sập toàn bộ máy Mac của bạn.- Bảo mật (Security): Quyền truy cập cấp nhân (kernel-level) cho phép một chương trình có khả năng quan sát toàn bộ dữ liệu của bạn.- Ý định (Intent): Apple muốn đảm bảo rằng chính bạn—chứ không phải một tập lệnh chạy ngầm—là người cho phép quyền truy cập sâu này.## Cách khắc phục trong 30 phút: Phê duyệt tiêu chuẩnNếu cửa sổ bật lên vừa xuất hiện, việc khắc phục thường diễn ra nhanh chóng. Nhưng đừng chờ đợi. Bạn chỉ có một khoảng thời gian ngắn ngủi là 30 phút để phê duyệt tiện ích mở rộng trước khi tùy chọn này biến mất khỏi cài đặt của bạn.
- Nhấp vào Menu Apple và mở System Settings.- Đi tới mục Privacy & Security.- Cuộn xuống cho đến khi bạn thấy phần Security.- Tìm thông báo: "System software from developer '[Developer Name]' was blocked from loading."- Nhấp vào Allow.- Nhập mật khẩu quản trị viên và nếu được yêu cầu, hãy Restart ngay lập tức. Tiện ích mở rộng sẽ không hoạt động cho đến lần khởi động tiếp theo.## Phải làm gì nếu nút 'Allow' bị thiếuViệc nút 'Allow' "chơi trò trốn tìm" là chuyện thường gặp, đặc biệt là nếu bạn đã bỏ lỡ mốc thời gian 30 phút đó. Dưới đây là cách để buộc nó xuất hiện trở lại.
1. Kích hoạt việc tải thủ côngBạn có thể đánh lừa macOS để bắt đầu lại đếm ngược 30 phút bằng cách thử tải tiện ích mở rộng thông qua Terminal. Nhập lệnh sau:
# Thay thế đường dẫn bằng đường dẫn thực tế đến tệp .kext
sudo kmutil load -p /Library/Extensions/ExampleApp.kext
Nếu bạn đang sử dụng một ứng dụng hiện đại như Dropbox hoặc tường lửa như Lulu, hãy thử mở trình đơn 'Settings' hoặc 'Help' của ứng dụng đó để tìm tùy chọn 'Reinstall Helpers'.
2. Trở ngại từ Điều khiển từ xa (Remote Desktop)macOS sẽ bỏ qua các cú nhấp chuột vào nút "Allow" nếu bạn đang sử dụng TeamViewer, AnyDesk, hoặc Apple Screen Sharing. Điều này giúp ngăn chặn những kẻ tấn công từ xa tự cấp quyền cho mình. Bạn phải trực tiếp ngồi trước máy Mac, sử dụng chuột có dây hoặc Bluetooth để nhấn nút đó.
3. Chính sách bảo mật Apple Silicon (M1/M2/M3/M4)Trên các máy Mac hiện đại, việc chỉ nhấn "Allow" là không đủ đối với các Kernel Extension cũ. Trước tiên, bạn phải hạ thấp hàng rào bảo mật trong Recovery Mode.
- Tắt hoàn toàn máy Mac của bạn.- Nhấn và giữ Nút nguồn cho đến khi dòng chữ "Loading startup options" xuất hiện.- Chọn Options > Continue.- Đi tới Utilities > Startup Security Utility.- Chọn ổ đĩa hệ thống của bạn và nhấp vào Security Policy...- Chọn Reduced Security và đánh dấu vào ô: "Allow user management of kernel extensions from identified developers."- Khởi động lại, sau đó quay lại cài đặt Privacy & Security của bạn để cuối cùng nhấp vào Allow.## Mẹo chuyên nghiệp: Xác minh trạng thái của Tiện ích mở rộngBạn muốn chắc chắn 100% rằng lỗi đã được khắc phục? Terminal sẽ cho bạn biết sự thật. Đối với System Extensions hiện đại:
systemextensionsctl list
Tìm dòng chữ [activated enabled]. Nếu bạn thấy [waiting for user], tức là việc phê duyệt vẫn chưa thành công.
Đối với Kernel Extensions cũ:
kmutil inspect -a | grep -v com.apple
Lệnh này sẽ lọc ra các trình điều khiển của chính Apple và chỉ hiển thị các trình điều khiển từ bên thứ ba hiện được máy Mac của bạn nhận dạng. Nếu ứng dụng của bạn nằm trong danh sách đó mà không có gắn cờ báo lỗi, thì bạn có thể yên tâm sử dụng.

