CN101866291A - 防止基本输入输出系统无法进入开机程序的方法与装置 - Google Patents

防止基本输入输出系统无法进入开机程序的方法与装置 Download PDF

Info

Publication number
CN101866291A
CN101866291A CN200910148865A CN200910148865A CN101866291A CN 101866291 A CN101866291 A CN 101866291A CN 200910148865 A CN200910148865 A CN 200910148865A CN 200910148865 A CN200910148865 A CN 200910148865A CN 101866291 A CN101866291 A CN 101866291A
Authority
CN
China
Prior art keywords
register
value
start address
preset value
bios
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
CN200910148865A
Other languages
English (en)
Other versions
CN101866291B (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.)
MICRO ONE ELECTRONICS (KUNSHAN) Inc
MSI Electronic Kunshan Co Ltd
Original Assignee
MICRO ONE ELECTRONICS (KUNSHAN) Inc
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 MICRO ONE ELECTRONICS (KUNSHAN) Inc filed Critical MICRO ONE ELECTRONICS (KUNSHAN) Inc
Publication of CN101866291A publication Critical patent/CN101866291A/zh
Application granted granted Critical
Publication of CN101866291B publication Critical patent/CN101866291B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1417Boot up procedures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本发明为一种防止BIOS无法进入开机程序的方法与装置,用以解决在计算机开机后CPU执行第一条指令时所执行的起始地址被错置为另一个对应起始位置进而导致BIOS无法进入开机程序的问题。本发明的方法于对应起始地址之处写入一跳转指令,让计算机发生起始地址错置时能够将执行指令跳回BIOS的启动块,进而进行正常的开机动作。此外,本发明还于BIOS程序中,加入检查会造成起始地址翻转为对应起始地址的寄存器,以在每次开机的过程中,能预先检查此寄存器的值并在错误时重写,以避免下次开机时再发生错误指向的问题。

Description

防止基本输入输出系统无法进入开机程序的方法与装置
技术领域
本发明是关于一种计算机基本输入输出系统(BIOS),特别是关于一种防止BIOS无法进入开机程序的方法与装置。
背景技术
BIOS为基本输入输出系统(Basic Input/Output System)的缩写,其为载入计算机硬件系统的程序中最基本的软件程序码,有以下的主要功能:进行开机自我测试:检查中央处理器(Central Processing Unit,CPU)及各控制器的状态是否正常;初始化:针对存储器、主机板芯片组、显示卡及各个外围设备做初始化动作;记录系统设定值:提供各系统元件的基本设定,如显示器、键盘、处理器、存储器等;提供常驻程序库:提供操作系统或应用程序调用的中断常驻程序;载入操作系统:从存储器载入操作系统到随机存取存储器(Random access memory,RAM)等等。
以上的基本功能让BIOS成为专门与硬件沟通的微型操作系统,其通常以相容于CPU的组合语言写成的。由于BIOS为计算机开机时先进行执行的微型操作系统程序,因此,其正常的运作成为计算机正常工作的第一道关卡。BIOS有两个主要的组成部分,即启动块(boot block)和主体BIOS。BIOS的基本开机流程请参考图1,包含以下的步骤:
步骤102:启动开机电源。
步骤104:CPU发送第一条指令,指向启动块地址。
步骤106:初始化芯片组。
步骤108:初始化基本元件。
步骤110:初始化存储器。
步骤112:检察BIOS校验及解压缩主体BIOS。
步骤114:执行系统自我检测(Power on self test,POST)。
步骤116:是否输入“清除功能键”,若有,则执行步骤118;若无,则跳至步骤122。
步骤118:解压缩互补金属氧化物半导体(Complementary Metal-Oxide-Semiconductor,CMOS)设置模块。
步骤120:执行CMOS设置。
步骤122:转移控制权至操作系统。
启动块是BIOS中一段特定的区域,它是不压缩的且存放于固定的地址空间,为计算机开机时首先执行的部分。它主要负责对计算机硬件做最基本、最简单的初始化,而后解压缩主体BIOS的其他模组,并一一执行。启动块包含有用于引导的最小指令集,开机时CPU指向存储BIOS程序的只读存储器(Read-Only Memory,ROM)空间的第一个地址就位于启动块。一旦启动块中资料被破坏或者丢失,都会造成BIOS无法引导开机,必须进行BIOS重置。
在实际生产以及客户使用过程中,会遇到启动块没有被破坏但仍然无法开机的问题,此时重置(Reset)BIOS没有效果,必须清除CMOS或者先拔掉电源再插上才可以正常开机。而在使用一段时间后,可能会随机出现同样的问题。对消费者而言,会认为是系统不稳定所造成,进而导致对计算机制造商的不满。
这种问题常见于使用英特尔(Intel)南桥芯片(如型号:ICH6、ICH7、ICH8、ICH9、ICH10等)的主机板上。在BIOS中的具体表现就在于:CPU读取的第一个BIOS只读存储器空间地址发生了变化。原先地址指向启动块,不过实际上却指向了另一个块中(一般为相邻的下一级块)。因为另一个块并不包含有开机的必备程序,因此,造成计算机无法开机的现象。
此种CPU上电第一条指令BIOS执行地址错误的原因,一般是由于南桥某一寄存器(以Intel的芯片为例,其为该寄存器中的起始置换位:Top Swap Bit,TSB)出现异常导致。一般来讲有三种解除错误方式:1.如果此寄存器由开机后产生的电压(如VCC3)供电,那么一般关机后此寄存器值会自动恢复,不影响下次开机。2.若寄存器由待机电压(如3VSB)供电,那么一旦寄存器值出错,除非拔掉电源,否则每次都无法开机。3.如果寄存器由主机板电池(Battery)供电,那么一旦TSB寄存器的值出错,除非拔掉小电池或用跳线清除CMOS资料,否则每次都无法开机。
原因1基本上不会对开机有任何影响,原因2、3会严重影响用户的使用。由于实际生产时发现,由于主机板上南桥寄存器随机出现异常,会导致CPU上电第一条指令执行地址错误造成BIOS无法引导开机,一旦发生,必须通过拔CMOS电池或者断开电源开关再开启的方法来使南桥寄存器恢复预设,给用户造成极大不便。
因此,有必要针对此种CPU上电第一条指令执行地址错误造成BIOS无法引导开机的状况进行处理,以免增加客诉,增加计算机的使用者不满。
发明内容
有鉴于以上习知技术的问题,本发明提出一种防止BIOS无法进入开机程序的方法,可达到有效防止CPU上电第一条指令执行地址错误造成BIOS无法引导开机的目的。
为达上述目的,本发明提供一种防止BIOS无法进入开机程序的方法,运用于计算机,其包含:中央处理器、南桥芯片与一存储器。其中,中央处理器具有于开机后执行的第一条指令。南桥芯片包含:起始地址寄存器,寄存一起始地址;及起始地址控制寄存器,用以控制该起始地址的值。存储器则包含:启动块,由该起始地址所指向,用以记录该BIOS的启动程序;及翻转对应块,由一对应起始地址所指向,该对应起始地址的值为该起始地址控制寄存器发生误置时的该起始地址寄存器的值。本发明的方法包含下列步骤:取得该翻转对应块的该对应起始地址;设定一跳转指令予该翻转对应块的该对应起始地址,该跳转指令将记录该起始地址以将执行地址指向该启动块;开启该计算机系统的一电源,该中央处理器执行该第一条指令;及当该中央处理器指向该翻转对应块的该对应起始地址,执行该跳转指令以执行该开机程序。
其中该起始地址控制寄存器发生误置,由该起始地址控制寄存器的一起始置换位(TSB)的预设值0被置为1时,导致该起始地址寄存器的该起始地址的值转变为该对应起始地址的值。
本发明还有一目的在于提供一种防止BIOS无法进入开机程序的方法,运用于计算机,其包含:中央处理器与南桥芯片。其中,中央处理器,具有于开机后执行的第一条指令;南桥芯片,则包含:起始地址寄存器,寄存一起始地址;及起始地址控制寄存器,具有一寄存值与一预设值,用以控制该起始地址的值。本发明的方法包含下列步骤:开启该计算机系统的一电源,该中央处理器执行该第一条指令;比较该起始地址控制寄存器的该寄存值与该预设值是否相等;当该寄存值等于该预设值时,继续执行该开机程序;及当该寄存值不等于该预设值时,置换该寄存值为该预设值。
本发明尚有一目的在于提供一种防止BIOS无法进入开机程序的方法,运用于计算机,其包含:中央处理器、南桥芯片。其中,中央处理器,具有于开机后执行的第一条指令。南桥芯片则包含:起始地址寄存器,寄存一起始地址;起始地址控制寄存器,具有一第一寄存值与一预设值,用以控制该起始地址的值;及起始地址锁定寄存器,用以存储一第二寄存值,用以锁定该起始地址控制寄存器的该第一寄存值为该预设值。本发明的方法包含下列步骤:开启电源以执行该第一条指令;比较该起始地址控制寄存器的该第一寄存值与该预设值是否相等;当该第一寄存值不等于该预设值时,置换该第一寄存值为该预设值;当该寄存值等于该预设值时,写入该起始地址锁定寄存器的值为启动锁定;及执行该开机程序。
本发明另有一目的在于提供一种防止BIOS无法进入开机程序的装置,运用于具有中央处理器与南桥芯片的计算机,其中:该南桥芯片包含:起始地址寄存器,寄存一起始地址;及起始地址控制寄存器,具有第一寄存值与预设值,用以控制该起始地址的值。本发明的装置包含BIOS存储器,该存储器包含执行以下步骤的程序:比较该起始地址控制寄存器的该第一寄存值与该预设值是否相等;当该第一寄存值等于该预设值时,继续执行该开机程序;及当该第一寄存值不等于该预设值时,置换该第一寄存值为该预设值。
以下在实施方式中详细叙述本发明的详细特征以及优点,其内容足以使任何本领域技术人员了解本发明的技术内容并据以实施,且根据本说明书所揭露的内容、权利要求及附图,任何本领域技术人员可轻易地理解本发明相关的目的及优点。
附图说明
图1为习知的BIOS程序启动流程图;
图2为本发明所运用的计算机系统功能框图;
图3为TSB异常导致南桥芯片的起始地址寄存器的值在BIOS上电后第一条指令后的错误示意图;
图4为本发明的防止BIOS无法进入开机程序的方法;
图5为本发明的防止BIOS无法进入开机程序的方法,写于BIOS程序中的TSB寄存器预设值检查程序第一具体实施例;及
图6为本发明的防止BIOS无法进入开机程序的方法,写于BIOS程序中的TSB寄存器预设值检查程序第二具体实施例。
主要元件符号说明:
11     CPU
11A    寄存器
12     北桥
13     南桥
13A    寄存器
13B    CMOS
14     显示卡
15     存储器
16     BIOS
18     I/O
19     I/O
20     I/O
210    起始地址寄存器
A0     第0位
A4     第四位
A8     第八位
A16    第十六位
A31    第三十一位
W0     第0半字节
W1     第一半字节
W2     第二半字节
W3     第三半字节
W4     第四半字节
W5     第五半字节
W6     第六半字节
W7     第七半字节
具体实施方式
首先,请参考图2,其为一般的计算机主机板10系统功能框图,其包含有CPU 11、北桥12、南桥13、显示卡14、存储器15、BIOS 16、I/O 18、I/O 19、I/O 20等等。其中,CPU 11经由高速运作的北桥12连接南桥13,在经由南桥13提取BIOS 16的程序。BIOS 16如前所提的那样,一般为ROM型态存储,也有采用闪存(Flash memory)的。而南桥13当中的寄存器13A则可由程序指令,并做各种控制的动作,并且,CMOS 13B一般为南桥13当中的静态随机存取存储器(SRAM)所构成,其可存储主机板的设定值。CPU11当中则有寄存器11A以供程序码的寄存以及运算值的寄存之用。
接着,请参考图3,其为TSB异常导致南桥芯片的寄存器在BIOS上电后第一条指令所指向的地址错误示意图。使用逻辑分析仪对发生问题的主机板BIOS进行开机逻辑分析,确认问题由Intel南桥寄存器的TSB出现异常变化引起。此寄存器的预设值为“0”,不过,在开关机过程中可能被随机置为“1”。
在正常的状况下,位于南桥芯片的起始地址寄存器210当中,记录了BIOS启动块的起始地址的值,也即FFFF_FFFFh。其中的第16位A16的预设值为“1”。当CPU上电的第一条指令通过南桥指向BIOS启动块的地址(FFFF_0000h---FFFF_FFFFh,其由第0半字节W0、第一半字节W1、第二半字节W2、第三半字节W3、第四半字节W4、第五半字节W5、第六半字节W6、第七半字节W7组成),南桥就会将此起始地址的值传给CPU,并指向BIOS的启动块。
一旦开机前,南桥芯片当中的起始地址控制寄存器中的TSB被置”1”时,起始地址寄存器210的第16位A16会被翻转为“0”。于是,当CPU上电第一条指令通过南桥指向BIOS  启动块的地址(FFFF_0000h---FFFF_FFFFh)时,因为A16被翻转为”0”,而让南桥提供给CPU的地址变为启动块的上一个翻转对应块的地址(FFFE_0000---FFFE_FFFFh),也即,起始地址寄存器210的值变为FFFE_FFFF,导致CPU收到了指向翻转对应块的地址值。而翻转对应块不含有开机所必需的数据,造成主机板无法开机。
由于确认此种开机时起始地址的值的错误是由TSB随机被置为“1”的所造成,因此,本发明针对此点进行系统的调整,以防止此种错误所造成的不能开机的情形。
请参考图4,其为本发明的防止BIOS无法进入开机程序的方法,所运用到的计算机系统基本包含有:CPU、BIOS存储器与南桥芯片。其中,BIOS存储器包含有启动块及翻转对应块,而南桥芯片则包含有起始地址寄存器与起始地址控制寄存器。其中起始地址寄存器的预设值为起始地址;起始地址控制寄存器则负责控制起始地址寄存器的值,其中的TSB即位于起始地址控制寄存器当中。而启动块则由起始地址所指向用以记录BIOS的启动程序;翻转对应块则由对应起始地址所指向,对应起始地址的值为起始地址控制寄存器发生误置之时该起始地址寄存器的存储值。图4的方法包含以下的步骤:
步骤310:取得翻转对应块的对应起始地址。其中,跳转指令是存储于翻转对应块的第一起始地址,而翻转对应块为事先可取得地址的块。翻转对应块为当南桥芯片中的TSB产生误置时CPU在开启电源后执行第一条指令所指向者,也即,前述的错误地址。
步骤320:设定跳转指令予翻转对应块的对应起始地址。其中,跳转指令是记录起始地址,以提供CPU起始地址的值,以进入BIOS启动块取得工作指令。
步骤330:开启计算机系统的电源以执行第一条指令。
步骤340:当第一条指令所取得的地址为指向翻转对应块的对应起始地址,执行跳转指令以执行开机程序。
如图3所示者,翻转对应块的地址为FFFE_0000---FFFE_FFFFh,其起源于TSB的误置,因此,可事先确认其地址。只要在翻转对应块的起始地址的内容,事先写上跳转指令,将跳转指令写为指向代表BIOS启动块的起始地址,即可在产生上电后CPU在执行BIOS的第一条指令的起始地址的值错误而产生问题时,将执行地址重新指向启动块的起始地址,即可正常执行BIOS的开机程序。除非发生BIOS的存储器发生破坏性的损坏情形,否则,只要是TSB所产生的第一条指令的地址错误指向的问题,均可通过图4的步骤均可解决的。
不过,图4的方法,是用于产生TSB异常误置时。而在正常的开机状况下,若是先增加一TSB寄存器预设值检查程序于BIOS,则可达到近一步的错误预防,以让下次的开机得以正常化,此为本发明所提供的第二道防线。
不过,在BIOS执行时,如果仅执行图4的跳转动作,BIOS本身尚无法得知发生地址翻转的现象,因此,图4的方法为预防随机的翻转现象产生时使用。此外,单独采用图4,仍可达到本发明的目的,不过,可能在造成地址翻转后,每次开机都指向错误的地址。图5的方法则在每次的BIOS程序执行时进行,以便在正确开机后将TSB的寄存值修改回为预设值“0”,防止下次开机时再发生地址错误指向的动作。
接下来,请参考图5,其为本发明的防止BIOS无法进入开机程序的方法中,写于BIOS程序中的TSB寄存器预设值检查程序,所运用到的计算机系统基本包含有:CPU、BIOS存储器与南桥芯片。其中,BIOS存储器包含有启动块及翻转对应块,而南桥芯片则包含有起始地址寄存器与起始地址控制寄存器。其中起始地址寄存器的预设值为起始地址;起始地址控制寄存器则负责控制起始地址寄存器的值,其中的TSB即位于起始地址控制寄存器当中。而启动块,则由起始地址所指向用以记录BIOS的启动程序;翻转对应块则由对应起始地址所指向,对应起始地址的值为起始地址控制寄存器发生误置之时该起始地址寄存器的存储值。图5的方法包含以下的步骤:
步骤410:启动开机电源。
步骤420:CPU发送第一条指令,指向启动块地址。也即,起始地址寄存器中的值,其预设值为起始地址。
步骤430:执行起始置换位检查程序;本步骤为于BIOS的开机程序中写入TSB检查程序,用以检查起始地址控制寄存器的寄存值,当寄存值与预设值不相等时,置换寄存值为预设值。TSB为起始地址控制寄存器的位,通过检查TSB即可确认起始地址寄存器的值是否改变。
步骤440:进入BIOS开机程序;即进行图1的步骤106,继续进行BIOS的开机动作。
其中,步骤430即为本发明所提供的插入程序,包含下列步骤:
步骤432:比较起始地址控制寄存器的寄存值与预设值。
步骤434:起始地址控制寄存器的寄存值为预设值?若寄存值等于预设值,则表示并未发生翻转的情形,则执行步骤440。
步骤436:重写起始地址控制寄存器为预设值。也即,将TSB的值由1重写为0。
步骤438:发送系统重置指令;重启后CPU读取的第一个BIOS只读存储器空间地址就可以恢复正常。
此外,本发明也可采用第三道防护措施,来进一步防范此种因起始置换位被翻转而导致的无法进入开机程序的问题。由于有部分的TSB被翻转的情形是在开机后,计算机正常运转的状况下发生,本发明图5的方法,通过BIOS进入开机程序前,先行检查TSB后进行修改的方法,并无法预防成功开机后TSB被翻转的问题。此种问题,可通过起始置换锁定位(Top swap Lock-down bit,TSLB)的设置来达成。TSLB为可进行设定的值,当其设为0时,其功能被禁止(Disable);当其设为1时,其可强制几个特定位的值维持不变,如BUC.TS(offset 3414h,bit 0)补偿位,GCS.BBS(offset 3410h,bit 11:10)补偿位等等,其中3414H Bit0即为TSB。
如果在开机时通过BIOS将TSLB由预设值0置为1的话,它会在开着机的情况下,避免TSB被改写。不过,由于TSLB是由VCC3供电的,因此只要一关闭电源,其值就会被自动清为0。于是,为了预防在开机后TSB被改写,本发明可加上此第三保护机制。
加上此机制的流程,请参考图6,图6为本发明的防止BIOS无法进入开机程序的方法,写于BIOS程序中的TSB寄存器预设值检查程序第二具体实施例,一种防止BIOS无法进入开机程序的方法,运用于计算机,其包含:CPU、BIOS存储器与南桥芯片。其中,BIOS存储器包含有启动块及翻转对应块,而南桥芯片则包含有起始地址寄存器、起始地址控制寄存器、起始地址锁定寄存器。其中起始地址寄存器的预设值为起始地址;起始地址控制寄存器则负责控制起始地址寄存器的值,其中的TSB即位于起始地址控制寄存器当中。而启动块,则由起始地址所指向用以记录BIOS的启动程序;翻转对应块则由对应起始地址所指向,对应起始地址的值为起始地址控制寄存器发生误置之时该起始地址寄存器的存储值。起始地址锁定寄存器,用以存储一第二寄存值,用以锁定该起始地址寄存器的该第一寄存值为该预设值。启动块,则由起始地址所指向,用以记录BIOS的程序。图6的方法包含下列步骤:
步骤510:启动开机电源。
步骤520:CPU发送第一条指令,指向启动块地址。也即,起始地址寄存器中的值,其预设值为起始地址。
步骤530:执行起始置换位检查程序;本步骤为于BIOS的开机程序中写入TSB检查程序,用以检查起始地址控制寄存器的寄存值,当寄存值与预设值不相等时,置换寄存值为预设值。TSB为起始地址控制寄存器的位,通过检查TSB即可确认起始地址控制寄存器的值是否改变。
步骤540:进入BIOS开机程序;即进行图1的步骤106,继续进行BIOS的开机动作。
其中,步骤530即为本发明所提供的插入程序,包含下列步骤:
步骤531:比较起始地址控制寄存器的寄存值与预设值。
步骤532:起始地址控制寄存器的寄存值为预设值?若寄存值等于预设值,则表示并未发生翻转的情形,则执行步骤535。
步骤533:重写起始地址控制寄存器为预设值。也即,将TSB的值由1重写为0。
步骤534:发送系统重置指令;重启后CPU读取的第一个BIOS的ROM空间地址就可以恢复正常。
步骤535:将起始地址锁定寄存器的值写为启动锁定,以防止开机后起始地址控制寄存器被误置。也即,起始地址锁定寄存器中的TSLB,当其被置为1时,即可达到锁定起始地址控制寄存器的值的目的。
通过图6的方法,BIOS本身可有两道防护措施来防止TSB随机被置为1的情形,其一为在CPU执行第一道指令后检查起始地址控制寄存器的值(也即,TSB的值);其二为进入开机程序前将起始地址锁定寄存器的TSLB置为1,以防止开机的过程中发生TSB被翻转的情形。然而,可能以上的两道防护措施都失效,这就需要图4的方法所述的第一道防护措施的运用了。
于是,运用本发明的方法,一旦南桥芯片当中的起始地址控制寄存器异常,开机时BIOS自动执行程序来使该寄存器恢复为预设值,用户不会看到主板无法工作的现象,也无需拔掉CMOS电池或断掉电源再开,降低客诉,减少维修成本。
此外,通过本发明的提出,不论是普通台式计算机,包括工业计算机、笔记型计算机、服务器等,只要发生类似CPU上电第一条指令BIOS执行地址错误的问题,都可通过本发明的方法进行解决。
以上本发明所提供的方法,是以解决Intel处理器的TSB所造成的BIOS无法进入开机程序的问题为实施例。对于本领域技术人员而言,当可运用本发明的方法来解决不同厂家芯片组出现的此类问题,也即,只要判断清楚CPU第一条指令执行地址的具体错误位置以及对应的控制寄存器,均可以用本发明的方法解决。
虽然本发明的技术内容已经以较佳实施例揭露如上,然而其并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神所作些许的更动与润饰,都应涵盖于本发明的范畴内,因此本发明的保护范围当视后附的权利要求所界定者为准。

Claims (18)

1.一种防止BIOS无法进入开机程序的方法,运用于计算机,其包含:
中央处理器,具有在开机后执行的一第一条指令;
南桥芯片,包含:
起始地址寄存器,寄存一起始地址;及
起始地址控制寄存器,用以控制该起始地址的值;
存储器,包含:
启动块,由该起始地址所指向,用以记录该BIOS的启动程序;及
翻转对应块,由一对应起始地址所指向,该对应起始地址的值为该起始地址控制寄存器发生误置时的该起始地址寄存器的值:
该方法包含下列步骤:
取得该翻转对应块的该对应起始地址;
设定一跳转指令予该翻转对应块的该对应起始地址,该跳转指令将记录该起始地址以将执行地址指向该启动块;
开启该计算机系统的一电源,该中央处理器执行该第一条指令;及
当该中央处理器指向该翻转对应块的该对应起始地址,执行该跳转指令以执行该开机程序。
2.如权利要求1所述的方法,其中该起始地址控制寄存器发生误置,是由该起始地址控制寄存器的一起始置换位TSB的预设值0被置为1时,导致该起始地址寄存器的该起始地址的值转变为该对应起始地址的值。
3.如权利要求2所述的方法,其中该南桥芯片选自英特尔ICH6、ICH7、ICH8、ICH9、ICH10所组成的群组其中之一。
4.一种防止BIOS无法进入开机程序的方法,运用于计算机,其包含:
中央处理器,具有在开机后执行的第一条指令;
南桥芯片,包含:
起始地址寄存器,寄存一起始地址;及
起始地址控制寄存器,具有一寄存值与一预设值,用以控制该起始地址的值;
该方法包含下列步骤:
开启该计算机系统的一电源,该中央处理器执行该第一条指令;
比较该起始地址控制寄存器的该寄存值与该预设值是否相等;
当该寄存值等于该预设值时,继续执行该开机程序;及
当该寄存值不等于该预设值时,置换该寄存值为该预设值。
5.如权利要求4所述的方法,还包含下列步骤:在置换该寄存值为该预设值后,进行系统重置。
6.如权利要求4所述的方法,其中该起始地址控制寄存器的该寄存值与该预设值的比较,是比较该起始地址控制寄存器的一起始置换位TSB的寄存值是否等于预设值0。
7.如权利要求6所述的方法,其中该南桥芯片是选自英特尔ICH6、ICH7、ICH8、ICH9、ICH10所组成的群组其中之一。
8.一种防止BIOS无法进入开机程序的方法,运用于计算机,其包含:
中央处理器,具有在开机后执行的一第一条指令;及
南桥芯片,包含:
起始地址寄存器,寄存一起始地址;
起始地址控制寄存器,具有一第一寄存值与一预设值,用以控制该起始地址的值;及
起始地址锁定寄存器,用以存储一第二寄存值,用以锁定该起始地址控制寄存器的该第一寄存值为该预设值;
该方法包含下列步骤:
开启电源以执行该第一条指令;
比较该起始地址控制寄存器的该第一寄存值与该预设值是否相等;
当该第一寄存值不等于该预设值时,置换该第一寄存值为该预设值;
当该寄存值等于该预设值时,写入该起始地址锁定寄存器的值为启动锁定;及
执行该开机程序。
9.如权利要求8所述的方法,还包含下列步骤:在置换该第一寄存值为该预设值后,进行系统重置。
10.如权利要求8所述的方法,其中该起始地址控制寄存器的该寄存值与该预设值的比较,是比较该起始地址控制寄存器的一起始置换位TSB的寄存值是否等于预设值0。
11.如权利要求10所述的方法,其中该起始地址锁定寄存器包含一起始置换锁定位TSLB,用以设定该起始置换位TSB的预设值0的锁定。
12.如权利要求10所述的方法,其中该南桥芯片是选自英特尔ICH6、ICH7、ICH8、ICH9、ICH10所组成的群组其中之一。
13.一种防止BIOS无法进入开机程序的装置,运用于具有中央处理器与南桥芯片的计算机,其中:
该南桥芯片包含:
起始地址寄存器,寄存一起始地址;及
起始地址控制寄存器,具有一第一寄存值与一预设值,用以控制该起始地址的值;
BIOS存储器,该存储器包含执行以下步骤的程序:
比较该起始地址控制寄存器的该第一寄存值与该预设值是否相等;
当该第一寄存值等于该预设值时,继续执行该开机程序;及
当该第一寄存值不等于该预设值时,置换该第一寄存值为该预设值。
14.如权利要求13所述的装置,该BIOS存储器中的该程序还包含下列步骤:在置换该第一寄存值为该预设值后,进行系统重置。
15.如权利要求13所述的装置,其中该起始地址控制寄存器的该第一寄存值与该预设值的比较,是比较该起始地址控制寄存器的一起始置换位TSB的寄存值是否等于预设值0。
16.如权利要求13所述的装置,其中该南桥芯片是选自英特尔ICH6、ICH7、ICH8、ICH9、ICH10所组成的群组其中之一。
17.如权利要求13所述的装置,其中,
该南桥芯片还包含:起始地址锁定寄存器,用以存储一第二寄存值,用以锁定该起始地址控制寄存器的该第一寄存值为该预设值;
且该BIOS程序的执行步骤,还包含下列步骤:
当比较的该第一寄存值等于该预设值时,写入该起始地址锁定寄存器的值为启动锁定;及
执行该开机程序。
18.如权利要求17所述的装置,其中该起始地址锁定寄存器包含一起始置换锁定位TSLB,用以设定该起始置换位TSB的预设值0的锁定。
CN200910148865.1A 2009-04-17 2009-06-08 防止基本输入输出系统无法进入开机程序的方法与装置 Active CN101866291B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/425,399 2009-04-17
US12/425,399 US8060737B2 (en) 2009-04-17 2009-04-17 Method and apparatus for preventing BIOS from failing to enter boot program

Publications (2)

Publication Number Publication Date
CN101866291A true CN101866291A (zh) 2010-10-20
CN101866291B CN101866291B (zh) 2016-05-25

Family

ID=42958028

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910148865.1A Active CN101866291B (zh) 2009-04-17 2009-06-08 防止基本输入输出系统无法进入开机程序的方法与装置

Country Status (3)

Country Link
US (1) US8060737B2 (zh)
CN (1) CN101866291B (zh)
TW (1) TWI357574B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102467427A (zh) * 2010-11-15 2012-05-23 英业达股份有限公司 进入基本输出输入系统设定的方法
CN103034511A (zh) * 2012-11-23 2013-04-10 华为技术有限公司 一种基本输入输出系统间的切换方法及装置
CN106502585A (zh) * 2016-10-13 2017-03-15 深圳Tcl数字技术有限公司 Nor Flash存储器存储内容保护方法及装置
CN109344005A (zh) * 2018-09-20 2019-02-15 浪潮电子信息产业股份有限公司 一种基本输入输出系统bios冗余备份方法和装置
CN110598384A (zh) * 2019-09-16 2019-12-20 Oppo(重庆)智能科技有限公司 信息保护方法、信息保护装置及移动终端
US11507282B2 (en) 2020-12-04 2022-11-22 Winbond Electronics Corp. Data processing system and method for reading instruction data of instruction from memory including a comparison stage for preventing execution of wrong instruction data

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3485663B1 (en) * 2016-07-18 2021-01-13 Telefonaktiebolaget LM Ericsson (PUBL) Remote provision of a subscriber entity
CN106919396A (zh) * 2017-03-01 2017-07-04 深圳华北工控股份有限公司 一种用于防止因TopSwap问题而CPU不开机的BIOS解决方法
CN109508270B (zh) * 2018-11-13 2022-02-18 郑州云海信息技术有限公司 一种bios寄存器查看测试方法及装置
TWI685791B (zh) * 2019-01-17 2020-02-21 神雲科技股份有限公司 產生bios變更紀錄的方法
TWI748698B (zh) * 2020-10-21 2021-12-01 新漢智能系統股份有限公司 主機板電池的電量偵測方法及電量偵測系統
EP4006718B1 (en) * 2020-11-30 2024-05-01 Carrier Corporation Failsafe update of bootloader firmware

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040078680A1 (en) * 2002-03-20 2004-04-22 Legend (Beijing) Limited Method for implementing data backup and recovery in computer hard disk
CN1716198A (zh) * 2004-07-01 2006-01-04 纬创资通股份有限公司 切换开机执行地址的方法与装置
CN101231608A (zh) * 2007-01-26 2008-07-30 佛山市顺德区顺达电脑厂有限公司 侦错装置及其方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5799186A (en) * 1990-12-20 1998-08-25 Eastman Kodak Company Method and apparatus for programming a peripheral processor with a serial output memory device
US5355498A (en) * 1992-02-25 1994-10-11 Sun Microsystems, Inc. Method and apparatus for booting a computer system without loading a device driver into memory
US5522076A (en) * 1993-05-13 1996-05-28 Kabushiki Kaisha Toshiba Computer system having BIOS (basic input/output system)-ROM (Read Only Memory) writing function
CN100451967C (zh) * 2007-02-14 2009-01-14 威盛电子股份有限公司 基本输入输出系统文件切换方法及可支持其切换的控制器

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040078680A1 (en) * 2002-03-20 2004-04-22 Legend (Beijing) Limited Method for implementing data backup and recovery in computer hard disk
CN1716198A (zh) * 2004-07-01 2006-01-04 纬创资通股份有限公司 切换开机执行地址的方法与装置
CN101231608A (zh) * 2007-01-26 2008-07-30 佛山市顺德区顺达电脑厂有限公司 侦错装置及其方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102467427A (zh) * 2010-11-15 2012-05-23 英业达股份有限公司 进入基本输出输入系统设定的方法
CN103034511A (zh) * 2012-11-23 2013-04-10 华为技术有限公司 一种基本输入输出系统间的切换方法及装置
CN103034511B (zh) * 2012-11-23 2016-02-24 华为技术有限公司 一种基本输入输出系统间的切换方法及装置
CN106502585A (zh) * 2016-10-13 2017-03-15 深圳Tcl数字技术有限公司 Nor Flash存储器存储内容保护方法及装置
CN109344005A (zh) * 2018-09-20 2019-02-15 浪潮电子信息产业股份有限公司 一种基本输入输出系统bios冗余备份方法和装置
CN109344005B (zh) * 2018-09-20 2022-03-22 浪潮电子信息产业股份有限公司 一种基本输入输出系统bios冗余备份方法和装置
CN110598384A (zh) * 2019-09-16 2019-12-20 Oppo(重庆)智能科技有限公司 信息保护方法、信息保护装置及移动终端
US11507282B2 (en) 2020-12-04 2022-11-22 Winbond Electronics Corp. Data processing system and method for reading instruction data of instruction from memory including a comparison stage for preventing execution of wrong instruction data

Also Published As

Publication number Publication date
US8060737B2 (en) 2011-11-15
CN101866291B (zh) 2016-05-25
US20100268926A1 (en) 2010-10-21
TW201039238A (en) 2010-11-01
TWI357574B (en) 2012-02-01

Similar Documents

Publication Publication Date Title
CN101866291A (zh) 防止基本输入输出系统无法进入开机程序的方法与装置
EP2002333B1 (en) Shared nonvolatile memory architecture
CN102236621B (zh) 计算机接口信息配置系统及方法
CN102053875B (zh) 恢复计算机系统的基本输入输出系统的方法及计算机系统
US20110225410A1 (en) Electronic device and booting up method
JPH02132520A (ja) マイクロプロセッサおよびその制御方法
US8060786B2 (en) Method for recovering basic input output system and computer device thereof
TW201011531A (en) Computer system and related method of logging BIOS update operation
US20050021933A1 (en) Method for booting computer system with memory card
CN106990985A (zh) 基于bmc更新及备份系统uefi固件的设备和方法
CN104424047A (zh) 一种nvram数据恢复方法和装置
US8255712B2 (en) Computing device and method for protecting a power button of the computing device
US20100205423A1 (en) Bios, computer device and method for recovering bios
US20120117308A1 (en) Data protection device and method thereof
CN111898132A (zh) 一种加快可信计算机主动度量速度的方法
CN103995717B (zh) 一种嵌入式设备软件升级的方法
CN1333357C (zh) 具有非易失性配置储存装置的内电路配置结构
CN100580627C (zh) 启动计算机系统的方法和设备
CN100428158C (zh) 快速初始化bios的方法与装置
CN110134545A (zh) 基于可信执行环境的提供虚拟nvram的方法及系统
CN102736908A (zh) 远程设置cmos参数的系统、装置及方法
CN114385430A (zh) 一种bios控制选项设置方法、装置和控制主板
CN100416502C (zh) 启动计算机系统的方法
CN103677875A (zh) 一种电子设备启动的方法、权限控制方法和电子设备
US20060155978A1 (en) Method for initialising programmable systems

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