开启ThinkPad T420密封的SLIC 2.1之门
- 格式:pdf
- 大小:1.23 MB
- 文档页数:15
开启ThinkPad T420密封的SLIC 2.1之门
上周从Myhoy 购买了一台ThinkPad T420 – RW2,价格较内地行货便宜了一大截,但是不带SLIC 2.1,心里那个郁闷啊!
在网上搜了一下,发现原来这是DOS 机的通病。
最后,在BIOS 之家找到了一篇介绍文章《[分享] ThinkPad 220、420、520 全系列 UEFI BIOS 机型 SLIC 永久修复 0705更新2楼附件》(/thread-238250-1-1.html ),经过仔细研读和自我分析研究,终于成功地开启了ThinkPad T420密封的SLIC 2.1之门!
注:“水景一页”也有一篇相关的文章——《成功修改港版联想 ThinkPad T420s BIOS 包含 TP-8C slic2.1》(/blog/articles/alter-thinkpad-t420s-bios-to-tp_8c-slic_2_1/),是后来发现的,操作流程较为复杂,可以一起对比着参考。
验证通过机型
Phoenix UEFI BIOS T420、T420s 。
准备
首先,去联想官方网站查找并下载两个T420的BIOS 的升级套件备用:
其中一个是光盘版本的、一个是Windows 执行程序版的:
获取BIOS 备份文件
在T420上执行“BIOS[83uj19us].exe”软件包,升级并刷新BIOS 至1.36。
更新BIOS 并完成重新启动之后,在系统盘的“DRIVERS\FLASH\83uj19us”目录下找到
联想提示:
注意:刷新前,电池必须为满电,必须连接好AC 适配器,否则不能刷新. 另:建议您优先使用光盘刷新BIOS 方法,操作系统中刷新BIOS 有时会受系统稳定性影响.
BIOS的备份文件BIOS.BAK!将此文件拷贝到工作目录作后续修改使用。
提示:
如果BIOS的升级包文件的名字不是“BIOS[83uj19us].exe”,那就到系统盘的“DRIVERS\FLASH\”目录下找与BIOS的升级包文件的中括号中的名字(本例
子为“83uj19us”)相同的目录吧。
此目录同时还有另外一个Windows版本的BIOS更新程序:winflash.exe,也可以通过此软件来生成BIOS的备份文件:
提示:
winflash.exe软件有一个“Bug”,那就是就算是选择了“Backup BIOS only”
(只备份BIOS),也非得需要在“新BIOS文件一栏”提供一个原先已有的BIOS 备份文件,否则不能执行备份功能。
重要申明
以下所有的修改都必须基于上述从T420本机获得的BIOS备份文件进行,绝对不能将非本机的T420 BIOS备份文件用于下述操作,请谨记。
寻找密封的SLIC 2.1
用Winhex软件打开备份的BIOS文件:
使用“查找”菜单下的“十六进制查找”功能,查找十六进制值串“C4000100010003000000”:
正常情况下,在“EVSA”字段后可以找到四个SLIC MARK块(见上图用不同颜色标出的部分)。
这些SLIC MARK块的长度是0xC4,结构如下:
1个字节的“标志位”、1个字节的“校验位”、10个字节的标准头“C4000100010003000000”、
182个字节的SLIC MARK、2个字节的“结束标志”十六进制值串“0000”。
长度内容值
1个字节标志位0x83 = 无效
0xE3 = 有效
1个字节校验位
10个字节标准头十六进制值串C4000100010003000000
182个字节SLIC MARK块被加密存储
2个字节结束标志十六进制值串0000
重要提示:
如果找不到十六进制值串“C4000100010003000000”,表明本文提供的方法对该机器无效,请尝试寻找其他的解决方法。
比对这四个SLIC MARK块,可以发现第一和第三个块时“空块”(全是十六进制00,没有内容)。
第二个块有内容,但是被设置为“无效”(十六进制0x83),第四个块被设置为“有效”(十六进制0xE3),但是看起来似乎应该也是没有内容的(十六进制0xFF)……
关键:
第四个块被设置为当前使用的SLIC MARK块,但是没有内容(表现为通过SLIC_Dump_ToolKit软件查阅时内容全部为十六进制00)。
第二个块存储有真正有效的SLIC MARK块。
只要把第二个块设置为当前有效的SLIC MARK块,就可以开启封闭的SLIC 2.1之门!
开启封闭的SLIC 2.1之门
修改的方法非常简单,只需要把上图的第一个红圈中的“0x83”改为“0xE3”,第二个红圈中的“0xE3”改为“0x83”即可!
修改后的数据如下:
把修改后的BIOS备份文件改名为BIOSMARK.ROM,已备下一步使用。
提取BIOS更新软件
用UltraISO打开从联想官方主页下载的另外一个更新BIOS的软件包“BIOSCD[83uj19uc].iso”,发现光盘镜像居然是空的……不要紧,接着我们使用“保存引导文件”功能来提取启动文件:
提示:
联想光盘版BIOS的升级包文件全部都放在了光盘的启动引导文件内,直接通过光盘镜像是看不到的,要先提取启动文件包——类似于一个ZIP盘,然后再
从启动文件包中才能提取。
将启动文件包(这里命名为“FLASH BOOT.bif”)保存到磁盘。
再次使用UltraISO打开“FLASH BOOT.bif”文件,现在可以见到,原来所有的升级程序都乖乖地呆在里面呢:
在UltraISO内打开FLASH目录,找到那两个更新BIOS所需要的文件PFLASH.EXE和EFILDR16:
便下一步操作使用:
制作更新BIOS所需的启动盘
使用HP优盘启动盘格式化工具格式化U盘(如果已经有可以启动进入DOS模式的U
盘,可以免去此步骤;也可以采用其他的可以启动后进入DOS模式的方法):
提示:
请注意一定要选择“创建DOS启动盘”的选项。
如果是Windows 7操作系统,可以选择“选择内部MS-DOS 7.1系统文件选项”。
把之前提取的PFLASH.EXE和EFILDR16程序以及修改过的BIOSMARK.ROM拷贝到U盘,然后再编写一个MARK.BAT文件:
准备好的U盘的样子大概就是这样的啦:
更新BIOS
先给T420连接好AC适配器,把电池冲满电,然后把准备好的U盘插入T420的USB 接口,启动T420,按F12调出启动选择菜单,选择从指定U盘启动,进入DOS模式,然后敲入MARK.BAT完成BIOS更新。
注:本图借用自“水景一页”《成功修改港版联想ThinkPad T420s BIOS 包含TP-8C slic2.1》一文。
提示:
更新的过程很快——因为根据事后的分析,其实本过程只更新了机器的硬件配置参数部分的内容,根本没有更新BIOS程序!
进度条到82%就结束了,不需要担心,正常情况下完成更新后5秒钟后机器会自动重新启动。
大功告成
重新启动机器后,进入Windows操作系统,现在来检查劳动成果:
后记
事后,利用UltraCompare软件对各个不同阶段通过Winflash.exe程序备份下来的BIOS 备份文件进行了比较和分析,发现其实MARK.BAT文件其实只修改了BIOS中系统参数设置部分的内容,并不会修改BIOS程序,因此,出错的风险极低。
网上也反映曾经有人对于BIOSMARK.ROM进行了错误的修改,但是结果也只是导致SLIC_Dump_ToolKit等软件不能正常识别SLIC而已,机器可以正常启动和使用;重新修改BIOSMARK.ROM并再次刷新以后,即恢复正常。
整体而言,本方法操作风险极低。
附录:工具软件
毫无疑问,Winhex (/winhex/)是其中一款最好用的十六进制编辑软件,当然,还有更加专业的Hiew (http://www.hiew.ru/)或者更加普及的UltraEdit (/)。
Winhex 通常默认在“只读模式”下,是不能修改文件内容的,需要通过“Option”→“Edit Mode”来进行设置。
至于UltraISO (/ultraiso/),暂时没有更好的替代者。
总结:
本方法虽然只在T420、T420s 机器验证通过,不过按照类推的方法,在其他ThinkPad 的20系列新款机型也可能有效。
本着胆大心细的原则,仅供分析和研究参考。