Lỗi “Verifying shim SBAT data failed: Security Policy Violation” thường xuất hiện trên máy tính cài cả Windows và Linux (dual-boot). Lỗi xảy ra khi tính năng bảo mật Secure Boot chặn Linux không cho khởi động.
Điều này xảy ra vì Linux dùng file khởi động cũ (gọi là Shim hoặc GRUB) không khớp với quy tắc bảo mật mới Microsoft đưa ra qua các cập nhật Windows gần đây. Các cập nhật này làm Secure Boot nghiêm ngặt hơn. Nếu bootloader Linux chưa cập nhật hoặc cấu hình đúng, hệ thống có thể không boot và báo lỗi này.
May mắn thay, có vài cách khắc phục tùy cấu hình. Dù bạn vẫn dùng Linux song song Windows hay không cần nữa, các phương pháp sau sẽ giúp hệ thống boot bình thường trở lại.
1. Tạm tắt Secure Boot, cập nhật Shim, sau đó bật lại
Lý do chính lỗi này là bootloader Linux (thường là Shim) đã cũ và không còn được Secure Boot tin cậy. Để sửa, bạn cần tạm tắt Secure Boot, sau đó cập nhật Shim lên phiên bản an toàn, và cuối cùng bật lại Secure Boot để bảo vệ đầy đủ.
Bước 1: Tắt Secure Boot
- Khởi động lại PC và vào BIOS/UEFI bằng phím hiển thị khi khởi động (thường Del, Esc, F2, hoặc F10).
- Điều hướng đến tab Boot hoặc Security.
- Tìm tùy chọn Secure Boot và đặt thành Disabled.
- Nhấn F10 lưu thay đổi và thoát BIOS.
- Boot vào hệ thống Linux.
Bước 2: Xóa chính sách SBAT và cập nhật Shim trong Linux
- Trong Linux, nhấn Ctrl + Alt + T mở Terminal.
- Xóa chính sách SBAT hiện có bằng lệnh:
sudo mokutil --set-sbat-policy delete
- Khởi động lại hệ thống một lần.
- Mở Terminal lại và chạy lệnh cập nhật Shim:
sudo apt update && sudo apt upgrade shim-signed
- Sau khi cập nhật xong, khởi động lại PC.
Bước 3: Bật lại Secure Boot
- Khởi động lại PC và vào BIOS lần nữa.
- Đến tùy chọn Secure Boot đặt lại Enabled.
- Lưu thay đổi và thoát BIOS.
- Hệ thống giờ sẽ boot bình thường với Secure Boot bật và Shim hợp lệ, đã cập nhật.
2. Thay đổi thứ tự Boot trong BIOS ưu tiên Windows Boot Manager
Nếu hệ thống vẫn báo lỗi SBAT hoặc cố boot vào Linux sau khi sửa Shim, vấn đề có thể do bootloader sai được chọn. Trên dual-boot, cả Windows và Linux cài boot manager riêng (Windows Boot Manager và GRUB/Shim). Nếu hệ thống thử dùng bootloader Linux trước, có thể gây lỗi này. Khắc phục bằng cách đổi thứ tự boot trong BIOS để Windows Boot Manager load trước.
- Khởi động lại PC vào BIOS/UEFI (phím Del, Esc, F2, hoặc F10).
- Đến tab Boot.
- Tìm Boot Priority hoặc Boot Option Priorities.
- Đặt Windows Boot Manager làm tùy chọn boot đầu tiên.
- Hạ thứ tự GRUB, Shim, hoặc entry Linux khác.
- Nhấn F10 lưu và thoát BIOS.
- Hệ thống giờ sẽ boot thẳng vào Windows mà không load bootloader Linux trước.
3. Tắt Fast Boot trong BIOS
Nếu vẫn bị lỗi, nguyên nhân có thể do tính năng BIOS tên Fast Boot. Cài đặt này nhanh khởi động bằng cách bỏ qua kiểm tra phần cứng, nhưng có thể chặn Linux hoặc OS khác load đúng, đặc biệt dual-boot. Tắt Fast Boot buộc hệ thống kiểm tra đầy đủ phần cứng và tránh xung đột bootloader Shim/GRUB.
- Khởi động lại PC vào BIOS/UEFI (phím Del, Esc, F2, hoặc F10).
- Đến tab Boot. Một số hệ thống cần chuyển sang Advanced Mode trước.
- Tìm cài đặt Fast Boot.
- Đặt Disabled.
- Lưu thay đổi (nhấn F10 hoặc Save & Exit).
- Khởi động lại PC và thử boot lại.
4. Reset Windows để loại bỏ bootloader xung đột
Nếu bạn không còn dùng Linux và chỉ muốn PC boot vào Windows không lỗi, reset Windows là giải pháp tin cậy. Quy trình này xóa bootloader Linux thừa (GRUB/Shim), sửa file khởi động Windows hỏng, và reset cài đặt Secure Boot về mặc định. Tùy chọn tốt khi cách khác thất bại hoặc hệ thống vẫn báo SBAT sau khởi động.
- Bắt đầu bằng force-restart PC 3–4 lần để kích hoạt màn hình Automatic Repair.
- Khi màn hình hiện ra, nhấn Troubleshoot.
- Nhấn Reset this PC.
- Chọn Keep my files nếu muốn giữ dữ liệu cá nhân, hoặc Remove everything nếu muốn mới hoàn toàn.
- Làm theo hướng dẫn màn hình để hoàn tất reset.
Sau reset, Windows sẽ boot bình thường dùng bootloader mặc định. Nếu cần, bạn có thể bật lại Secure Boot qua BIOS để bảo vệ thêm.
TÁC GIẢ
Abdullah Iqbal
Abdullah là kỹ thuật viên Help Desk chứng chỉ Google IT với kinh nghiệm rộng cung cấp hỗ trợ kỹ thuật cho người dùng hệ thống. Anh có thành tích giải quyết sự cố IT hiệu quả, và thành thạo công cụ như Jira và ZenDesk quản lý ticket hỗ trợ. Abdullah cam kết cập nhật tiến bộ công nghệ mới nhất và liên tục cải thiện kỹ năng qua phát triển chuyên nghiệp.