ThinkPad有所谓的“白名单”机制,顾名思义,就是只允许安装使用在白名单里的电脑硬件。使用了不在白名单里的硬件,会导致不能正常开机。因此在一般更换配件时,会选择在白名单内的设备,或者提前用编程器刷掉BIOS让白名单失效。
我换的无线网卡是AR5B95,买之前以为是白名单内的设备,结果换好之后发现并不在名单内,开机直接报错了,寝室里也没有编程器,一番谷歌之后,发现1vyrain可以利用漏洞软刷BIOS,步骤简单记录如下:
准备工作
准备材料有:
- 项目支持的电脑一台(支持的机型名单:https://github.com/n4ru/1vyrain#supported-systems)
- 优盘一个
- 可以访问GitHub和Google Drive的网络环境(
桂枝茯苓丸) - 两小时时间
首先开机按F12进入BIOS,查看当前的BIOS版本是否低于等于要求版本,以T530为例,软破要求的BIOS版本不能高于2.60,而当前机器的BIOS版本是2.65,因此需要先降级BIOS。
对于BIOS版本已经低于要求版本的用户,可以跳过降级BIOS部分。
降级BIOS
首先在BIOS设置的Security选项卡中找到UEFI BIOS Update Option,将 Flash BIOS Updating by End-Users 设置为 Enabled,将 Secure RollBack Prevention 设置为 Disabled,允许User刷写BIOS。
然后进入系统开始刷写镜像,Windows用户使用IVprep项目,将项目下载后运行bat文件,要求使用64位Windows系统;UNIX用户可以使用geteltorito来降级BIOS,镜像文件在IVprep中可以找到,步骤参考https://github.com/gch1p/thinkpad-bios-software-flashing-guide#downgrading-bios。
降级后进入BIOS,可以看到BIOS已经降为2.60版本。
软破BIOS
进入BIOS,解除BIOS密码(有条件最好初始化一下BIOS)。保证电源和电池都已插入。
下载镜像文件,校验一下MD5(重要!有遇到MD5不同的情况可以在这里下载旧版本),然后烧录到优盘中——Windows用户可以使用Rufus(必须选择dd模式);UNIX用户可以使用dd。
然后开机按F12,选择优盘引导,按照屏幕提示进行操作。过程中可能会出现CRC Security error的报错,此为正常现象,重启后一切正常。
Enjoy~
参考
- 1vyrain项目的GitHub页面:https://github.com/n4ru/1vyrain
- 1vyrain项目的官网:https://1vyra.in/
- FAQ页面:https://medium.com/@n4ru/1vyrain-an-xx30-thinkpad-jailbreak-fd4bb0bdb654
- IVprep降级项目的GitHub页面:https://github.com/n4ru/IVprep
- geteltorito的刷写教程:https://github.com/gch1p/thinkpad-bios-software-flashing-guide#downgrading-bios
- UNIX刷写BIOS教程:https://www.cyberciti.biz/faq/update-lenovo-bios-from-linux-usb-stick-pen/