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

互联网   发布时间:2010-05-27 23:26:54   作者:佚名   我要评论
引言 这样的BIOS论坛上就有得下载,为什么要自己搞那么高风险的事情呢?只要是出于两方面的考虑:一方面,某些机型的MOD BIOS论坛上没得下载,就好像我的R61i 8943机型;另一方面,论坛上下载的MOD BIOS很难全面跟得上官方更新速度。从年初开始我一直在关注R61i

引言
这样的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
然后继续其它步骤即可。

相关文章

  • bios设置网卡启动来恢复网络正常使用的方法图文教程

    在使用电脑过程中,可能会遇到网卡被禁用的问题,这样就导致无法正常上网,那么bios怎么设置网卡启动来恢复网络正常使用?本文将带来bios设置网卡启动来恢复网络正常使用的
    2017-04-19
  • 联想电脑Win7系统在BIOS里面启用网卡教程

    这篇文章主要介绍了联想电脑Win7系统在BIOS里面启用网卡教程,有些网友在windows7 64位系统里面并没有找到网卡开启,其实大家这里可以在电脑启动时,在BIOS里面开启网卡,需要
    2015-04-22
  • 915主板找不到onboard LAN boot rom这个选项

    我的电脑在开机时总会出现以下信息: CLIENT MAC ADDR 00 E0 4C B3 32 FC GUID FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF DHCP..... PXE-E51 NO DHCP OR proxyDHCP OFFERS WER
    2010-09-08
  • 硕泰克845PE跑25故障一例

    昨天晚上在朋友网吧帮忙装机,一台硕泰克845pe开机不亮,上检测卡做代码25,换内存N条、清理内存槽、换显卡、BIOS清零、北桥按压都无效,测试内存供电非常正常,哈哈搞地几
    2010-09-08
  • 关于NF系列芯片组主板刷新BIOS后出现板载网卡无法连接现象解决方法

        最近,好多使用NVIDIA芯片组主板的网友回复耗子,说自己的主板在正确刷新BIOS后,主板运行正常,但是板载网站却出现无法联接的情况;通过让网友实际测
    2010-09-08
  • P4服务器主板常见的4种故障

       P4主板故障一般有点不亮、报错、死机、板载网卡、PS/2及显卡有问题,重启等现象。     ——点不亮的情况下,先查看主板是否完好及主板电阻和芯
    2010-09-08
  • 网络连接失踪 祸起BIOS被意外修改

    局域网中有一台共用工作站,平时可以正常上网访问,可是最近不知道什么原由,开机运行后不能正常访问网络了,与此同时,通过USB接口连接的鼠标也不能正常工作了。原本以为
    2010-09-07
  • 加装电信3G模块MC5725攻略

    安装595U教程   此卡适用于ThinkPadX60/X60s/X60T/X61/X61s/X61T/X200/X200s/X200T/X300/X301   T60/T60p/T61/T61p/T400/T400S/T500/W500/W700/R60/R61/R400/R500   
    2010-05-27
  • 如何把网卡启动芯片程序写入主板BIOS

    目前市场上主要有两种BIOS,即AMIBIOS和AWDBIOS。华教无盘系统专用的BOOTROM程序除了可以写入网卡启动芯片,也可以直接写入主板BIOS。对于一些集成网卡的主板特别有用,但
    2009-04-21
  • 电脑进入bios关闭网卡的技巧

    华硕电脑开机时显示一连串字符并且没办法正常进入系统中,多次重启都出现这样的状况,到底是怎么回事?下面小编给大家分享电脑进入bios关闭网卡的技巧,需要的朋友参考下吧
    2017-11-23

最新评论