家电维修班,手机维修班,电脑维修班,电工班,焊工班,液晶电视维修班,电动工具维修班、电动车摩托车维修班、网络营销培训、网站设计培训、淘宝培训---全国招生 家电维修班,手机维修班,电脑维修班,电工班,焊工班,液晶电视维修班,电动工具维修班、电动车摩托车维修班、网络营销培训、网站设计培训、淘宝培训---全国招生
湖南阳光电子电脑技术学校_面向全国招生! 咨询电话:0731-85579057,0731-85569651. 全国免费电话:0731-85579057
当前位置:电脑硬件维修培训网文章资讯电脑技术笔记本电脑

教你如何解除1802、1804和“白清单”限制

作者:佚名  来源:本站整理  发布时间:2012-06-23-00:46:07

引言
这样的BIOS论坛上就有得下载,为什么要自己搞那么高风险的事情呢?只要是出于两方面的考虑:一方面,某些机型的MOD BIOS论坛上没得下载,就好像我的R61i 8943机型;另一方面,论坛高低载的MOD BIOS很难全面跟得上官方更新速度。从年初开始我一直在关注R61i 8943A18 15寸普屏机型解除1802、1804和“白清单”限制的BIOS,并通过多种方法接洽国内、外的高手,但到前两天为止都还没有此机型的MOD BIOS放出来。

参考forum.thinkpads.com论坛里Zender网友发表的修正BIOS材料后,决定自己动手。经过这两天日日夜夜的折腾,于今天上午终于完成了对R61i 8943机型BIOS的修正,并在我的机子上测试通过。给机子升级的联想拆机Intel WiFi Link 5100 AGN无线网卡工作完善,无须绝缘第20脚,开机无1802报错,硬件无线开关和Fn F5组合键,无线教唆灯全部工作正常。

可行性研究
ThinkPad笔记本电脑自从T43起更改了BIOS对无线网卡检测机制,再也不能像之前的机型那简略“跳过”处理来解决非认证网卡利用的问题。经Zender网友的研究创造:新机型,例如我的R61i,BIOS里面对无线网卡检测代码存放在BIOSCODE区域的B.05模块里面。B.05模块的无线网卡相干内容包含两方面重要内容:1、认证的无线网卡数据,即我们所说的“白清单”或者“whitelist”;2、无线网卡检测过程及检测成果数据的传送。由此可以看出实现对非认证无线网卡的利用可以从三方面入一手:

1、把非认证的无线网卡数据参加到B.05模块中,但此方法不太实际,非认证的无线网卡实在太多了,对用户来说用哪张无线网卡就加那张卡的数据入去也不容易操作;

2、修正B.05模块中对无线网卡检测过程,这个方法看上去不错,但实际操作起来也有非常大的艰苦,重要因为不同此检测过程不同,而且要修正多处,例如R61i 8943就要修正50多处;

3、更改无线网卡检测成果,在B.05模块对无线网卡检测后,无论其检测成果如何都把其检测的成果更改为“是”。所以第三个方法最好,只要更改一处理论上就可以实现对所有非认证的无线网卡的正常利用。

B.05模块对无线网卡的检测首先检测miniPCI-E插槽有没有无线网卡,如果检测到有无线网卡就读取无线网卡的硬件数据。然后拿这个读取得来的数据在“白清单”查找,查找的成果存放某个状态存放器里面。此状态存放器被打扫(即清0),表现miniPCI-E插槽上没有无线网卡或者无线网卡是通过认证的;此状态存放器被设置(即置1),表现此无线网卡非认证的,同时给无线网卡第20脚发送一个无线传输关闭的信号(“radio disable”)。只要在B.05模块对无线网卡的检测后,人为再将这个状态存放器清0一次即可。

实现过程设计
在总结forum.thinkpads.com论坛Zender和本论坛cayman网友的经验,并作了一些简化后得出如下实现过程:
1、获得ThinkPad BIOS的镜像文件。利用官方网站的BIOS升级文件包中WinPhlash.exe程序通过对BIOS进行备份便可以获得BIOS镜像文件。
2、从BIOS镜像文件中提取BIOSCODE区域的B.05模块。运行phnxdeco.exe后,生成的phoenix_.B5便是BIOSCODE区域的B.05模块。
3、通过修正phoenix_.B5文件实现在B.05模块对无线网卡的检测后将状态存放器清0。此过程由phnxpatch.exe完成。
4、把修正后的phoenix_.B5压缩文件成B.05模块。prepare.exe实现对phoenix_.B5压缩。
5、把修正后的B.05模块放回BIOS镜像文件中的BIOSCODE区域。此过程由phnxmod.exe完成。
6、更新修正后的BIOS镜像文件校验码。此过程由phnxcksm.exe完成。
7、把修正后的BIOS镜像文件刷回ThinkPad中。再次利用WinPhlash.exe刷新BIOS。

详细实现过程
先到ThinkPad官方网站高低载对应最新的BIOS硬盘版升级程序,按官方阐明更新BIOS。下载本贴的附件,解压后会成生一个名为bios_mod的文件夹,里面包含修正所需的程序。此过程都在此文件夹里面完成。然后开始修正BIOS。

1、获得ThinkPad BIOS镜像文件。
首先找到官方的BIOS升级程序所在的文件夹,一般在C:\DRIVERS\FLASH里面。然后运行WinPhlash.exe程序,并设置为只备份BIOS的操作模式,填入BIOS备份文件名:bios.bak,点击“Browes”按钮找到程序所在的文件夹里面扩大名FL1的BIOS文件,然后点击右下角的“Backup BIOS”按钮进行备份BIOS。程序运行完成后,便会在程序所在文件夹里生成一个名为bios.bak的BIOS镜像文件。把这个bios.bak文件复制到bios_mod的文件夹里面。

2、从BIOS镜像文件中提取BIOSCODE区域的B.05模块。
打开命令行窗口,并进入到名为bios_mod的文件夹中。
输入命令:phnxdeco bios.bak -x
回车运行。运行完毕后会在bios_mod文件夹中生成几十个文件。在生成的文件中找到名为:phoenix_.B5的文件,并复制到此目录下名为:models的文件夹里面。然后把那些生成的过剩的文件删除,以防出错。

3、修正phoenix_.B5文件
在命令行窗口里面输入命令:phnxpatch patches models
回车运行。程序运行完毕后会在models文件夹中生成名为:phoenix_.B5.patched文件。
此过程不能在Windows Vista下操作。

4、把修正后的phoenix_.B5文件压缩成B.05模块
把models文件夹中:
phoenix_.B5文件重命名为:old.b5
phoenix_.B5.patched文件重命名为:new.b5

把models文件夹中old.B5和new.B5两文件复制到bios_mod文件夹中。
在命令行窗口里面输入命令:prepare old.txt
回车运行。
在命令行窗口里面输入命令:prepare new.txt
回车运行。
两次命令运行完毕后生成4个文件:OLD.LOG、OLD.MOD、NEW.LOG、NEW.MOD,其中OLD.MOD和NEW.MOD将在后面的操作过程中会用到。

查看OLD.MOD和NEW.MOD两文件的大小是否一样,如果大小不一样就要用HEX工具把NEW.MOD文件的最后增减“00”,直到与OLD.MOD一样大小为止,否则将无法进行下一步的工作。我的例子中,NEW.MOD文件比OLD.MOD小了7个字节,所以要在其最后增长7个“00”使两文件大小一样。

5、把修正后名为NEW.MOD文件放回到BIOS镜像文件:bios.bak中
在命令行窗口里面输入命令:phnxmod bios.bak OLD.MOD NEW.MOD
回车运行。

6、更新修正后的BIOS镜像文件校验码 在命令行窗口里面输入命令:phnxcksm bios.bak
回车运行。运行完毕后,把bios.bak文件重命名为:bios.rom

7、把修正后的BIOS镜像文件bios.rom刷回ThinkPad BIOS中
把bios_mod文件夹中名为:bios.rom的修正后的BIOS镜像文件复制到官方BIOS升级程序所在的文件夹,一般在C:\DRIVERS\FLASH里面。然后在此文件中运行WinPhlash.exe程序把修正后的BIOS镜像文件bios.rom刷回ThinkPad。

测试成果

修正BIOS后的R61i用联想拆机的Intel WiFi Link 5100 AGN无线网卡工作完善,无须绝缘第20脚,开机无1802报错,硬件无线开关和Fn F5组合键工作正常,无线教唆灯工作正常。

总结
单从成果上看似乎已经是很久很之前的事情了,别人早就做过。可是很多事情别人都做的,看似很容易,如果没有亲身实验,始终是没办体验到那过程的艰辛和乐趣。经过此次动手不但学会了如何修正ThinkPad的BIOS来解除1802、1804和“白清单”限制,同时在前人的基础上对操作过程作了优化,减少了修正过程中两个步骤:解压缩扩大名为FL1的官方BIOS文件和压缩修正后BIOS镜像文件成为FL1文件,并使操作过程更简略一些,全新过程直接在windows XP下实现。

注:
1、附件中部分文件和程序由forum.thinkpads.com论坛里Zender网友供给,版权为Zender网友所有。
2、未经本人批准不得转载。

补充:
1、phnxdeco.exe程序无法支撑大于2M的BIOS镜像文件,附件的phnxsplit.exe程序则可以,利用方法差不多。例如:X200的BIOS镜像文件为8M,则要用phnxsplit.exe来提取BIOS模块,并生成文件。
2、不同机型BIOSCODE中对无线网卡检测及“白清单”代码存放的模块不同。但必定在由phnxsplit.exe程序生成以名为:BIOSCODExx.ROM的文件中,或者由phnxdeco.exe生成以名为:phoenix_.Bx文件中。

只要把这些文件,全部复制入models文件夹中即可。当运行phnxpatch程序后,models文件夹中生成以patched为扩大名为破解后的文件。

例如X200的最新的3.03BIOS镜像为8M,只能用phnxsplit.exe来提取BIOS模块。运行phnxpatch后在models文件夹中生成了BIOSCODE06.rom.patched,表明X200的最新的3.03BIOS的BIOSCODE中对无线网卡检测及“白清单”代码存放的模块为BIOSCODE06。此时只要对BIOSCODE06处理即可,其它可以不理。

3、再把文件BIOSCODE06.rom重命名为:old.b5
件BIOSCODE06.rom.patched重命名为:new.b5
然后持续其它步骤即可。


精品课程推荐

学生真情感言

关于本站 | 网站帮助 | 管理网站 | | 友情连接 | 百度收录
报名电话:0731-85579057,0731-85569651, 咨询QQ:361928696,873219118,250539810.
校址:湖南省长沙市雨花区车站南路红花坡路口(红花坡路176号)“智慧桥幼儿园”旁边 | 来校路线:长沙火车站售票处后坪乘135路至"鼓风站"下车,回走100米即到.
电工培训学校 电动车维修学校 摩托车维修学校 摩托车维修培训 手机维修培训 家电维修培训 电脑维修培训 电动工具维修培训 液晶电视维修培训 安防监控培训 空调维修培训 网络营销培训 网站设计培训 淘宝网店培训 电器维修培训 家电维修学校 电工培训 焊工培训 电工学校
点击这里给我发消息
点击这里给我发消息
点击这里给我发消息
阳光电子电脑学校