处理 ThinkPad T60 的 BIOS

前面一篇博客《编辑 ThinkPad T60 的 BIOS》里已经提到,遇到一桩 T60 的 BIOS 刷写失败的事情。于是又需要和官方的 BIOS 打交道了,主要是想办法修改,并刷入。关于修改,有个链接为 http://www.endeer.cz/bios.tools/thinkpad-biosmod.html

官方 BIOS 发布分为两种包,一种是在 Windows 下直接刷写的升级程序,一种是需要刻录到光盘(也许 U 盘也可以)上执行的升级程序,后者就是一个带了 DOS 引导的升级程序。

https://forum.51nb.com/forum.php?mod=viewthread&tid=1080096 的推荐楼层处下载的 2.27 版本的去除了白名单的 BIOS 压缩包里,BIOS 文件的文件名为 BIOS.ROM,而修改 BIOS 的教程,几乎都在讲如何处理扩展名是 FL1 的文件。

原始的官方 FL1 文件,要么从刻录完成后的光盘中复制出来,要么就需要一个工具,直接从下载的分发包中提取出来。这个工具名为 innoextract,可从 https://constexpr.org/innoextract/ 下载。

提取出的 FL1 文件是个压缩文件,解压后才能用其他的 BIOS 编辑工具(如 Phoenix Tool)进行处理,解压程序(同时也可以作为压缩程序)是 phcomp.exe,可以从 http://www.endeer.cz/bios.tools/phcomp.exe 下载。

既然去除了白名单的 BIOS.ROM 在 Windows 下的刷写不能生效,那至少可以在 DOS 下尝试一下。然而并没有现成的适用于 DOS 刷写的 $01A3000.FL1 文件可用。之所以把数年前的笔记整理成上一篇博客,其实就是想自己根据教程手工打造一个合适的 $01A3000.FL1 文件出来。

但今天又突然想到,那个 BIOS.ROM 是不是就是 FL1 文件解压后的形态呢?用 phcomp.exe 试着压缩了一下,压缩后的文件大小与 $01A3000.FL1 文件非常吻合。到 DOS 下刷写,报错:Error code = 60 ( 211 ) 以及 ROM image file is not valid for this system。之前过手的 T61,机型基本都是 2007 打头,这台是 1951WPX,不知是不是跟这个有关。

另外,还有个插曲。在 Windows XP 下执行 Phoenix Tool 2.66 总是出现初始化错误,后来用 Dependency Walker 检查了一下,发现它依赖于 mscoree.dll,这显然是 .net framework 的东东。于是到微软官方下载 .net 的安装包。开始下载了 v3.5 的在线安装包,它安装过程中的下载已然不能完成,故后来下载了完整包。v3.5 安装完成后再执行 Phoenix Tool 就没有问题了。

.net framework v3.5 的完整安装包下载路径是 https://www.microsoft.com/zh-CN/download/confirmation.aspx?id=25150,v4.0 的是 https://www.microsoft.com/zh-CN/download/confirmation.aspx?id=17718,列于此以作备忘。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注