精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>已关闭版区>>● 千年虫>>论及其它>>[转载] 转载 几乎所有电脑都存在千年虫隐

主题:[转载] 转载 几乎所有电脑都存在千年虫隐
发信人: likaiwpf()
整理人: (1999-07-16 08:16:38), 站内信件
【 以下文字转载自 Hacker 讨论区 】
【 原文由 问大侠 所发表 】
  8848.net  自我介绍| 广告服务| 网络营销服务| 联系我们| 邮件周刊| 友情
连接 
 
  
硬件发烧友         
 

到目前为止,几乎所有电脑都存在千年虫隐患!请参阅本文详细介绍
发言者:tytc 
发表时间:14:01:58 1999/6/14


计算机硬件千年虫问题解决方案(Chinabyte中)
测试软件下载:http://y2k.363.net,http://patent.126.com

(计算机Y2K又有一个洞:几乎所有电脑硬件都未解决RTC时钟问题,详见中计报6
月3日)

  现在各大电脑厂商生产的电脑已经可以安全度过2000年世纪交替这个困扰,
对于
以前的一部分不能正确度过2000年的机型通常有如下几种解决方案:
  (1)BIOS升级方法
  对于586以上系统,可以通过升级BIOS来解决2000年问题;根据不同系统所用

主板版本的不同,采用相应的2000年兼容的BIOS进行升级,使之能2000年兼容。

  (2)补丁程序
  有些较早的机型,由于其BIOS是不可刷新的,有些电脑厂商提供补丁程序,如程

fix2000.sys来解决此问题。应用补丁程序在系统启动时对RTC时钟日期进行判定
,程
序应用方法:将fix2000.sys拷贝至C:盘根目录
   在Config.sys系统文件的首行加上如下命令行:DEVICE=C:\FIX2000.SYS 

这种方法的缺点是如果系统受到病毒感染又会使y2k问题重现。
  (3)使用硬件方式比如“2000世纪卡”,可以在不变动原BIOS芯片的情况下,解

PC硬件BIOS Y2K问题。
  以上三种方式中,第一和第二种方式有很大的风险。针对不同机器的BIOS升级
,很
有可能造成原BIOS芯片被破坏,从而使原系统无法正常工作。实际实施时会遇到
很多
问题,所以几乎所有厂商都申明不承担第一和第二种方式“升级BIOS”造成系统
崩溃
的责任。
  2000世纪卡采用的是BIOS Enabler卡,该卡可以解决PC BIOS“Y2K”问题,

用于各种PC BIOS。该方案适用于解决潜在的闰年问题、以及其它与年份有关的问
题,
并且都能正确、 在不影响其它功能的情况下,监测日期与时间。
  2000世纪卡仅占用主板的一个ISA槽口,能确保当DOS和Windows应用程序需要

统日期或时间时,从BIOS提供正确的日期和时间。
  上电以后,PC机将系统时间设定为RTC时间(计算机的实时钟芯片)。当DOS

Windows需要时间和日期信息时,系统调用将传递给BIOS,从系统时钟返回系统时
间。
由于不符合2000年标准的RTC芯片只能跟踪年(十位、个位),不能跟踪世纪(千
位、
百位),而不符合2000年标准的BIOS,年00可表示1900年或1980年。2000世纪卡
能捕
获给BIOS的系统请求,确保返回正确的世纪和年份。因此,当不符合2000年BIOS
年标
准的BIOS返回00或80时,2000世纪卡返回正确的世纪和年份。另外,世纪变换时

2000世纪卡将会重置系统的CMOS设置,确保随后的年份正确。同时,2000世纪卡
还能
确保闰年以及随后的闰年日期正确。
  一、2000年世纪卡主要特征
  1.16位ISA工业标准总线:将它插入计算机任一个16位ISA或EISA插槽中即可

  2.能自动更正电脑2000年日期记录:开机后,2000世纪卡能够自动使BIOS升
级,
正确设定电脑日期记录;在电脑运行的任何时刻,“2000世纪卡”能够自动更正
电脑
2000年的日期记录。
  3.ROM映射地址可选:“2000世纪卡”提供了一组跳线,消除同原系统扩展B
IOS
的冲突。
  4.计算机2000世纪卡的兼容性:适用于IBM PC及100%兼容机。支持DOS3.0以
上,
MS WINDOWS 3X,MS WINDOWS95,WINDOWS NT等操作系统,同时也适用于网络用户

该卡经过严格测试,可解决BIOS和非RTC相关的2000年问题。
  二、认识计算机2000世纪卡
  “计算机2000世纪卡”上设置了6个跳线,通过这六个跳线可将卡的硬件地址

置在C800-DC00之间,默认设置地址为CC00H。
  三、测试你的PC是否存在2000年问题
  方法一:手工测试法
  改变系统时间日期为:12311999 23:59:55 等两分钟后关机。开机后用DATE
查询
系统日期如果时间为01012000则你的PC已解决计算机2000年问题,否则你的PC存

2000年问题。
  继续改变系统日期02292000,用DATE查询系统日期如果是则你的PC已能正常
工作,
否则您的PC仍存在2000年计时问题。
  方法二:软件测试法
  使用世界权威的软件和硬件的测试、认证机构美国软件实验室(NSTL)提供的
专用
测试软件2000.exe测试,有关2000世纪卡照片及专用测试软件可从http://y2k.3
63.com
中下载。 
四、2000世纪卡BIOS升级原理
BIOS调用来检索或设置 RTC 日期和时间,该调用是通过时钟服务 BIOS 中断(I
NT 
1Ah)实现的。1Ah提供的两个主要服务可以用来管理日期和时间信息,两者均可
使用相同
的输入或输出寄存器:
读取时钟功能(调用04H) 
设置时钟功能(调用05H) 
寄存器值定义: 
CL=年(0-99),CH=世纪(19或20)
DH=月(1-12),DL=天(1-31)
BIOS校正原理: 
更改读取实时钟日期功能04H:增加对日期的判定和修正。 
如果年份<80(CL)并且世纪年(CH)=19,将CH加1
将更改后的CH值(世纪年)=20返回给操作系统
更改设置实时钟日期功能05H:
如果年份<80并且世纪年=19,将RTC中的世纪年更新为20
在1999-12-31以后一旦执行读取日期功能,BIOS会自动将RTC中的世纪更新为20,

根据上述原理在程序设计时,2000世纪卡接管机器BIOS RTC时钟,当时钟走至19
99-12-31
23:59:58时,将世纪卡接管的RTC时钟拔至2000-01-01 00:00:00,实现向20
00年的跨
越,因而在开机状态过渡2000年时,操作系统时钟与RTC、CMOS时钟不同步,这对
系统应
用没有影响,作为一种硬件解决方案,该卡较为彻底地解决了PC机过渡2000年问
题,特别
是对于众多无法找到BIOS升级软件的机型不失为一种很好的解决办法,目前该卡
已通过国
家信息产业部2000年问题工作小组指定认证机构的严格测试认证,并申请了国家
专利(专
利号98122241.2)。值得一提的是,该卡是在BIOS层解决电脑硬件千年虫问题,对
于一些非
DOS操作系统,如UNIX等如果不是通过调用BIOS而是通过驱动程序来直接访问实时
钟,或且
如果该BIOS芯片不兼容MC146818标准,那么这些操作系统或程序进行直接读实时
钟时也会
出现错误(指存在y2k问题的电脑硬件)。本方案已收录在电脑报Y2K光盘及中国计
算机报第
6期Y2K专题光盘中。


----------------------------------------------------------------------
----------
回应:



----------------------------------------------------------------------
----------
回复以上发言

您的姓名:
密 码:
电子邮件:
您的主页:
主页标题:
链接图像:
发言主题:
发言内容:





--
※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.104.232.217]
--
※ 转载:.月光软件站 http://www.moon-soft.com.[FROM: 202.103.30.250]

[关闭][返回]