[發(fā)明專利]一種校驗基本輸入輸出系統(tǒng)BIOS的方法及設(shè)備有效
| 申請?zhí)枺?/td> | 201310140989.1 | 申請日: | 2013-04-22 |
| 公開(公告)號: | CN103226505A | 公開(公告)日: | 2013-07-31 |
| 發(fā)明(設(shè)計)人: | 朱匯雄 | 申請(專利權(quán))人: | 華為技術(shù)有限公司 |
| 主分類號: | G06F11/22 | 分類號: | G06F11/22 |
| 代理公司: | 深圳中一專利商標(biāo)事務(wù)所 44237 | 代理人: | 張全文 |
| 地址: | 518129 廣東*** | 國省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 校驗 基本 輸入輸出 系統(tǒng) bios 方法 設(shè)備 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及計算機(jī)領(lǐng)域,尤其涉及到一種校驗基本輸入輸出系統(tǒng)BIOS的方法及設(shè)備。
背景技術(shù)
基本輸入輸出系統(tǒng)(Basic?Input?Output?System,BIOS)在啟動前,會先對自身的內(nèi)容進(jìn)行自檢,以確保能正確啟動。當(dāng)前計算機(jī)系統(tǒng)主流的BIOS使用電可擦除可編程只讀存儲器EEPROM、閃存FLASH等作為其固件的存儲器件。由于這些器件本身的可靠性不高,可能發(fā)生比特跳變、內(nèi)容損壞等,造成BIOS在啟動過程中自檢失敗,計算機(jī)系統(tǒng)無法啟動,為了防止計算機(jī)系統(tǒng)運(yùn)行過程中BIOS固件內(nèi)容意外發(fā)生故障,影響下次啟動,需要一種高效的在線檢測方法,及時發(fā)現(xiàn)這種故障,以便進(jìn)行修復(fù)。
現(xiàn)有技術(shù)中,當(dāng)系統(tǒng)啟動后,立刻讀取BIOS固件內(nèi)容并全拷貝一份保存。在線運(yùn)行過程中,周期性讀取BIOS固件的全部內(nèi)容,與拷貝內(nèi)容逐個字節(jié)比對。如果有差異,則可判斷BIOS內(nèi)容損壞?;蛘?,類似的,在系統(tǒng)啟動后,讀取BIOS內(nèi)容,為其計算初始校驗值,并保存該校驗值。在線運(yùn)行過程中,周期性的讀取BIOS固件的全部內(nèi)容,并計算它的校驗值,與初始校驗值比較。如果有差異,亦可判斷BIOS內(nèi)容損壞。由于如今BIOS文件大小已達(dá)到數(shù)兆字節(jié),且主流BIOS固件存儲的介質(zhì)一般為低速設(shè)備,因此這種比對需要進(jìn)行繁重的IO訪問與運(yùn)算,效率很低。此外,這種技術(shù)不是很可靠。因為它基于一種假設(shè),即系統(tǒng)啟動后,檢測程序第一次讀取到的BIOS內(nèi)容是完好的。如果在BIOS自檢之后,檢測程序還沒有讀取BIOS內(nèi)容之前,BIOS內(nèi)容發(fā)生了損壞,那么這種假設(shè)就不再成立。
另一種現(xiàn)有技術(shù)中,將BIOS內(nèi)容分為代碼區(qū)與配置數(shù)據(jù)區(qū)。代碼區(qū)保存的是BIOS程序內(nèi)容,是固定不變的,而配置數(shù)據(jù)區(qū)保存的是BIOS配置數(shù)據(jù),內(nèi)容可能改變,例如,用戶在BIOS設(shè)置菜單中進(jìn)行修改,即會引起配置數(shù)據(jù)變化。根據(jù)BIOS代碼區(qū)內(nèi)容固定不變的特點,與BIOS開發(fā)人員約定代碼區(qū)的地址范圍、校驗算法、校驗值,檢測程序在系統(tǒng)運(yùn)行過程中,在線讀取代碼區(qū)內(nèi)容,并根據(jù)約定的地址范圍、校驗算法、校驗值進(jìn)行校驗。由于BIOS版本更新,代碼區(qū)大小經(jīng)常發(fā)生變化,約定的地址范圍、校驗值需要經(jīng)常變更,因此檢測程序的通用性不好,需要經(jīng)常適應(yīng)BIOS版本變化,并且,這種檢測算法無法覆蓋配置數(shù)據(jù)區(qū)發(fā)生的異常。
發(fā)明內(nèi)容
本發(fā)明實施例提供了一種校驗BIOS的方法,旨在解決如何檢測BIOS中代碼區(qū)和數(shù)據(jù)區(qū)是否發(fā)生異常并如何跳過BIOS內(nèi)容中的空白區(qū)。
第一方面,一種校驗基本輸入輸出系統(tǒng)BIOS的方法,所述方法包括:
讀取預(yù)先設(shè)置的校驗啟發(fā)信息,并判斷所述校驗啟發(fā)信息是否正確;
當(dāng)判斷所述校驗啟發(fā)信息正確時,讀取每段代碼區(qū)的第一校驗值,并根據(jù)所述檢驗啟發(fā)信息中每段數(shù)據(jù)區(qū)的起始地址,讀取每段數(shù)據(jù)區(qū)內(nèi)容,根據(jù)所述每段數(shù)據(jù)區(qū)內(nèi)容計算每段數(shù)據(jù)區(qū)的第一校驗值;
存儲所述每段代碼區(qū)的起始地址和所述每段代碼區(qū)的第一校驗值、所述每段數(shù)據(jù)區(qū)的起始地址、每段數(shù)據(jù)區(qū)的第一校驗值;
根據(jù)存儲的所述每段代碼區(qū)的起始地址讀取每段代碼區(qū)內(nèi)容并計算每段代碼區(qū)的第二校驗值,根據(jù)存儲的所述每段數(shù)據(jù)區(qū)的起始地址讀取每段數(shù)據(jù)區(qū)內(nèi)容并計算每段數(shù)據(jù)區(qū)的第二校驗值;
比較所述每段代碼區(qū)的第一校驗值和所述每段代碼區(qū)的第二校驗值,當(dāng)所述每段代碼區(qū)的第一校驗值和所述每段代碼區(qū)的第二校驗值不相同時,則返回BIOS內(nèi)容損壞;比較所述每段數(shù)據(jù)區(qū)的第一校驗值和所述每段數(shù)據(jù)區(qū)的第二校驗值,當(dāng)所述每段數(shù)據(jù)區(qū)的第一校驗值和所述每段數(shù)據(jù)區(qū)的第二校驗值不相同時,則返回BIOS內(nèi)容損壞。
結(jié)合第一方面,在第一方面的第一種可能的實現(xiàn)方式中,所述讀取預(yù)先設(shè)置的校驗啟發(fā)信息,并判斷所述校驗啟發(fā)信息是否正確,包括:
在校驗啟發(fā)信息中設(shè)置唯一標(biāo)識GUID;
根據(jù)所述校驗啟發(fā)信息的長度讀取BIOS中的內(nèi)容;
根據(jù)校驗啟發(fā)信息預(yù)先設(shè)置的結(jié)構(gòu)讀取所述內(nèi)容的標(biāo)識符;
比較所述內(nèi)容的標(biāo)識符和所述唯一標(biāo)識是否相同;
當(dāng)所述內(nèi)容的標(biāo)識符和所述唯一標(biāo)識相同時,則計算所述內(nèi)容的校驗值;
判斷所述內(nèi)容的校驗值和所述校驗啟發(fā)信息中預(yù)先存儲的校驗值是否相同;
當(dāng)所述內(nèi)容的校驗值和所述校驗啟發(fā)信息中預(yù)先存儲的校驗值相同時,則判斷所述內(nèi)容是校驗啟發(fā)信息。
結(jié)合第一方面的第一種可能的實現(xiàn)方式,在第一方面的第二種可能的實現(xiàn)方式中,所述方法還包括:
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于華為技術(shù)有限公司,未經(jīng)華為技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310140989.1/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 上一篇:一種多功能充氣沙發(fā)
- 下一篇:一種組裝座椅
- 一種網(wǎng)絡(luò)驗證信息的方法和裝置
- 數(shù)據(jù)安全校驗方法、裝置及校驗設(shè)備
- XBRL實例文檔校驗方法以及系統(tǒng)
- 一次性可編程存儲裝置以及對其進(jìn)行數(shù)據(jù)校驗的方法
- 信息校驗方法及裝置
- 一種基于Java系統(tǒng)的數(shù)據(jù)校驗方法及系統(tǒng)
- 用于獨立冗余磁盤陣列的數(shù)據(jù)管理方法、設(shè)備和計算機(jī)程序產(chǎn)品
- 數(shù)據(jù)校驗方法及應(yīng)用系統(tǒng)
- 數(shù)據(jù)校驗方法、裝置、電子設(shè)備
- 一種業(yè)務(wù)數(shù)據(jù)校驗方法及裝置





