关于试装 Deepin 后无法引导安装其他较早版本 Linux 的问题

最近有点闲,折腾测试了一下各主流 Linux 版本的使用体验,不知怎滴,想到了Deepin(DDE 在 SUSE 上的体验不好,就捉摸着真机试验一把),结果之后换装其他 Linux(例如 Ubuntu 22.04)时,U 盘就无法在启用安全引导的模式下启动了,开机后会输出一串信息 “Verifing sbat data: …”,然后就直接自动关机了。

折腾了一番后,才找到原因,原来 Deepin 作了骚操作,擅自更改了 Shim 签名的信任策略,其效果与下面的命令类似:

mokutil --set-sbat-policy latest

解决/恢复的方法也简单:

  1. 启用 UEFI 但是关闭 Secure Boot(这一步至关重要,若不如此,会导致第 3 步没有效果)
  2. 重启引导进入 LiveCD(请使用一个最新的主要发行版,不要使用衍生版)或已安装的 Linux(若仍不能引导,就进入 BIOS 找到类似 Secure Boot/Key Management 的配置页,看看与没有 “删除/重置所有密钥” 的操作)
  3. 执行命令:
    mokutil --set-sbat-policy delete
    
  4. 重启一下(最好 * 完全重启 *,即启动后进入某个系统或 LiveCD)
    4.1 在上面一步之后,若想看看命令有没有生效,可以执行下面的命令:
    mokutil --list-sbat-revocations
    
    若输出的内容不含有shimgrub开头的文本行就说明生效了
  5. 重新启用 Secure Boot

吐槽一下:

Deepin 刚出那会儿我就试用了,当时硬件支持很差,安装都费劲,现在好点了,但还是有点low,它那个 UI 我真心不习惯,和幼儿园老师一个画风,实在不敢恭维。不过,给小白普通办公倒是挺方便的,各种国产软件一键安装 :joy:

3赞