مایکروسافت برای رفع مشکل بوتشدن لینوکس در سیستمهای دارای بوت دوگانه راهحلی ارائه داده است.
بهگزارش تکناک، مایکروسافت راهکاری موقت برای رفع مشکلی شناختهشده ارائه کرده که مانع بوتشدن لینوکس در سیستمهای دو بوت با Secure Boot فعال شده است.
ردموندیها میگویند که این راهکار موقت میتواند به کاربران لینوکس کمک کند تا سیستمهای بوتنشدنیای را احیا کند که پس از نصب بهروزرسانیهای امنیتی ویندوز در ماه آگوست ۲۰۲۴، خطاهای Something has gone seriously wrong: SBAT self-check failed: Security Policy Violation را نشان میدهند.
بسیاری از کاربران لینوکس تأیید کردند که پس از Patch Tuesday این ماه، تحتتأثیر این مشکل شناختهشده قرار گرفتهاند. افراد آسیبدیده گزارش دادهاند که سیستمهای آنها پس از نصب بهروزرسانیهای تجمعی ویندوز در این ماه، دیگر بوتشدن به لینوکس را متوقف کردهاند.
بلیپینگ کامپیوتر مینویسد که این مشکل بهواسطهی بهروزرسانی Secure Boot Advanced Targeting (SBAT) ایجاد میشود که برای مسدودکردن بوتلودرهای UEFI shim آسیبپذیر دربرابر بهرهبرداریهای هدفگذاری CVE-2022-2601 GRUB2 Secure Boot bypass طراحی شده است.
هنگام انتشار این بهروزرسانی، مایکروسافت گفت که بهروزرسانی مذکور برای دستگاههایی که بوت دوگانه در آنها تشخیص داده شود، منتشر نخواهد شد. بااینحال پس از تأیید این مشکل در هفتهی جاری، تأیید کرد:
برخی روشهای سفارشی، دو بوت را تشخیص نداد و ارزش SBAT را زمانی اعمال کرد که نباید اعمال میشد.
راهکار مایکروسافت برای حل این مشکل دقیقاً چیست؟
برای کسانی که قبلاً بهروزرسانیهای آگوست ۲۰۲۴ ویندوز را نصب کردهاند و دیگر نمیتوانند لینوکس را روی دستگاههای دو بوت خود بوت کنند، مایکروسافت توصیه میکند که بهروزرسانی SBAT را حذف کنند و مطمئن شوند که بهروزرسانیهای آتی SBAT دیگر نصب نشوند.
برای انجام این کار، باید مراحل زیر را طی کنید:
- Secure Boot را پس از بوتشدن در تنظیمات فریمور دستگاه خود غیرفعال کنید (این مراحل برای هر سازنده متفاوت است).
- بهروزرسانی SBAT را با بوتشدن لینوکس و اجرای دستور sudo mokutil –set-sbat-policy delete و ریبوتکردن حذف کنید.
- ابطال SBAT را با اجرای دستور mokutil –list-sbat-revocations بررسی کنید و مطمئن شوید که خالی است.
- Secure Boot را از تنظیمات فریمور دستگاه خود دوباره فعال کنید.
- وضعیت Secure Boot را با بوتشدن در لینوکس، اجرای دستور mokutil –sb-state و اطمینان از اینکه خروجی SecureBoot enabled است، بررسی کنید؛ وگرنه مرحلهی ۴ را تکرار کنید.
- بهروزرسانیهای آیندهی SBAT را در ویندوز با اجرای دستور زیر از پنجرهی Command Prompt بهعنوان Administrator جلوگیری کنید:
Reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecureBoot\SBAT /v OptOut /d 1 /t REG_DWORD