Aug 28

【原创】DOS命令行下 赤手空拳清CMOS 不指定

felix021 @ 2007-8-28 21:40 [IT » 硬件] 评论(0) , 引用(0) , 阅读(5897) | Via 本站原创 | |
【原创】DOS命令行下 赤手空拳清CMOS

【转贴请务必保持本贴完整性】
【From http://post.baidu.com/f?kw=%B7%EB%C3%F4

如何清除CMOS所有设置?

通常来说有两种办法:软硬兼施

Solution 1:来硬的
拆开机箱,拔掉CMOS电池,放回去,开机,OK。
注:此方法不适用于笔记本电脑。。

Solution 2:硬的不行来软的
众所皆知了
只要进入DOS并且有DEBUG就可以
在dos下操作如下

A:\>DEBUG
-o 71 10
-o 70 10
-q

A:\>
然后重启即可

如果你不想每次都输入这样的一串东西
可以这样:

A:\>debug
-a
0B04:0100 mov al,10
0B04:0102 out 71,al
0B04:0104 out 70,al
0B04:0106(回车)
-rcx
CX 0000
:6(此处的6是用户输入的)
-n cmos.com
-w
Writing 00006 bytes
-q

A:\>
这样你就可以得到一个CMOS.com
只要运行它就可以清除CMOS设置了

但是如果只有DOS,没有DEBUG怎么办呢?

先让我们来分析一下:
其实上述debug命令1和2大抵是等价的
它们做的事情是向编号为71H和70H的IO端口输出一个字节的数据10H
这个数据是没有意义的
所以重启以后BIOS程序就会报错
恢复默认设置
而第二套命令只是把第一套命令保存为一个可执行文件(汇编)

让我们打开cmos.com看看
(我用的是Winhex,你也可以用UltraEdit,或者其他16进制编辑器)
内容是:B0 10 E6 71 E6 70(十六进制)
B0 10 对应指令 mov al,10
E6 71 对应指令 out 71,al
E6 70 对应指令 out 70,al
这样就可以得到我们想要的结果

好的 现在开始转入正题:
特别声明:这个方法就不需要debug了哦~~~

让我们把上述的每个字节分别转换成十进制就是
176 16 230 113 230 112
这可以联想到什么呢?
哈,那就是那个29482了

插嘴:
什么?你不知道29482是什么?
这样 你打开QQ聊天窗口
打开NumLock(灯要亮)
然后按住ALT键不放,同时在 小键盘 输入29482
放开ALT键,你的名字就出来了
同样,你可以在这个帖子后面回复
"我是&# 29482"(去掉中间的空格)
现在知道29482是什么了吧?

所以我们就可以用这种方法来创建一个cmos.com
过程如下:

进入DOS
打开小键盘
A:\>copy con cmos.com
按住ALT分别输入
176 16 230 113 230 112
(B0 10 E6  71  E6  70的十进制数字)
然后按CTRL+Z,回车
保存下来的就是那个CMOS.com 拉!

屏幕显示如下:
A:\>copy con cmos.com
░^Pµpµq^Z
        1 file(s) copied.

A:\>

现在你就得到了CMOS.com拉
运行它吧!
--------做人要厚道  By Felix----------



欢迎扫码关注:




转载请注明出自 ,如是转载文则注明原出处,谢谢:)
RSS订阅地址: https://www.felix021.com/blog/feed.php
Tags:
发表评论
表情
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
打开HTML
打开UBB
打开表情
隐藏
记住我
昵称   密码   *非必须
网址   电邮   [注册]