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

相关推荐
Nie_Xun27 分钟前
ubuntu网络共享
linux·运维·ubuntu
天上掉下来个程小白1 小时前
Docker-14.项目部署-DockerCompose
运维·docker·微服务·容器
花小璇学linux1 小时前
imx6ull-驱动开发篇22——Linux 时间管理和内核定时器
linux·运维·驱动开发
王者鳜錸2 小时前
PYTHON让繁琐的工作自动化-PYTHON基础
python·microsoft·自动化
你好,赵志伟3 小时前
Socket 编程 TCP
linux·服务器·tcp/ip
Liang_GaRy4 小时前
心路历程-三个了解敲开linux的大门
linux·运维·服务器
星霜笔记5 小时前
Docker 部署 MariaDB+phpMyAdmin+Nextcloud 完整教程
运维·数据库·docker·容器·mariadb
一只栖枝7 小时前
华为 HCIE 大数据认证中 Linux 命令行的运用及价值
大数据·linux·运维·华为·华为认证·hcie·it
wuicer10 小时前
ubuntu 20.04 安装anaconda以及安装spyder
linux·运维·ubuntu
cui__OaO11 小时前
Linux软件编程--线程
linux·开发语言·线程·互斥锁·死锁·信号量·嵌入式学习