清除戴尔电脑的BIOS密码

一个礼拜之前给我的Dell OptiPlex 745设了个BIOS密码,就是每次修改CMOS配置的时候需要输入的那个Setup Password。Award BIOS里的Setup Password是按下Del键进入BIOS设置界面后就需要输入的,否则无法进入BIOS设置页面。而Dell的Phoenix BIOS里则是可以浏览BIOS设置,但是想修改BIOS设置就必须先输入Setup Password解锁才行。上个周末去清远玩了两天,回来后要修改一下BIOS配置,结果发现我把密码给忘了,糗了。

于是上网查找破解BIOS密码的方法,找到这篇《How do I reset a BIOS password?》

遗失了BIOS密码,首先可以尝试使用BIOS的万用密码。BIOS万用密码,又叫BIOS万能密码或者BIOS通用密码,但其实它的英文是Backdoor BIOS Password,BIOS后门密码。这个密码存在于较早的一些BIOS系统中,主板厂家的工程师会知道这个后门密码,当用户忘记自己的BIOS密码时,工程师可以用后门密码进入BIOS,而不管用户设置的密码是多少。《How do I reset a BIOS password?》列出了一些常见的BIOS万用密码,而Dell电脑的BIOS万用密码是"Dell",我在我的机器上试了一下发现不行,"Phoenix"也不行。最近几年的新主板大多都不再用万用密码了,这个方法行不通。

然后就是从软的方法,尝试着把密码解出来。BIOS密码通常都存放在CMOS里的某个地方,不过一般都是加密存放的。直接读取CMOS里的数据,然后找到密码存放位置的数据,解出密码就可以了。当然,普通人很难做到这一点,所以可以通过程序来做这件事。

CmosPwd可以从CMOS里解密出密码然后显示出来。常见的AMI、Award、Phoenix这三种BIOS它都支持。这个软件的DOS版本和Linux/BSD版本都可以直接工作,而Windows版本则需要参考它的说明文件安装一个服务,以使得软件在Ring 3下可以直接访问I/O端口。另外这个软件是基于GPL的,有C语言源代码可以看。不过,很遗憾,这个软件无法显示出我的Dell机器的BIOS密码。

再有就是BiosPwds,可以在华军下载。记得要点击下载地址列表里“原始文件”那个链接下载,其他的地址下载得到的压缩包里程序的可执行文件都不见了,只剩下两个说明文本文件。这个软件会被我的卡巴斯基检测为黑客工具,所以,我猜是华军服务器上的杀毒软件把这个程序当病毒给杀了,哈哈。

运行Biospwds程序,出现程序画面:
BiosPwds 1.21

点击"Get passwords",程序将读取CMOS中的数据并显示出BIOS版本号、发布日期、超级密码、用户密码以及密码级别。

现在的BIOS大都没有了通用于某个版本BIOS的通用密码,而是每个BIOS里有一个通用密码。我想它应该是根据硬盘序列号等独一无二的信息生成的,每次BIOS在检测密码的时候,再用硬盘序列号经过计算得到本机的BIOS通用密码,然后和用户输入的密码进行对比。超级密码和用户密码都是从CMOS中读取加密后的数据然后反推出来的,所以可能和原来设置的密码不同,但效果是等价的。

BiosPwds这个软件只支持Award BIOS,我的Dell电脑是Phoenix BIOS,无法使用。而单位的联想品牌机和家里的电脑开机显示的都是Phoenix-AwardBIOS。查了一下,原来Phoenix已经把Award收购了,目前的Phoenix-AwardBIOS依然继承了原来Award BIOS的特性,比如按Del键进入BIOS设置页面。不过,BiosPwds依然无法读取这些BIOS的密码。我想,BiosPwds这个软件可能老了。

还有其他一些软件,因为害怕病毒的关系,没有一一去试。国外的这些软件大都兼容多种BIOS系统,而国内的则通常只能用于某一种BIOS,并且大都带有暴力破解的功能。这个暴力破解并非穷举法,而是直接破坏CMOS数据使得密码失效,这就是下面要讲的方法。

在无法从CMOS中获得密码的情况下,只有来硬的了。CMOS里的数据都加有数据校验,如果从CMOS中读取的数据无法通过数据校验,则BIOS会自动恢复默认的CMOS数据,BIOS密码也随之被清除。所以,只有破坏CMOS里一点数据就可以了。

网上大多都有讲debug删除BIOS密码的方法:

C:\>DEBUG
―O 70 10
―O 71 01
―Q

这是在纯DOS下使用debug程序向70h和71h端口发送两个数据,从而破坏CMOS。但那是DOS时代的事了,现在的BIOS密码哪是那么容易破的?依稀记得98年的时候用这个办法成功删除了一台386电脑的CMOS密码,不过整个CMOS数据都丢失了,所以需要恢复出厂设置,再慢慢调整回自己需要的BIOS设置。

还有就是一些所谓的暴力破解BIOS密码的软件,也是通过破坏CMOS里的数据来实现清除BIOS密码的功能的。

如果软件的方法不行,比如软件无法直接写入CMOS,则可以使用硬件的办法,比如通过主板上的清除CMOS信息跳线或者拔下CMOS电池,给CMOS放电。CMOS是一块RAM记忆体,没有了电池,里面存的东西自然会消失。

《How do I reset a Dell BIOS password?》这篇文章介绍了戴尔的各系列电脑清除BIOS密码的方法。Inspiron系列和Latitude系列笔记本,因为笔记本不容易拆开,可以通过拨打Dell的服务热线,提供所使用的Dell电脑的服务编号,记得获得你的Dell电脑的BIOS万用密码。而Latitude系列更提供了一个小程序,直接在机器上运行该程序,输入电脑的服务编号即可获得BIOS万用密码。

我用的是Dell的Optiplex台式机,直接拆开电脑,找到一个叫PSWD的跳线,拔掉跳线帽,然后插电启动,进入BIOS后就可以看到密码已被清除,而且BIOS密码功能已经禁用了。再关机,把跳线帽插回去,再开机,即可重新设置新的BIOS密码。这样只是清除了BIOS密码,CMOS里存放的其他设置信息并不受影响。

BIOS和CMOS这两个词目前在国内是混用的。BIOS,Basic Input/Output System,基本输入输出系统,就是固化在主板上的一个固件,用于引导计算机,然后把控制权交给操作系统。它是个软件,而且工作在比操作系统更底层的地方。而且,它是一个固件,也就是说存放的ROM里,是不可写的。(当然目前基本上所有的主板都可以通过程序刷新BIOS了,但BIOS仍然属于固件)而CMOS,则是一个记忆体,用于存放BIOS配置信息,供BIOS读取。比如,你可以通过设置关闭板载声卡,板载显卡,板载网卡等等。每次开机的时候,BIOS会从CMOS里读取配置信息,然后根据配置信息来决定是否执行某些操作。

本文共有 9 条评论清除戴尔电脑的BIOS密码


  1. 1 [BLT]FQX

    说到最后还是放电解决的啊……

  2. 2 alexs

    说了等于没说,我想知道DELL笔记本怎样搞定?

  3. 3 匿名

    电脑密码上清除

  4. 4 匿名

    Latitude c600
    用小程序算出来的密码没用。..
    谁告诉个Latitude c600能用的万用密码啊..

  5. 5 匿名

    问题等同于2楼那位,我这个关键是放电都不好使啊,DELL1000,还找不到BIOS 程序,没法重写BIOS,开机直接要求输入密码

  6. 6 carbohydrat1

    如果是正常途径购买的话,可以到dell.com找他们要回密码,需要购买资料及产品序列号等等。

  7. 7 ArtOfJ

    问题等同于2楼那位,我这个关键是放电都不好使啊,DELL1000,还找不到BIOS 程序,没法重写BIOS,开机直接要求输入密码

  8. 8 匿名

    我遇到一个清华同方的机器,放电后进CMOS仍然要求输入密码,而提示已经放电成功,提示为:load deafout,真是很奇怪,各位高手有知道的吗?

  1. 1 听景777-blog播报
    Trackback2008-2-11 3:54 下午

请留下您的评论: