Secure Boot开启且禁用CSM模式下,切换Windows硬盘后Debian 11 SSD无法引导的问题求助
各位大佬好,我碰到了一个很费解的引导问题,想请教下大家的思路:
首先得说明,这不是常见的双启动问题——我从来不会把Windows硬盘和Linux SSD同时装在电脑里,所以它们的EFI分区完全不会互相干扰。
我的主板是华硕的,固件已经更到最新,全程保持:
- 开启
Secure Boot - 禁用
Fast Boot - 禁用
CSM
我的操作流程是这样的:
- 先移除SSD,在HDD上安装Windows 10,安装完成后在Windows电源设置里禁用了快速启动,所有系统更新都顺利完成后关机。
- 拔掉HDD,接上SSD,安装带桌面的Debian firmware-11.6.0-amd64-netinst,过程一切正常,更新完成后关机。
- 再移除Linux SSD,重新接上Windows HDD,启动Windows自动登录后正常关机。
- 最后断开Windows HDD,再接上Linux SSD,启动电脑时就弹出报错:
The current BIOS settings do not fully support the boot device. Click OK to enter the BIOS setup. Go to Advanced > Boot > CSM parameters, and adjust the CSM settings to enable the boot device.
但我不想开启CSM啊,之前明明可以正常引导的!而且GRUB完全不加载,进BIOS查看的话,Linux SSD在SATA设备列表里能看到,但就是不显示为可引导设备。
不过我发现一个临时解决办法:用我的Linux启动盘(它能被识别为UEFI可引导设备)进入救援模式,挂载SSD后重新安装GRUB,这样Debian 11就能再次从SSD正常引导了。
我自己猜测,会不会是Windows 10修改了Secure Boot的db/dbx数据库,导致我的Debian 11安装不再符合验证要求?我了解过GRUB2的BootHole漏洞,但那是2020年就修复的问题了,而且我看UEFI撤销列表(csv文件)里,2020年后没有和Debian相关的条目,只有2022年9月的其他内容。
那这里就有个疑问了:为什么我的Linux启动盘还能正常以UEFI模式引导,但SSD上的系统却必须重新安装GRUB才能引导呢?
备注:内容来源于stack exchange,提问作者flugosfutam123




