Microsoft แนะนำวิธีการแก้ไขปัญหาชั่วคราว สำหรับปัญหาการบูท Linux ในระบบ dual-boot

Microsoft แนะนำวิธีแก้ไขปัญหาชั่วคราวเพื่อแก้ไขปัญหาที่ทำให้ไม่สามารถบูทระบบปฏิบัติการ Linux บนระบบที่มี dual-boot systems ได้ โดยมีการเปิดใช้งาน Secure Boot

บริษัทระบุว่าวิธีแก้ไขปัญหาชั่วคราวนี้สามารถช่วยผู้ใช้ Linux ที่ประสบปัญหากับระบบที่ไม่สามารถบูทได้ ซึ่งแสดงข้อความ “Something has gone seriously wrong: SBAT self-check failed: Security Policy Violation” หลังจากติดตั้งการอัปเดตความปลอดภัยของ Windows ในเดือนสิงหาคม 2024

ผู้ใช้ Linux จำนวนมาก ยืนยันว่าพวกเขาได้รับผลกระทบจากปัญหานี้ตามที่รายงานโดย BleepingComputer เมื่อวันที่ 20 สิงหาคม 2024 ที่ผ่านมา

ผู้ที่ได้รับผลกระทบระบุว่า ระบบของพวกเขา (ซึ่งใช้ distros หลากหลาย เช่น Ubuntu, Linux Mint, Zorin OS, และ Puppy Linux) ไม่สามารถบูทเข้าสู่ Linux ได้ ภายหลังจากติดตั้งการอัปเดตของ Windows ในเดือนนี้

ปัญหานี้เกิดจากการอัปเดต Secure Boot Advanced Targeting (SBAT) ที่ออกแบบมาเพื่อบล็อกช่องโหว่ UEFI shim bootloaders ที่มีความเสี่ยงต่อการถูกโจมตีจากช่องโหว่ CVE-2022-2601 GRUB2 Secure Boot bypass ซึ่งเมื่อมีการอัปเดต Microsoft ระบุว่าการอัปเดตนี้ไม่ถูกส่งไปยังอุปกรณ์ที่มี dual-boot systems แต่พบว่าการตรวจสอบอุปกรณ์ที่มี dual-boot systems มีความผิดพลาดบางอย่างกับระบบที่มีการ customized ทำให้มีการนำ SBAT value มาใช้

สำหรับผู้ที่ได้ติดตั้งการอัปเดต Windows ในเดือนสิงหาคม 2024 ไปแล้ว และไม่สามารถบูท Linux บนอุปกรณ์แบบ dual-boot ได้ Microsoft แนะนำให้ลบการอัปเดต SBAT และตรวจสอบให้แน่ใจว่าการอัปเดต SBAT ในอนาคตจะไม่ถูกติดตั้งอีก

ในการดำเนินการดังกล่าว แนะนำให้ดำเนินการตามขั้นตอนต่อไปนี้:

  1. Disable Secure Boot - ปิดการใช้งาน Secure Boot หลังจากบูทเข้าสู่การตั้งค่า firmware ของอุปกรณ์ (แต่ละผู้ผลิตจะมีขั้นตอนที่แตกต่างกันไป)
  2. Delete the SBAT update - ลบการอัปเดต SBAT โดยบูทเข้าสู่ Linux และรันคำสั่ง `sudo mokutil --set-sbat-policy delete` แล้วทำการรีบูท
  3. Verify SBAT revocations - ตรวจสอบการลบ SBAT โดยรันคำสั่ง `mokutil --list-sbat-revocations` และตรวจสอบว่าไม่มีผลลัพธ์ใด ๆ แสดงขึ้นมา
  4. Re-enable Secure Boot - เปิดใช้งาน Secure Boot อีกครั้งจากการตั้งค่า firmware ของอุปกรณ์
  5. Check the Secure Boot status - ตรวจสอบสถานะ Secure Boot โดยบูทเข้าสู่ Linux และรันคำสั่ง `mokutil --sb-state` และตรวจสอบว่าผลลัพธ์คือ "SecureBoot enabled" หากไม่เป็นเช่นนั้นให้ทำซ้ำขั้นตอนที่ 4
  6. Prevent Future SBAT Updates in Windows - ป้องกันการอัปเดต SBAT ในอนาคตใน Windows โดยรันคำสั่งต่อไปนี้จาก Command Prompt ในโหมด Administrator:

reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecureBoot\SBAT /v OptOut /d 1 /t REG_DWORD

 

ที่มา : bleepingcomputer