[指南]微软发布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 开发商们合作解决该问题,后续再安装更新应该不会再出现类似问题。

相关推荐
yz_aiks8 分钟前
Linux Jar包配置Systemd自启动实战:从排查到配置全流程
linux·python·jar·自启动·systemd
AI智图坊21 分钟前
多件装组合SKU图的批量生产效率分析:从PS手工到AI自动化的工作流改造
大数据·运维·人工智能·gpt·ai作画·自动化·aigc
bjzhang752 小时前
CentOS下安装MySQL详解
linux·mysql·centos
Jason_chen3 小时前
Linux 6.2 音频机制深度解析:AI驱动的低延迟音频与零信任音频安全架构
linux
下午写HelloWorld3 小时前
Linux系统及Ubuntu常用指令
linux·ubuntu·操作系统
云计算磊哥@5 小时前
运维开发宝典026-MySQL02数据库表操作
运维·数据库·运维开发
weixin_523185325 小时前
Collections.unmodifiableMap详解:真的不可修改吗?
java·linux·前端
天天进步20155 小时前
Tunnelto 源码解析 #9:控制服务器设计:Warp、WebSocket、Ping/Pong 与连接保活
运维·服务器·websocket
凡人叶枫6 小时前
Effective C++ 条款04:确定对象被使用前已先被初始化
java·linux·开发语言·c++·嵌入式开发
云栖梦泽6 小时前
玩转RK3506SDK
linux·嵌入式硬件