[指南]微软发布Windows-Linux双系统无法启动的完整修复方案

早前微软发布的 2024-08 例行安全更新导致 Windows-Linux 双系统无法启动引起关注,该问题实际上在 7 月份微软已经发现并且添加到已知问题列表中,但可能很多用户没注意结果安装更新后 Linux 系统无法正常启动。

问题根源在原本微软发布的补丁不应该针对双系统,但检测机制由于未能识别到 Linux 系统,导致补丁错误部署安全启动高级定位并导致 Linux 无法启动。

但这个问题也不是影响所有 Linux 系统,对于较新的 Linux 系统不受影响,如果用户使用的版本比较老旧则会出现无法启动,现在微软也发布了详细的解决方案。


以下是完整的操作指南:

禁用安全启动:进入 BIOS 设置先禁用安全启动,如不会设置可以联系主板制造商客服咨询

删除 SBAT 更新

在禁用安全启动后用户可以进入 Linux 系统,此时重启系统进入 Linux 并打开终端管理器并执行如下命令

复制代码
sudo mokutil --set-sbat-policy delete

此操作需要 root 权限因此在执行时可能会提示输入你的账号密码,请按提示操作,操作完成后重启 Linux 系统 (此时仍然不要开启安全启动)

验证 SBAT 删除和撤销:

再次进入 Linux 系统后进入终端并执行如下命令:

复制代码
mokutil --list-sbat-revocations

如果提示没有任何可以撤销的内容则代表已经完成设置,此时再次重启系统进入 BIOS 并开启安全启动,开启安全启动后重新进入 Linux 系统并打开终端应用执行如下命令:

复制代码
mokutil --sb-state

此命令用来检查安全启动是否已经正常开启,如果输出结果显示 SecureBoot enabled 则代表开启成功,如未成功请重复前面的开启步骤。

禁用 Windows 更新:

再次重启并进入 Windows 系统,打开管理员模式的命令提示符执行以下命令即可禁用有关 SBAT 的相关应用:

复制代码
reg add HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecureBootSBAT /v OptOut /d 1 /t REG_DWORD

最后完成以上操作后建议转到 Linux 系统并检查最新更新,目前微软也在和 Linux 开发商们合作解决该问题,后续再安装更新应该不会再出现类似问题。

相关推荐
武文斌772 分钟前
单片机:DS18B20测温度、74HC595扩展芯片、8*8LED矩阵
运维·服务器·单片机·嵌入式硬件
fengfuyao98518 分钟前
诊断并修复SSH连接Github时遇到的“connection closed“错误
运维·ssh·github
scugxl40 分钟前
centos7 docker离线安装
运维·docker·容器
绿箭柠檬茶2 小时前
Ubuntu 使用 Samba 共享文件夹
linux·运维·ubuntu
工藤新一¹3 小时前
Linux —— 虚拟进程地址空间
linux·运维·服务器·c/c++·虚拟进程地址空间
Aspiresky3 小时前
浅析Linux内核scatter-gather list实现
linux·dma·scatter/gather
奔跑吧 android4 小时前
【linux kernel 常用数据结构和设计模式】【数据结构 3】【模拟input子系统input_dev和input_handler之间的多对多关系】
linux·数据结构·input·kernel·input_dev·input_handler·input_handle
再难也得平4 小时前
Linux初级篇
linux·运维·服务器
小猫挖掘机(绝版)5 小时前
通过tailscale实现一台电脑上vscode通过ssh连接另一台电脑上的VMware Linux 虚拟机
linux·windows·vscode·ubuntu·ssh
attitude.x5 小时前
Swift 协议扩展与泛型:构建灵活、可维护的代码的艺术
运维·服务器·网络