CN1782998A - Bios更新系统及方法 - Google Patents

Bios更新系统及方法 Download PDF

Info

Publication number
CN1782998A
CN1782998A CN 200410077282 CN200410077282A CN1782998A CN 1782998 A CN1782998 A CN 1782998A CN 200410077282 CN200410077282 CN 200410077282 CN 200410077282 A CN200410077282 A CN 200410077282A CN 1782998 A CN1782998 A CN 1782998A
Authority
CN
China
Prior art keywords
bios
boot
program
character string
measured
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN 200410077282
Other languages
English (en)
Other versions
CN100419678C (zh
Inventor
陈廷贤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hongfujin Precision Industry Shenzhen Co Ltd
Hon Hai Precision Industry Co Ltd
Original Assignee
Hongfujin Precision Industry Shenzhen Co Ltd
Hon Hai Precision Industry Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hongfujin Precision Industry Shenzhen Co Ltd, Hon Hai Precision Industry Co Ltd filed Critical Hongfujin Precision Industry Shenzhen Co Ltd
Priority to CNB2004100772821A priority Critical patent/CN100419678C/zh
Publication of CN1782998A publication Critical patent/CN1782998A/zh
Application granted granted Critical
Publication of CN100419678C publication Critical patent/CN100419678C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明提供一种在计算机系统中用以更新BIOS的方法,其由外部计算机对待测计算机的BIOS程序进行更新。该方法包括:于待测计算机提供引导程序初始化串行端口;于外部计算机提供BIOS上传程序,其通过串行端口传送特定字符串给引导程序;所述引导程序判断在一定时间内是否接收到特定字符串;若没有接收到特定字符串,则判断待测计算机的BIOS检查码是否等于零;若BIOS检查码不等于零,则引导程序接收传送的特定字符串、BIOS更新程序及BIOS韧体至待测计算机的内存中;引导程序执行上述BIOS更新程序更新BIOS。本发明还提供由外部计算机对待测计算机的BIOS程序进行更新的系统。

Description

BIOS更新系统及方法
【技术领域】
本发明涉及一种计算机系统中BIOS的更新系统及方法,尤指通过串行端口上传更新程序更新BIOS的系统及方法。
【背景技术】
计算机BIOS负责开机时对计算机系统的各项硬件进行初始化设置和测试,以确保系统能够正常工作。若硬件不正常则立即停止工作,并把出错的设备讯息反馈给用户。BIOS是用于联系计算机硬件与软件程序之间的一组程序,该程序为计算机提供最低级及最直接的硬件控制。BIOS包含了系统加电自检(Power On System Test,POST)程序模块及系统启动自举程序模块,这些程序模块主要负责主板与其它计算机硬设备通讯的作用。当计算机接通电源后,BIOS将进行检查计算机内部所有设备,包括对微处理器(CPU)、内存、系统主板、CMOS内存、并行和串行通讯子系统、软盘和硬盘子系统以及键盘进行测试。自检测试完成后,系统将在指定的驱动器中寻找操作系统,并向内存中装入操作系统。如果BIOS出现故障,计算机系统一开机便无法执行如内存(RAM)、硬盘(HD)、中央处理器(CPU)等的检测,则计算机系统便无法顺利完成开机程序。
也因为BIOS在计算机系统中具备如此重要的地位,一般将BIOS程序快速存储在一个可以长久不需电源的非挥发性内存中,如FlashROM、EEPROM等,并将此类BIOS内建于计算机系统的主板上,使其内容不受电源供应影响而可永久保存。
由于现代计算机技术的不断进步,BIOS也需要不断的扩展功能以便能够管理更多的硬件设备;或者是当BIOS损坏时,需要对BIOS进行修补。因此,为了要随时更新BIOS的内容,存储BIOS的内存通常由可再写入的内存所提供,如快速存储器(Flash Memory)。BIOS的制造商会将BIOS的内容储存在一存储器中,并且提供使用者BIOS的快速程序。
当BIOS的制造商发表了较新版本的BIOS,制造商便会将BIOS的快速程序与包括更新BIOS的程序代码的更新档案通过网络供使用者自行下载以更新计算机系统的BIOS。使用者将BIOS制造商所提供的快速程序与包括BIOS程序代码的更新档案(通常为一二进制档案)自网络下载至本地端的主机后,便可利用BIOS的快速程序将BIOS的更新档案再程序化(Reprogram)至BIOS内存中,以覆写原先的BIOS内容或新增的BIOS内容,完成BIOS的更新程序。
一般在进行BIOS更新时,都是利用一张操作系统的引导磁盘,在执行完BIOS程序之后,加载操作系统的开机程序,再激活快速程序进行更新作业。但是,并非现今所有的操作系统都能够提供开机程序备份的功能。若无法使用操作系统的开机磁盘以执行快速程序,便无法进行BIOS的更新。
中国国家知识产权局于2002年9月25日公开的公开号为CN1371051A、名称为“计算机系统中的BIOS更新方法”的专利申请案,揭露了一种在计算机系统开机后于执行BIOS程序的阶段,通过一热键的触发便可直接执行BIOS的快速程序以完成BIOS更新的方法。该方法包括步骤:提供一BIOS内存,以记载一计算机程序用于激活计算机系统与组态设定,以及记载一快速程序用于再程序化BIOS内存;执行该计算机程序以激活计算机系统运作与组态设定;应一触发信号的产生而中断该计算机程序的执行而执行该快速程序;以及用记载一BIOS更新信息的数据结构再程序化该BIOS内存。经由快速程序的运作,BIOS更新信息的数据即被再程序化至BIOS内存中而完成BIOS的更新。
但不管以哪种方式进行BIOS更新,在更新过程中,都不可避免地会发生错误,例如会发生BIOS更新但未完成时,突然断电,而导致BIOS更新错误,造成系统无法开机。
因此有必要提供一种当系统BIOS无法正常开机时,也能进行更新BIOS的机制。
【发明内容】
针对先前技术的不足,本发明的目的在于提供一种BIOS更新系统,该系统利用串行端口上传BIOS更新程序进行BIOS更新。
本发明的另一目的在于提供一种BIOS更新方法,该更新方法利用串行端口上传BIOS更新程序进行BIOS更新。
为实现上述目的,本发明揭露一种BIOS更新系统,所述系统包括:一需要进行BIOS检测及更新的待测计算机及一对该待测计算机进行BIOS更新的一外部计算机。其中该待测计算机的BIOS程序中有一引导程序,其用于初始化串行端口,及接收特定字符串;外部计算机有一BIOS上传程序,其用于通过所述串行端口向上述引导程序传送特定字符串及向待测计算机内存传送BIOS更新程序及BIOS韧体。
所述特定字符串包括四个字符,第一个字符是ASCII 1,即控制字符SOH;其它三个字符分别是!、S、#。
所述引导程序还用于在BIOS更新程序被上传到待测计算机内存后,执行该BIOS更新程序进行BIOS更新。
所述BIOS韧体是一段程序,其在BIOS进行更新后,执行开机的动作。
本发明还揭露一种BIOS更新方法,该方法由外部计算机对待测计算机的BIOS程序进行更新。该方法包括下列步骤:(a)于待测计算机的BIOS程序中提供一引导程序(BOOT),该引导程序初始化待测计算机的串行端口;(b)于外部计算机提供一BIOS上传程序,该BIOS上传程序通过上述串行端口传送特定字符串给上述引导程序;(c)所述引导程序判断在一定时间内是否接收到上述特定字符串;(d)如果没有接收到上述特定字符串,则判断BIOS检查码是否等于零;(e)如果BIOS检查码不等于零,则所述引导程序接收特定字符串;(f)BIOS上传程序通过所述串行端口传送BIOS更新程序及BIOS韧体至待测计算机内存中;(g)引导程序执行上述BIOS更新程序,进行BIOS更新,再由BIOS韧体执行开机。
其中,所述特定字符串包括四个字符,第一个字符是ASCII 1,即控制字符SOH;第二个、第三个、第四个字符分别是!、S、#。
如果引导程序在一定时间内接收到所述特定字符,则系统强制进入串行回复模式,引导程序接收BIOS上传程序传送的BIOS更新程序及BIOS韧体至计算机系统内存。
所述BIOS检查码是指:读取BIOS区域,将该区域所有资料按每四个字节进行加总,并将所得各个加总值再进行相加得一检查码,如果该检查码等于零,则表明BIOS没有错误,程序直接从引导程序跳至BIOS程序,执行开机的工作。
通过本发明,可在BIOS更新错误,造成计算机系统无法开机时,无需从主板上拔取BIOS Flash ROM重新烧录程序,而利用串行端口上传BIOS更新程序来进行BIOS的更新。
【附图说明】
图1为本发明BIOS更新系统的硬件架构图。
图2为本发明BIOS更新方法流程图。
【具体实施方式】
参阅图1所示,为本发明BIOS更新系统的硬件架构图。该BIOS更新系统包括一待测计算机1及一外部计算机2,其中待测计算机1为一需要进行BIOS检测及更新的计算机,外部计算机2为一对该待测计算机1进行BIOS更新的计算机。
在待测计算机1中,在主板10上内建的待检测的BIOS程序11上有一引导程序(BOOT程序)12;在外部计算机2中,有一BIOS上传程序21。其中,所述BOOT程序12用于初始化串行端口13、并做接收特定字符串动作;所述BIOS上传程序用于通过该串行端口13上传特定字符串、BIOS更新程序及BIOS韧体。所述特定字符串在本实施例中总共有四个字符,第一个字符是ASCII 1,即控制字符SOH  其它三个字符分别是!、S、#。所述BIOS韧体是一段程序,其在BIOS进行更新后,执行开机的动作。
参阅图2所示,为本发明BIOS更新方法的流程图。首先,通过待测计算机1的引导程序(BOOT程序)12初始化串行端口13,准备接收特定字符串(步骤S20)。外部计算机2的BIOS上传程序21透过串行端口13传送特定字符串,所述特定字符串由四个字符组成,第一个字符是ASCII 1,即控制字符SOH,第二、三、四个字符分别是!、S、#(步骤S22)。此时引导程序(BOOT程序)12准备接收上述特定字符串,该引导程序判断在一定时间内,比如在5秒内引导程序12是否接收到上述特定字符串(步骤S24)。如果引导程序12在该一定时间内接收到上述特定字符串,则强制进入串行回复模式,准备接收BIOS更新程序及BIOS韧体,然后进入步骤S30(步骤S29);如果引导程序12在该一定时间内没有接收到上述特定字符串,则判断BIOS检查码是否为零,所谓检查码是指:读取BIOS区域,将该区域所有资料按每四个字节进行加总,并将所得各个加总值再进行相加得一检查码(步骤S26)。如果检查码为零,则表明BIOS区域是完好的,则程序直接从引导程序(BOOT)跳至BIOS进行开机的工作(步骤S32)。如果检查码不等于零,则表明BIOS是错误的,此时系统进行一些基本检查之后即进入等待特定字符串模式中(步骤S27)。然后引导程序12接收上述特定字符串(步骤S28),接收BIOS上传程序21上传的BIOS更新程序(executableprogram)及BIOS韧体(步骤S30)至待测计算机1的内存中。然后引导程序12执行该BIOS更新程序,进行BIOS更新,再由BIOS韧体进行开机(步骤S31)。
所述BIOS更新程序是微细模式(Tiny Mode),也就是资料(data)和代码(code)的存取都须在64k内。

Claims (10)

1.一种BIOS更新系统,其特征在于,该系统包括:一需要进行BIOS检测及更新的待测计算机及对该待测计算机进行BIOS更新的外部计算机;其中该待测计算机的BIOS程序中有一引导程序,其用于初始化串行端口及接收特定字符串;外部计算机有一BIOS上传程序,其用于通过所述串行端口向上述引导程序传送特定字符串及向待测计算机内存传送BIOS更新程序及BIOS韧体。
2.如权利要求1所述的BIOS更新系统,其特征在于,所述特定字符串包括四个字符,第一个字符是ASCII 1,即控制字符SOH,其它三个字符分别是!、S、#。
3.如权利要求1所述的BIOS更新系统,其特征在于,所述引导程序还用于在BIOS更新程序被上传到待测计算机的内存后,执行该BIOS更新程序进行BIOS更新。
4.如权利要求3所述的BIOS更新系统,其特征在于,所述BIOS韧体是一段程序,用于当BIOS更新后执行开机的动作。
5.如权利要求3所述的BIOS更新系统,其特征在于,所述BIOS更新程序是微细模式,即资料和代码的存取在64k内。
6.一种BIOS更新方法,其特征在于,该方法由外部计算机对待测计算机的BIOS程序进行更新,所述方法包括下列步骤:
于待测计算机的BIOS程序中提供一引导程序(BOOT),该引导程序初始化待测计算机的串行端口;
于外部计算机提供一BIOS上传程序,该BIOS上传程序通过上述串行端口传送特定字符串给上述引导程序;
所述引导程序判断在一定时间内是否接收到上述特定字符串;
如果在一定时间内引导程序接收到所述特定字符串,则系统强制进入串行回复模式;
如果在一定时间内没有接收到上述特定字符串,则判断待测计算机的BIOS检查码是否等于零;
如果BIOS检查码不等于零,则所述引导程序接收特定字符串;
所述BIOS上传程序通过所述串行端口传送BIOS更新程序及BIOS韧体至待测计算机的内存;
引导程序执行上述BIOS更新程序,进行BIOS更新。
7.如权利要求6所述的BIOS更新方法,其特征在于,该方法尚包括步骤:
如果BIOS检查码等于零,则从引导程序跳至BIOS程序,待测计算机开机。
8.如权利要求7所述的BIOS更新方法,其特征在于,该方法尚包括步骤:
BIOS更新完后,由BIOS韧体进行开机。
9.如权利要求7所述的BIOS更新方法,其特征在于,所述BIOS检查码是指:读取BIOS区域,将其每四个字节进行加总,然后再将所有的加总值相加后所得值。
10.如权利要求6所述的BIOS更新方法,其特征在于,所述特定字符串包括四个字符,第一个字符是ASCII 1,即控制字符SOH,其它三个字符分别是!、S、#。
CNB2004100772821A 2004-12-04 2004-12-04 Bios更新系统及方法 Expired - Fee Related CN100419678C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2004100772821A CN100419678C (zh) 2004-12-04 2004-12-04 Bios更新系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2004100772821A CN100419678C (zh) 2004-12-04 2004-12-04 Bios更新系统及方法

Publications (2)

Publication Number Publication Date
CN1782998A true CN1782998A (zh) 2006-06-07
CN100419678C CN100419678C (zh) 2008-09-17

Family

ID=36773232

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004100772821A Expired - Fee Related CN100419678C (zh) 2004-12-04 2004-12-04 Bios更新系统及方法

Country Status (1)

Country Link
CN (1) CN100419678C (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105867954A (zh) * 2015-01-22 2016-08-17 联想(北京)有限公司 一种系统数据更新方法、第一电子设备及系统
CN106873943A (zh) * 2017-01-12 2017-06-20 深圳市优必选科技有限公司 嵌入式系统的固件升级方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5960445A (en) * 1996-04-24 1999-09-28 Sony Corporation Information processor, method of updating a program and information processing system
US6438688B1 (en) * 1999-03-24 2002-08-20 Dell Usa, L.P. Method and computer for locally and remotely updating a basic input output system (BIOS) utilizing one update file
CN1178136C (zh) * 2000-11-30 2004-12-01 英业达股份有限公司 维护基本输入输出系统芯片内容的装置及其方法
CN1164989C (zh) * 2001-01-05 2004-09-01 神基科技股份有限公司 自行修复系统bios的方法
CN1180346C (zh) * 2001-02-20 2004-12-15 技嘉科技股份有限公司 在一计算机系统中的bios存储装置的自动安全恢复方法
TW594474B (en) * 2002-03-13 2004-06-21 Insyde Software Corp Upgrade method of BIOS in notebook computer
CN1529236A (zh) * 2003-10-13 2004-09-15 威盛电子股份有限公司 更新基本输入输出系统的方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105867954A (zh) * 2015-01-22 2016-08-17 联想(北京)有限公司 一种系统数据更新方法、第一电子设备及系统
CN105867954B (zh) * 2015-01-22 2020-01-31 联想(北京)有限公司 一种系统数据更新方法、第一电子设备及系统
CN106873943A (zh) * 2017-01-12 2017-06-20 深圳市优必选科技有限公司 嵌入式系统的固件升级方法
CN106873943B (zh) * 2017-01-12 2020-01-17 深圳市优必选科技有限公司 嵌入式系统的固件升级方法

Also Published As

Publication number Publication date
CN100419678C (zh) 2008-09-17

Similar Documents

Publication Publication Date Title
CN101477471B (zh) 一种嵌入式系统固件在线升级方法
CN1118750C (zh) 初始化和重新启动操作系统
US7313685B2 (en) Unattended BIOS recovery
US20020194313A1 (en) Method and apparatus for distributing computer platform firmware across a network
US8132055B2 (en) Operating system-firmware interface update recovery
US8060737B2 (en) Method and apparatus for preventing BIOS from failing to enter boot program
KR19990085351A (ko) 운영체제의 부팅방법
GB2436215A (en) Method for updating a system BIOS stored in NVRAM
CN103136002A (zh) 一种基于UBoot的自动升级的控制方法及系统
US8335891B2 (en) Method and system for configuring a storage array
US8176309B2 (en) Boot system has BIOS that reads rescue operating system from memory device via input/output chip based on detecting a temperature of a hard disk
KR100678974B1 (ko) 보안성과 사용자의 편의성을 고려한 컴퓨터 시스템의재부팅 방법 및 장치
CN114138527A (zh) 一种提高服务器性能的方法、装置及介质
CN100419678C (zh) Bios更新系统及方法
CN100533418C (zh) 用于修改版本标识寄存器的内容的方法和装置
CN1673959A (zh) 加载系统及方法
CN102591669B (zh) 模块化计算机固件及其实现方法
CN113507384A (zh) 一种设备工作模式切换的系统及方法
CN100511145C (zh) 更新系统管理基本输入输出系统数据的方法
CN102243601B (zh) 用来侦测及控制电脑主机状态的除错系统及其相关方法
CN115204081A (zh) 芯片仿真方法、平台和系统、计算机可读存储介质
CN102455919A (zh) 基本输入输出系统自动最佳化设定方法
CN111399871A (zh) 一种hba卡的系统更新方法、装置、设备及介质
CN102479131A (zh) 一种测试方法
CN100405321C (zh) 防止软件写入错误的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080917

Termination date: 20131204