# 前言

  • 我用是联想 B50-70,比较老的笔记本了。原来的无线网卡其实没有坏掉,原来网卡是 64M 带宽的;最多跑到 2.4M 左右。现在 5G 都出来了。所以更换了 INtel AX210.
  • 如果不刷 BIOS,直接换无线网卡,开机会报:
unauthorized wireless network card is plugged in. Power off and remove it
  • 解决这个问题主要有两种方法,一个是删除 bios 的白名单模块,另一个是在白名单模块里修改一个要替换网卡的 ID。本文要介绍的是第一种。即删除 bios 的白名单模块。

# 步骤

# 准备工作

  • U 盘一个(最少 8g)
  • 下载好所有工具软件

# 开始操作

# 备份本机的 bios

  • 打开下载下来的 BIOS_Backup_TooKit.exe (务必右击以管理员身份运行)
  • 点击读取,读取成功后,然后点备份,保存到桌面备用

# 删除 BIOS 白名单

# 寻找网卡白名单模块

  • 参考联想替换网卡 id 白名单教程这篇文章

# 开始删除

  • 打开 EzH2O.exe 工具
  • 点击文件 — 载入
  • 选择刚刚备份的 BIOS 的 rom 格式文件(我这里是 LENOVO-40CN28WW (V3.14).rom)
  • 跳出窗口,点确定
  • 之后看到左下角提示信息(FD 文件加载完成)后
  • 点击组件 — 模块 — 删除现有的模块
  • GUID 选前面找好的网卡白名单模块,选好后点修补
  • 见左下角提示信息后(FD 文件修改完成),继续
  • 点击文件 — 另存 文件名默认为:BIOSBAK.ROM
  • 右下角进度完成后,看左下角提示信息(保存成功)

# 制作 DOS 启动盘

  • 首先安装 FlashBoot 工具,一直下一步安装完成。
  • 打开 FlashBoot 工具,点击 Next
  • 选择 MiniOS
  • 选择 Minimal DOS,点击 Next
  • 选择你的 U 盘,然后点击 Next
  • Map to:(at boot time)” 可以更改盘符,这里改为 C。其余默认,点击 Next
  • 点击 Format Now!,开始格式化 U 盘
  • 点 OK,DOS 启动盘制作完成

# 刷写 bios

# 首先需要确定主板的一些信息,主板型号、bios 版本等

  • 使用 CSME-Version-Detection-Tool.exe)确定 Intel (R) Management Engine (ME) 的版本信息。
  • 这里给出我的信息参考:
主板型号:联想 Lancer 5A2
芯片组:英特尔 Haswell-ULT - Lynx Point-LP (8-series)
BIOS:联想 9ACN26WW
Intel ME Version: 9.15.15.1730

# 选择对应的 fpt 工具

  • 接着选择 Intel (CS) ME System Tools 的版本。我需要下载的便是 Intel ME System Tools v9.5 r6 (2018-07-31)
  • 将 ME tools 里的 Flash Programming Tool 里的 fpt.exe 和 fparts.txt 复制到 BR 文件夹下替换掉之前的。否则会提示:Error 201: [FPT.exe] cannot be run on the current platform
  • 把 BR 文件夹复制到制作好的 DOS 启动盘里,再把之前做好的 BIOSBAK.ROM 文件复制到 BR 文件夹下。

# 开始刷写

  • 保持刚刚做好的 DOS 启动盘插在电脑上,重启电脑,开机按 F12 进入 boot,选择 DOS 启动盘回车。如果进不去,修改启动模式为 Legacy Support
  • 等待大约 25 秒后进入 DOS,打开 BR 文件夹,找到 backup.bat 回车,防止意外发生先备份一份原版的 bios
  • 之后找到 Recovery.bat 回车。此时提示是否要刷写 BIOS,回车确认

    等待操作完成后,按 Ctrl+Alt+Delete 重启进入系统。关机拔电源卸下电池拆机换网卡,此时白名单已经删除,网卡随意换了。至于网上说的删除白名单会导致 FN+F5 调不出联想的 WIFI 和蓝牙,这个大家去实践。我这个网卡没有蓝牙模块,很少开关 WiFi,所以是没影响的。
    最后说一点,刷 BIOS 有风险,请谨慎!

# 刷写可能会遇到的问题

提示:

Error 28: Protected Range Registers are currently set by BIOS, preventing flash access.

bios 锁定了不让写,用上 prr.exe 也没有用,这就麻烦了,可能需要 bios 编程器了,但好在,有个神奇的 sleep bug 有可能可以绕过这个 error!我就是用了这个 sleep bug 直接在 windows 10 (64 位) 下刷写进删除白名单的 bios。
解决办法:

  • 首先用管理员模式运行 cmd。
  • 进入目录 Flash Programming Tool\WIN64,
C:\Windows\system32>d:
D:\>
D:\>cd D:\Flash Programming Tool\WIN64
D:\Flash Programming Tool\WIN64
  • 我把 BIOSBAK.ROM 也放到了这个目录并命名为 bios.bin,目录结构为
.
├── bios.bin
├── error.log
├── fparts.txt
├── fptw64.exe
├── idrvdll32e.DLL
├── pmxdll32e.DLL
  • 检查按下电源按钮的作用是否是睡眠功能(在控制面板里)。再判断是否是 S3 睡眠模式:
打开cmd,运行:
powercfg -a
此系统上有以下睡眠状态:
    待机 (S3)
    休眠
    混合睡眠
    快速启动
  • 然后按一下电源键让电脑进入 S3 睡眠模式,稍等一分钟,按下电源键唤醒电脑,打开 cmd,运行命令:
fptw64.exe -f bios.bin -bios

成功写入,之后重启即可生效。

# 我没有测试过在 pe 环境下是否能绕过 bios 锁定。