发信人: 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]
  | 
 
 
 |