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

相关推荐
呼啦啦呼啦啦啦啦啦啦4 分钟前
docker制作镜像的两种方式(保姆级教学)
运维·docker·容器
问道飞鱼39 分钟前
【Linux知识】Linux 虚拟机磁盘扩缩容操作指南(按文件系统分类)
linux·运维·服务器·磁盘扩缩容
egoist20231 小时前
【Linux仓库】超越命令行用户:手写C语言Shell解释器,解密Bash背后的进程创建(附源码)
linux·c语言·bash·xshell·环境变量·命令行参数·内建命令
Lenyiin1 小时前
《 Linux 修炼全景指南: 八 》别再碎片化学习!掌控 Linux 开发工具链:gcc、g++、GDB、Bash、Python 与工程化实践
linux·python·bash·gdb·gcc·g++·lenyiin
莲华君1 小时前
Bash Shell:从入门到精通
linux
风雨飘逸1 小时前
【shell&bash进阶系列】(二十一)向脚本传递参数(shift和getopts)
linux·运维·服务器·经验分享·bash
zly35001 小时前
删除文件(rm 命令 删除目录)
linux·运维·服务器
被AI抢饭碗的人1 小时前
linux:线程池
linux·开发语言
曹天骄2 小时前
OSS 传输加速 与 CDN 的区别
运维·阿里云·https
Studying 开龙wu2 小时前
Linux 系统中配置国内源下载时使用pip install 和conda install哪个快?
linux·conda·pip