Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การแก้ไขปัญหา >> Linux

วิธีแก้ไขข้อผิดพลาด 'Verifying Shim SBAT Data Failed' Security Policy Violation บนระบบ Dual-Boot

ข้อผิดพลาด “Verifying shim SBAT data failed: Security Policy Violation” มักปรากฏบนคอมพิวเตอร์ที่ติดตั้งทั้ง Windows และ Linux (dual-boot) เกิดขึ้นเมื่อฟีเจอร์ความปลอดภัยชื่อ Secure Boot บล็อก Linux ไม่ให้เริ่มต้น

สิ่งนี้เกิดเพราะ Linux ใช้ไฟล์เริ่มต้นเก่า (เรียกว่า Shim หรือ GRUB) ที่ไม่ตรงกับกฎความปลอดภัยล่าสุดที่ Microsoft นำเข้าผ่านการอัปเดต Windows ล่าสุด การอัปเดตเหล่านี้ทำให้ Secure Boot เข้มงวดขึ้น หาก Linux bootloader ไม่ได้รับการอัปเดตหรือกำหนดค่าอย่างถูกต้อง ระบบอาจไม่สามารถบูทได้และแสดงข้อผิดพลาดนี้

โชคดีที่ มีหลายวิธีแก้ไขปัญหานี้ ขึ้นอยู่กับการตั้งค่าของคุณ ไม่ว่าคุณจะยังใช้ Linux ควบคู่กับ Windows หรือไม่ต้องการแล้ว วิธีต่อไปนี้จะช่วยให้ระบบบูทปกติอีกครั้ง

1. ปิด Secure Boot ชั่วคราว อัปเดต Shim แล้วเปิด Secure Boot กลับ

เหตุผลหลักของข้อผิดพลาดนี้คือ Linux bootloader (มักเป็น Shim) ล้าสมัยและไม่ไว้ใจได้จาก Secure Boot แล้ว วิธีแก้คือ ปิด Secure Boot ชั่วคราว แล้ว อัปเดต Shim เป็นรุ่นที่ปลอดภัย และสุดท้าย เปิด Secure Boot กลับ เพื่อการป้องกันเต็มรูปแบบ

ขั้นตอนที่ 1: ปิด Secure Boot

  1. รีสตาร์ทคอมพิวเตอร์ และเข้า BIOS/UEFI โดยกดปุ่มที่แสดงตอนเริ่มต้น (มักเป็น Del, Esc, F2, หรือ F10)
  2. ไปที่แท็บ Boot หรือ Security
  3. หาตัวเลือก Secure Boot และตั้งค่าเป็น Disabled
  4. กด F10 เพื่อบันทึกการเปลี่ยนแปลงและออกจาก BIOS
  5. บูทเข้า Linux ของคุณ

ขั้นตอนที่ 2: ลบ SBAT Policy และอัปเดต Shim ใน Linux

  1. เข้าสู่ Linux แล้ว กด Ctrl + Alt + T เพื่อเปิด Terminal
  2. ลบ SBAT policy ที่มีอยู่ด้วยคำสั่ง:
    sudo mokutil --set-sbat-policy delete
  3. รีบูทระบบหนึ่งครั้ง
  4. เปิด Terminal อีกครั้ง และรันคำสั่งอัปเดต Shim:
    sudo apt update && sudo apt upgrade shim-signed
  5. เมื่ออัปเดตเสร็จ ให้รีบูทคอมพิวเตอร์อีกครั้ง

ขั้นตอนที่ 3: เปิด Secure Boot กลับ

  1. รีสตาร์ทคอมพิวเตอร์และเข้า BIOS อีกครั้ง
  2. ไปที่ตัวเลือก Secure Boot และตั้งค่ากลับเป็น Enabled
  3. บันทึกการเปลี่ยนแปลงและออกจาก BIOS
  4. ระบบควรบูทปกติแล้ว พร้อม Secure Boot เปิดอยู่ และ Shim ที่อัปเดตแล้วและถูกต้อง

2. เปลี่ยนลำดับบูทใน BIOS ให้ Windows Boot Manager เป็นลำดับแรก

หากระบบยังแสดงข้อผิดพลาด SBAT หรือพยายามบูทเข้า Linux แม้หลังแก้ Shim แล้ว ปัญหาอาจมาจาก bootloader ที่ถูกเลือกผิด บนระบบ dual-boot ทั้ง Windows และ Linux ติดตั้ง boot manager ของตัวเอง (Windows Boot Manager และ GRUB/Shim) หากระบบพยายามใช้ Linux bootloader ก่อน อาจก่อให้เกิดข้อผิดพลาดนี้ คุณแก้ได้โดยเปลี่ยนลำดับบูทใน BIOS ให้ Windows Boot Manager โหลดก่อน

  1. รีสตาร์ทคอมพิวเตอร์และเข้า BIOS/UEFI โดยกดปุ่มที่แสดงตอนเริ่มต้น (มักเป็น Del, Esc, F2, หรือ F10)
  2. ไปที่แท็บ Boot หรือส่วน Boot
  3. หา Boot Priority หรือ Boot Option Priorities
  4. ตั้ง Windows Boot Manager เป็นตัวเลือกบูทแรก
  5. ย้าย GRUB, Shim หรือรายการบูท Linux ไปลำดับหลัง
  6. กด F10 บันทึกและออกจาก BIOS
  7. ระบบควรบูทเข้า Windows โดยตรงโดยไม่โหลด Linux bootloader ก่อน

3. ปิด Fast Boot ใน BIOS

หากยังได้ข้อผิดพลาด ปัญหาอาจมาจากฟีเจอร์ BIOS ชื่อ Fast Boot การตั้งค่านี้เร่งการเริ่มต้นโดยข้ามการตรวจสอบฮาร์ดแวร์ แต่อาจบล็อก Linux หรือ OS อื่นไม่ให้โหลดได้ถูกต้อง โดยเฉพาะในระบบ dual-boot การปิด Fast Boot บังคับให้ระบบตรวจสอบฮาร์ดแวร์ครบถ้วน และหลีกเลี่ยงความขัดแย้งกับ bootloader อย่าง Shim หรือ GRUB

  1. รีสตาร์ทคอมพิวเตอร์ และเข้า BIOS/UEFI โดยกดปุ่มที่แสดงตอนเริ่มต้น (มักเป็น Del, Esc, F2, หรือ F10)
  2. ไปที่แท็บ Boot หรือส่วน Boot บางระบบอาจต้องสลับไป Advanced Mode ก่อน
  3. หาตั้งค่าชื่อ Fast Boot
  4. ตั้งค่าเป็น Disabled
  5. บันทึกการเปลี่ยนแปลง (กด F10 หรือใช้ Save & Exit)
  6. รีสตาร์ทคอมพิวเตอร์และลองบูทอีกครั้ง

4. รีเซ็ต Windows เพื่อลบ Bootloaders ที่ขัดแย้ง

หากคุณไม่ได้ใช้ Linux อีกแล้ว และแค่ต้องการให้คอมพิวเตอร์บูทเข้า Windows โดยไม่มีข้อผิดพลาด การรีเซ็ต Windows เป็นวิธีแก้ที่น่าเชื่อถือ กระบวนการนี้ลบ Linux bootloaders ที่เหลืออยู่ (เช่น GRUB หรือ Shim) ซ่อมแซมไฟล์เริ่มต้น Windows ที่เสียหาย และรีเซ็ตการตั้งค่า Secure Boot กลับเป็นค่าเริ่มต้น เป็นตัวเลือกที่ดีเมื่อวิธีอื่นล้มเหลว หรือระบบยังแสดงข้อผิดพลาด SBAT หลังเริ่มต้น

  1. เริ่มด้วยการบังคับรีสตาร์ทคอมพิวเตอร์ 3–4 ครั้ง เพื่อทริกเกอร์หน้าจอ Automatic Repair
  2. เมื่อหน้าจอปรากฏ คลิก Troubleshoot
  3. คลิก Reset this PC
  4. เลือก Keep my files หากต้องการเก็บข้อมูลส่วนตัว หรือ Remove everything หากต้องการเริ่มใหม่
  5. ทำตามขั้นตอนบนหน้าจอเพื่อทำการรีเซ็ตให้เสร็จ

เมื่อรีเซ็ตเสร็จ Windows จะบูทปกติด้วย bootloader เริ่มต้น หากต้องการ คุณสามารถเปิด Secure Boot ผ่าน BIOS อีกครั้งเพื่อการป้องกันเพิ่มเติม

ABOUT THE AUTHOR

วิธีแก้ไขข้อผิดพลาด  Verifying Shim SBAT Data Failed  Security Policy Violation บนระบบ Dual-Boot

Abdullah Iqbal

Abdullah เป็นผู้เชี่ยวชาญ Help Desk ที่ได้รับการรับรอง Google IT มีประสบการณ์มากในการให้การสนับสนุนทางเทคนิคแก่ผู้ใช้ระบบ มีประวัติการแก้ไขปัญหา IT อย่างมีประสิทธิภาพ และ 능숙ในการใช้เครื่องมืออย่าง Jira และ ZenDesk เพื่อจัดการตั๋วสนับสนุนอย่างมีประสิทธิภาพ Abdullah มุ่งมั่นอยู่เสมอกับการก้าวหน้าทางเทคโนโลยีล่าสุด และพยายามพัฒนาทักษะและความรู้อย่างต่อเนื่องผ่านโอกาสพัฒนาวิชาชีพ