社区
Windows Server
帖子详情
在windows下刷BIOS的原理是什么?
a294447011294447011
2010-07-17 08:05:32
都知道AFUWIN.exe是可以在windows xp下刷BIOS的,它是利用Ucoresys.sys去r0下实现刷BIOS的。我们又知道BIOS程序在 windowsxp 下被影射到了物理内存 0xf0000 到0xfffff里了,所以类似AFUWIN.exe的刷BIOS的操作是不是实际上是对物理内存0xf0000 到0xfffff里的数据刷新?就是把新的bios程序写到了物理内存 0xf0000 到0xfffff里?
...全文
1604
5
打赏
收藏
在windows下刷BIOS的原理是什么?
都知道AFUWIN.exe是可以在windows xp下刷BIOS的,它是利用Ucoresys.sys去r0下实现刷BIOS的。我们又知道BIOS程序在 windowsxp 下被影射到了物理内存 0xf0000 到0xfffff里了,所以类似AFUWIN.exe的刷BIOS的操作是不是实际上是对物理内存0xf0000 到0xfffff里的数据刷新?就是把新的bios程序写到了物理内存 0xf0000 到0xfffff里?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hank_xin
2010-07-21
打赏
举报
回复
下面为转帖,但也是我本人的意见,主要是打字太累了~,绝非那种答非所问的不负责任的回答.都经过我认真核查过了,这也是我想打得,就转过来了.
另外那位让人放电的朋友肯定没有看清题目或者你也不懂~另外说明一点Awdflash是刷award主板的,如果是AMI的你要相应的换成amiflash 了,并且命令也不相同,但原理一样.你可以查看相关资料.
还有就是可以找专业的刷bios的帮你刷进正确的BIOS,但要花钱了.
以下转载部分
1.更换新的BIOS芯片。这当然是最有效也是最简单的一种方法,你可以与代理商或主板生产厂商联系,向他们寻求你所需要的BIOS 芯片,用它替换损坏的芯片即可。绝大多数主板厂商都会向用户提供BIOS芯片(有的还是免费提供),但这一方法比较费时而且麻烦。
2.利用BIOS Boot Block引导块恢复。主要思路是利用BIOS上的一个BIOS Block(开机引导块)进行恢复。因为在一般情况下Flash ROM中的BOOT Block模块不会在BIOS升级过程中被破坏,但它只能支持很少的硬件如ISA显卡和软驱等,如果你的显卡是AGP或PCI的,在恢复过程中将是漆黑一片。不过,我们完全可以利用这个BIOS Boot Block引导块完成恢复工作,具体步骤如下(以Award BIOS为例):
a.做一张DOS启动盘,只保留三个启动文件,一定不能有Config.sys和Autoexec.bat两个文件。
b.将 Awdflash.exe和*.bin文件拷贝到软盘中。
c.在启动盘中建立一个Autoexec.bat文件,内容如下:
Awdflah.exe *.bin /sn /py(*.bin是你的BIOS更新文件,而其中的参数/sn /py则表示不备份,而仅仅刷新BIOS)。
d.用此软盘重新启动,系统会根据Autoexec.bat自动刷新BIOS,此时虽看不到任何显示(假如你用ISA显卡更换AGP、PCI显卡,可以看到有关信息),但你可注意到软驱灯是亮的,而且软驱在读盘,等软驱灯熄灭后稍待片刻就可重新启动,如果一切顺利,系统BIOS已经恢复正常了。
不过,要想使用这个方法来恢复损坏的BIOS,最好在升级BIOS前就要做好这张恢复盘或到其它机器上做恢复盘。
3.利用Flash Recover Boot Block引导块
对于另一些主板(例如某些使用Phoenix BIOS的主板),主板上的BIOS中有一个Flash Recover Boot Block引导块,这个引导块不会被升级程序覆盖。主板上有一个Flash Recover Jumper跳线,BIOS升级失败或被CIH病毒破坏后可以恢复,方法如下:
a.把Flash Recover Jumper跳线设置为“Enable”。
b.把可引导的升级盘插入A驱动器(盘中的BIOS一定要是能正常工作的,文件名要符合主板的要求,因为主板要把软盘中的BIOS备份自动写回Flash BIOS)。
c.重新启动电脑。
d.因为这一小段代码是放在不可写入的引导块区域的,所以不支持显卡,升级过程只能靠声音和软驱指示灯的提示来判断是否完成。如电脑喇叭发声且软驱灯亮着时,表明系统正在恢复BIOS到Flash BIOS,当电脑喇叭不发声且软驱灯也不亮时,表明恢复完成。
e.关掉电源。
f.把Flash Recover Jumper跳线跳回默认位置。
g.取出软盘,开启电源。
3.热插拔法。你可以利用一台与你的BIOS芯片完全相同、可以正常工作的计算机,启动到DOS状态下,用平口螺丝刀小心地拔出工作正常的BIOS芯片,然后将损坏的BIOS芯片插入,进行BIOS升级,一般情况下很快就可以将损坏的BIOS起死回生。但这个方法危险性极大,不是老鸟级的高手请勿试验,因为在气候干燥的季节和环境下,热插拔过程中产生的瞬间放电有可能对主板和芯片造成极大的损害,所以在热插拔前最好设置接地导线,同时在BIOS设置中要开启所有ROM映射功能,即将System BIOS Cacheable设为Enable。
gdd714
2010-07-21
打赏
举报
回复
都知道AFUWIN.exe是可以在windows xp下刷BIOS的,它是利用Ucoresys.sys去r0下实现刷BIOS的。我们又知道BIOS程序在 windowsxp 下被影射到了物理内存 0xf0000 到0xfffff里了,所以类似AFUWIN.exe的刷BIOS的操作是不是实际上是对物理内存0xf0000 到0xfffff里的数据刷新?就是把新的bios程序写到了物理内存 0xf0000 到0xfffff里?
被映射到了物理内存不代表刷bios的时候就是操作的物理内存,只是加载运行的时候用内存读取。
就是just4
2010-07-19
打赏
举报
回复
类似AFUWIN.exe的刷BIOS的操作是不是实际上是对物理内存0xf0000 到0xfffff里的数据刷新
应该不是这样的吧,BIOS只是主板上的一块ERROM之类的芯片,这个主机上外接PLC芯片应是一个道理
a294447011294447011
2010-07-19
打赏
举报
回复
[Quote=引用 1 楼 qihuanfengyun 的回复:]
你知道,xp虚拟内存的BIOS地址映射????
[/Quote]
好象是物理内存0xf0000吧?
xpddk驱动程序下:
PHYSICAL_ADDRESS paddr;
paddr.QuadPart = (__int64)0x00000000;
//取得物理地址0的虚拟地址
PVOID maped = MmMapIoSpace(paddr, 1024*1024, MmNonCached);
........
MmUnmapIoSpace(maped, 1024*1024);
qihuanfengyun
2010-07-17
打赏
举报
回复
你知道,xp虚拟内存的BIOS地址映射????
UEFI启动:入门、进阶与实战
UEFI是目前电脑普遍采用的
BIOS
,并且未来将成为
BIOS
的主流。如何实现UEFI下的电脑启动,是安装和管理电脑操作系统的重要课题。 《UEFI启动:入门、进阶与实战》由LTE学习大使孙宇彤老师开发和主讲,是《U盘...
Win7激活工具的
原理
是什么?
大体上分为如下五种激活方式,
原理
如下:(一)“硬刷”激活微软和PC厂商为了减轻对于操作系统的激活负荷,在品牌机实行了有别于联网激活的“SLIC 2.1激活机制”:当操作系统启动时,就会自行扫描
BIOS
里的公钥和标识...
BIOS
和CMOS的全面知识?是什么?怎么设置操作?(未完待续)
BIOS
和CMOS的全面知识?是什么?怎么设置操作?(未完待续)
华硕B85M系列主板 免编程器刷
BIOS
教程
华硕B85M系列主板 免编程器刷
BIOS
教程前言准备工作功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居...
Windows Server
6,850
社区成员
178,035
社区内容
发帖
与我相关
我的任务
Windows Server
Windows 2016/2012/2008/2003/2000/NT
复制链接
扫一扫
分享
社区描述
Windows 2016/2012/2008/2003/2000/NT
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章