跳到主内容

一次 BIOS 掉电的恢复记录

昨天把开始嗡嗡响的风扇给换了,顺便清了清灰、换了硅脂。一切结束之后就发现电脑没法启动了……折腾了半天之后发现应该是 BIOS 掉电,连带导致 UEFI 引导丢失,Secure Boot 配置丢失、TPM 设置丢失,最后造成了一系列乍一看不可解的症状。这里记录一下对应方法。

1. 症状

开始清灰换硅脂之前当时是各种彻底断电、长按开机键把各种电都放掉。因为才装起来两年, 所以也没有考虑主板纽扣电池没电的问题,但事后用万用表测来,纽扣电池是一点电都没有了,大概这时候 BIOS 就已经掉电了。

清完灰启动,就开始出现症状了:

  • 我装了 Linux + Windows 双系统,默认是经由 Shim 进行 Secure Boot 启动 Linux。但是这次开机自动给我启动了 Windows。事后

    事后想来,这里应该是 UEFI 所有启动项都丢失了,而我的 BIOS(七彩虹)自动识别到了 EFI 分区里有 Windows 引导文件,于是给我自动补上了一个 Windows 引导。我不知道如果单装 Linux 会出现什么情况。

  • Windows 启动后,我没法登录,显示 PIN 码不可用。

    我的主板的 TPM 需要在 BIOS 里手动开启。后面进到 BIOS 里发现掉电之后果然 TPM 关闭了,这里的 PIN 码可能是与 TPM 有绑定,因此出现错误。

  • 重启到 BIOS 中查看启动项,发现果然除了 Windows 以外全都没了。

2. 恢复:Windows 登录

懒得弄 Linux 启动盘了,因为我此时还不知道到底出了什么问题,甚至有点怀疑主板哪里坏了,所以我打算首先进 Windows 看一下有没有其它问题。

若电脑上绑定了 Microsoft 账户的话,PIN 码不可用时系统会提示你用 Microsoft 账户登录验证身份,登录后即可进入系统。但我在校园网内,网络需要用浏览器登录才能连接校园外网,而没有网络我就无法登录 Microsoft 账户,而不登录 Microsoft 账户我就没法进系统使用浏览器也没法启用网络……死循环。同时,为了省钱,组装电脑时我并没有购置无线网卡,因而也不能用手机开热点解决。

这里有一个办法——使用手机 tethering。现在的很多安卓手机(不知苹果系统如何)都支持通过 USB 连接与电脑共享网络,因此只需要手机连上流量,再用 USB 连上电脑,就可以避开校园网,用电脑登上 Microsoft 账户。如果不支持 tethering 的话,也许就只能买个无线网卡等上几天了……

3. 恢复 Linux UEFI 启动项

3.1. 从 Windows 系统恢复

因为懒得折腾 Linux 救援镜像,我此次的救援是从 Windows 下进行的。主要用到的软件有两个:

  • Ext2fsd: 最原先的版本已经没人维护了,现在主要用的都是后人的 Ext3fsd/Ext4fsd 的分支。在救援时主要用来挂载 EFI 分区,也可以用 WinEFIMounter
  • BOOTICE: 用于修改 UEFI 启动项,主要就是打开 EFI 分区之后选中对应的 .efi 文件。 这个软件并不开源,而且原作者网站也没有了,所以网上到处搜然后希望不会下到病毒…… 所以最好的办法还是弄一个救援 Linux USB 镜像。当然你也可以使用一下 EasyUEFI。

3.2. 从 Linux 系统恢复

使用 efibootmgr

# efibootmgr --unicode --disk /dev/sdX --part Y --create --label "Shim" --loader /EFI/Boot/bootx64.efi
# efibootmgr --unicode --disk /dev/sdX --part Y --create --label "Grub" --loader /EFI/Boot/grubx46.efi

4. 恢复 Secure Boot

上面的步骤做完之后大概就可以进 BIOS 折腾一下设置了。首先把 Secure Boot 关闭,选择 Linux 启动项,确认可以进入 Linux 系统。然后如同配置 Secure Boot 一样,确认把签名的 key 复制进 EFI 分区之后,重启;重启进入 BIOS 后,开启 Secure Boot,通过 Shim 引导项进入,跟随提示导入 key 即可通过 Secure Boot 启动 Linux。

5. 其它

其实因为我这次病急乱投医改了挺多配置,这次还有另外的一些症状。例如我原来的内存是用的 3600 MHz,掉电之后就变为了 2666 MHz;我改回去之后就发现 Linux 下会有各种应用闪退 segmentation fault……我当时还以为真的是硬件出了问题,这里想来可能是我内存乱给的电压没给够导致的内存不稳定(毕竟我真的忘了当初的设置)。

评论

This one-pixel image serves as a page view tracker and nothing more. This feedback keeps me motivated, because very few people ever comment.