CN101739269A - 计算机开机方法 - Google Patents

计算机开机方法 Download PDF

Info

Publication number
CN101739269A
CN101739269A CN200810181053A CN200810181053A CN101739269A CN 101739269 A CN101739269 A CN 101739269A CN 200810181053 A CN200810181053 A CN 200810181053A CN 200810181053 A CN200810181053 A CN 200810181053A CN 101739269 A CN101739269 A CN 101739269A
Authority
CN
China
Prior art keywords
code
restoring
restoring code
block
present
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.)
Pending
Application number
CN200810181053A
Other languages
English (en)
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.)
Inventec Corp
Original Assignee
Inventec Corp
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 Inventec Corp filed Critical Inventec Corp
Priority to CN200810181053A priority Critical patent/CN101739269A/zh
Publication of CN101739269A publication Critical patent/CN101739269A/zh
Pending legal-status Critical Current

Links

Images

Abstract

本发明涉及一种计算机开机方法,包含以下步骤:自计算机的一闪存的一第一启动区块读取并执行一第一还原码;检测闪存的一第二启动区块是否有一第二还原码;在第二启动区块有第二还原码时,自第二启动区块读取第二还原码;执行第二还原码;自闪存的一系统区块读取一目前系统码;执行目前系统码,并使计算机正常运作。

Description

计算机开机方法
技术领域
本发明涉及一种开机方法,且特别是有关于一种计算机开机方法(computer bootstrapping method)。
背景技术
一般而言,计算机在开机的时候,皆通过基本输入输出系统(BasicInput/Output System,BIOS)对计算机上的硬件初始化,并将计算机导入操作系统,而使计算机正常运作。BIOS的程序代码包含还原码(recovery code)以及系统码(system code)。其中,在系统码损毁时,还原码可通过已被还原码初始化的硬件装置,如光驱、外接硬盘或其它可读取外部数据的硬件装置,读取更新程序,而对系统码进行回复救援。因此,一般计算机会利用一些硬件保护机制,如将储存还原码的闪存区块预设为防写入(write protection),防止还原码遭到修改而产生系统损毁的危险。
随着计算机外设硬件装置不断地推陈出新,有时候也需要对还原码作更新,以使得还原码可对应到新型的硬件装置,或通过更新而对有问题的还原码作修正。因此,先前技术利用一些机制,使得储存还原码的闪存区块可在更新时解除防写入。然而,若对还原码更新失败,则会使得系统损毁。此外,还原码更新失败后,便无法利用还原码初始化硬件装置,以取得更新程序重新更新还原码。如此一来,仅能将更新失败的闪存送回原厂,并利用烧录的方式将还原码以及系统码还原至闪存。
发明内容
因此本发明的目的是提供一种计算机开机方法,将第一还原码预先烧录在设为防写入的第一启动区块,并在更新时,将第二还原码储存至设为可写入的第二启动区块。在开机的时候,先检测第二启动区块是否有第二还原码。在第二启动区块存有第二还原码时,执行第二还原码完成开机流程。然而,在第二启动区块没有第二还原码时,则继续执行第一还原码完成开机流程。
根据本发明一实施例,一种计算机开机方法包含以下步骤:自一计算机的一闪存的一第一启动区块读取并执行一第一还原码;检测闪存的一第二启动区块是否有一第二还原码;在第二启动区块有第二还原码时,自第二启动区块读取第二还原码;执行第二还原码;自闪存的一系统区块读取一目前系统码;执行目前系统码,并使计算机正常运作。
由上述本发明较佳实施例可知,应用本发明具有下列优点。可将储存原始还原码的闪存区块设为防写入,而避免原始还原码遭到修改。如此一来,在系统码或新版的还原码损毁时,仍可通过原始还原码所初始化的硬件装置作更新或系统回复救援,而不需将闪存送回原厂利用烧录而回复还原码以及系统码。此外,仅需增加储存新版还原码所需的闪存容量,而不需变更硬件线路设计,因而可轻易的应用于现有的硬件架构上。
附图说明
为让本发明的上述和其它目的、特征、优点与实施例能更明显易懂,附图的详细说明如下:
图1是依照本发明一实施例的开机方法的流程图;
图2是图1中更新第二还原码以及目前系统码(步骤220)的一实施例。
【主要元件符号说明】
100:开机方法
110~230:步骤
具体实施方式
参照图1,其是依照本发明一实施例的开机方法的流程图。计算机开机方法将第一还原码预先烧录在设为防写入的第一启动区块,并在更新时,将第二还原码储存至设为可写入的第二启动区块。在计算机开机的时候,先检测第二启动区块是否有第二还原码。在第二启动区块存有第二还原码时,执行第二还原码完成开机流程。然而,在第二启动区块没有第二还原码时,则继续执行第一还原码完成开机流程。开机方法100包含以下步骤:
在步骤110中,自计算机的一闪存的一第一启动区块读取并执行一第一还原码。其中,将第一启动区块设为防写入,以避免存在第一启动区块的第一还原码遭到修改,而产生系统损毁的危险。
在步骤120中,检测闪存的一第二启动区块是否有一第二还原码。其中,检测第二启动区块是否有第二还原码是通过第一还原码的一检测程序所完成。
在第二启动区块有第二还原码时,自第二启动区块读取第二还原码(步骤130),并执行第二还原码(步骤160)。然而,在第二启动区块没有第二还原码时,则在执行完检测程序后,继续执行第一还原码(步骤140)。
在执行第二还原码(步骤160)前,可先行检测第二还原码是否有错误(步骤150)。其中,检测第二还原码是否有错误(步骤150)可通过核对和(checksum)或其它侦错方法来完成。然后,在第二还原码没有错误时,才执行第二还原码(步骤160)。在第二还原码有错误时,通过更新第二还原码以及目前系统码(步骤220),以进行系统回复救援。其中,一般系统码会与还原码的版本产生兼容性的问题。因此,在更新时,需同时更新第二还原码以及目前系统码(步骤220)。接下来,在更新完成后,使计算机重新开机(步骤230),而使计算机可通过更新后的还原码以及系统码开机。
在步骤170中,自闪存的一系统区块读取一目前系统码。然后,在步骤190中,执行目前系统码,以完成正常开机流程。接下来,在步骤200中,即可使计算机正常运作。
在执行目前系统码(步骤190)前,可检测目前系统码是否有错误(步骤180)。其中,检测目前系统码是否有错误(步骤180)可通过核对和(checksum)或其它侦错方法来完成。然后,在目前系统码没有错误时,才执行目前系统码(步骤190)。在目前系统码有错误时,通过更新第二还原码以及目前系统码(步骤220),以进行系统回复救援。
此外,在计算机正常运作的过程中,可检测是否收到更新第二还原码以及目前系统码的要求(步骤210)。在收到更新第二还原码以及目前系统码的要求后,对第二还原码以及目前系统码作更新(步骤220)。在没有收到更新第二还原码以及目前系统码的要求时,则使计算机继续正常运作(步骤200)。
参照图2,是图1中更新第二还原码以及目前系统码(步骤220)的一实施例。更新第二还原码以及目前系统码(步骤220)包含以下步骤:
在步骤221中,读取一更新还原码以及一更新系统码。其中,更新还原码的版本是对应于更新系统码。更新还原码以及更新系统码是通过第一还原码所初始化的硬件装置,如光驱、外接硬盘或其它硬件装置,所读取。
接下来,将更新还原码更新至第二启动区(步骤223),并将更新系统码更新至系统区块(步骤224)。如此一来,即可通过第一还原码所初始化的硬件读取更新还原码以及更新系统码,以更新第二启动区块。
此外,在将更新还原码更新至第二启动区(步骤223)前,可比对更新还原码的版本与第一还原码的版本是否相同(步骤222)。在更新还原码的版本与第一还原码的版本不同时,将更新还原码更新至第二启动区(步骤223)。然而,在更新还原码的版本与第一还原码的版本相同时,清空第二启动区块(步骤224)。如此一来,仅需在更新还原码的版本与第一还原码的版本不同时,将更新还原码更新至第二启动区。
由上述本发明较佳实施例可知,应用本发明具有下列优点。可将储存原始还原码的闪存区块设为防写入,而避免原始还原码遭到修改。如此一来,在系统码或新版的还原码损毁时,仍可通过原始还原码所初始化的硬件装置作更新或系统回复救援,而不需将闪存送回原厂利用烧录而回复还原码以及系统码。此外,仅需增加储存新版还原码所需的闪存容量,而不需变更硬件线路设计,因而可轻易的应用于现有的硬件架构上。
虽然本发明已以一实施例揭露如上,然其并非用以限定本发明,任何熟悉此技术的人员,在不脱离本发明的精神和范围内,当可作各种的更动与润饰,因此本发明的保护范围当视所附的权利要求书所界定的范围为准。

Claims (10)

1.一种计算机开机方法,其特征在于,包含:
自一计算机的一闪存的一第一启动区块读取并执行一第一还原码;
检测该闪存的一第二启动区块是否有一第二还原码;
在该第二启动区块有该第二还原码时,自第二启动区块读取该第二还原码;
执行该第二还原码;
自该闪存的一系统区块读取一目前系统码;以及
执行该目前系统码,并使该计算机正常运作。
2.根据权利要求1所述的计算机开机方法,其特征在于,还包含:
检测是否收到更新该第二还原码以及该目前系统码的要求;以及
在收到更新该第二还原码以及该目前系统码的要求后,更新该第二还原码以及该目前系统码。
3.根据权利要求1所述的计算机开机方法,其特征在于,还包含:
在执行该第二还原码前,检测该第二还原码是否有错误;以及
在该第二还原码有错误时,更新该第二还原码以及该目前系统码。
4.根据权利要求1所述的计算机开机方法,其特征在于,还包含:
在执行该目前系统码前,检测该目前系统码是否有错误;以及
在该目前系统码有错误时,更新该第二还原码以及该目前系统码。
5.根据权利要求2、3或4所述的计算机开机方法,其特征在于,更新该第二还原码以及该目前系统码的步骤包含:
读取一更新还原码以及一更新系统码;以及
将该更新还原码更新至该第二启动区块,并将该更新系统码更新至该系统区块。
6.根据权利要求2、3或4所述的计算机开机方法,其特征在于,更新该第二还原码以及该目前系统码的步骤包含:
比对该更新还原码的版本与该第一还原码的版本是否相同;以及
在该更新还原码的版本与该第一还原码的版本不同时,将该更新还原码更新至该第二启动区块;
在该更新还原码的版本与该第一还原码的版本相同时,清空该第二启动区块;以及
将该更新系统码更新至该系统区块。
7.根据权利要求2、3或4所述的计算机开机方法,其特征在于,还包含:
在更新该第二还原码以及该目前系统码后,令该计算机重新启动。
8.根据权利要求1所述的计算机开机方法,其特征在于,检测该第二启动区块是否有该第二还原码是通过执行该第一还原码的一检测程序所完成。
9.根据权利要求8所述的计算机开机方法,其特征在于,还包含:
在该第二启动区块没有该第二还原码时,则在执行完该检测程序后,继续执行该第一还原码。
10.根据权利要求1所述的计算机开机方法,其特征在于,该第一启动区块为防写入区块。
CN200810181053A 2008-11-20 2008-11-20 计算机开机方法 Pending CN101739269A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200810181053A CN101739269A (zh) 2008-11-20 2008-11-20 计算机开机方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200810181053A CN101739269A (zh) 2008-11-20 2008-11-20 计算机开机方法

Publications (1)

Publication Number Publication Date
CN101739269A true CN101739269A (zh) 2010-06-16

Family

ID=42462795

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200810181053A Pending CN101739269A (zh) 2008-11-20 2008-11-20 计算机开机方法

Country Status (1)

Country Link
CN (1) CN101739269A (zh)

Similar Documents

Publication Publication Date Title
US8423991B2 (en) Embedded network device and firmware upgrading method
TWI382346B (zh) 保護雙基本輸出入系統程式之電腦系統及其控制方法
US8468389B2 (en) Firmware recovery system and method of baseboard management controller of computing device
KR101856284B1 (ko) 장치의 초기화 동안 펌웨어의 백업
CN102722394B (zh) 一种嵌入式设备的启动升级方法
TW201520895A (zh) Bios自動恢復系統及方法
CN103150231A (zh) 计算机开机的方法与计算机系统
US20090271660A1 (en) Motherboard, a method for recovering the bios thereof and a method for booting a computer
CN101373451B (zh) 保护双基本输出入系统程序的计算机系统及其控制方法
US20100049961A1 (en) Update method for basic input/output system and update system thereof
CN113254048B (zh) 引导程序更新方法、装置、设备及计算机可读介质
CN108345464A (zh) 一种安卓系统的启动方法及安卓车机
CN104424047A (zh) 一种nvram数据恢复方法和装置
CN102279757A (zh) 一种系统程序启动的方法及装置
TWI515557B (zh) 電腦系統與控制方法
CN101515236B (zh) 基本输入输出系统的恢复方法及其更新模组与电脑系统
CN104657232A (zh) Bios自动恢复系统及方法
CN101923500A (zh) 一种嵌入式设备中引导程序备份及更新的方法及装置
TWI764454B (zh) 韌體損壞恢復技術
CN110908722B (zh) 应用于操作系统启动的方法、装置、电子设备及存储介质
CN102184115B (zh) 升级系统软件的方法及终端设备
US11354109B1 (en) Firmware updates using updated firmware files in a dedicated firmware volume
CN101727333A (zh) 微处理器中固件更新的方法及固件更新系统
CN106611124B (zh) 计算机装置及其开机方法
CN115033296A (zh) 一种基于UEFI和Linux的国产操作系统启动方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20100616