專利名稱:基本輸入輸出系統(tǒng)信息的獲取及編輯方法及系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及計算機基本輸入輸出系統(tǒng)(Basic Input Output System,BIOS)的信息管理,特別是涉及一種獲取及編輯基本輸入輸出系統(tǒng)信息的方法和系統(tǒng)。
背景技術:
計算機上的一些重要信息諸如計算機廠商信息,產品標識以及資產卷標等燒錄在多層印刷板的芯片上,一般而言,用戶通過廠商提供的系統(tǒng)基本輸入輸出系統(tǒng)來獲取或者設置。此外,燒錄在只讀存儲器(Read Only Memory,ROM)芯片上的關于自診斷測試程序、系統(tǒng)自舉裝入程序、系統(tǒng)設置程序和主要(I/O)設備的輸入/輸出驅動程序及中斷服務程序等基本輸入輸出系統(tǒng)信息,為計算機提供最低級的、最直接的硬件控制,以確保操作代碼運行之前所有的計算機電路為可用的?;据斎胼敵鱿到y(tǒng)屬于主機板的一部分,因此有時就稱呼其為固件(Firmware)。
通常,關于獲取、編輯及測試基本輸入輸出系統(tǒng)信息的情況有1.讀取或編輯例如資產標簽、產品標識等服務器信息組中的信息作為產品屬性標識;2.測試系統(tǒng)管理基本輸入輸出系統(tǒng)(System Management BIOS,SMBIO)功能以及測試非易失性隨機存儲器(Nonvolatile Random Access Memory,NVRAM)的好壞;3.獲取或修改燒錄在基本輸入輸出系統(tǒng)只讀存儲器(BIOS ROM)中的程序。當前獲取和編輯上述基本輸入輸出系統(tǒng)內容采用的主要方法是通過磁盤操作系統(tǒng)(Disk Operating System,Dos)環(huán)境下的基本輸入輸出系統(tǒng)中斷調用服務得以實現(xiàn),可是此方法存在以下缺點1.目前在Linux/Windows系統(tǒng)下無法直接修改服務器的基本輸入輸出系統(tǒng)信息,用戶若打算修改則必需重新啟動系統(tǒng),以進入基本輸入輸出系統(tǒng)中執(zhí)行修改,然后再重啟系統(tǒng)回到Linux/Windows中。如果發(fā)現(xiàn)所修改的值并非期望值,或者要對新值進行修改,則需重復上述過程,每修改一次數(shù)據(jù)均需重啟至少兩次系統(tǒng)。因此,對用戶而言,上述操作不僅繁瑣且耗費時間;2.由于Linux系統(tǒng)并非實模式,不支持基本輸入輸出系統(tǒng)中斷調用服務,無法將采用這種方法的程序移植到Linux下。此外,此方法在Windows系統(tǒng)下也不可行。即,不能實現(xiàn)多平臺操作系統(tǒng)的基本輸入輸出系統(tǒng)內容獲取和編輯;3.假如通過端口方式實現(xiàn)在Linux/Windows系統(tǒng)下對基本輸入輸出系統(tǒng)內容的獲取和編輯,但是可能會導致Linux/Windows與Dos環(huán)境下程序實現(xiàn)方法的不統(tǒng)一,且不易維護,進而導致基本輸入輸出系統(tǒng)數(shù)據(jù)區(qū)中某些重要信息被清空的嚴重后果;4.傳統(tǒng)方法過于依賴硬件和基本輸入輸出系統(tǒng),一旦對硬件和基本輸入輸出系統(tǒng)進行升級,則很可能出現(xiàn)原有程序需要重新維護的情況,并且具體的中斷操作方法需由基本輸入輸出系統(tǒng)廠商提供,從而給用戶造成一定的不便;5.無論是基本輸入輸出系統(tǒng)中斷調用還是端口操作,編程接口均較復雜且不易維護;6.在Dos下實現(xiàn)基本輸入輸出系統(tǒng)中斷服務程序,用戶需知道所修改的基本輸入輸出系統(tǒng)數(shù)據(jù)段,修改所應當使用的中斷服務的類型及其功能號/子功能號,以及相應AX/CX/SI/DI等寄存器的使用。基本輸入輸出系統(tǒng)接口復雜,非專業(yè)人員很難全面掌握其設置方法;7.如果編程出現(xiàn)失誤,當誤操作時很容易造成重要的基本輸入輸出系統(tǒng)信息丟失,進而給系統(tǒng)帶來不可預料的損壞。同時,即使很小的失誤也會給程序的調試工作帶來很大的困難和不便;8.目前不存在專門針對基本輸入輸出系統(tǒng)映像至系統(tǒng)非易失性隨機存儲器區(qū)域的測試項,由于系統(tǒng)非易失性隨機存儲器區(qū)域非常重要,能進而直接影響到服務器基本輸入輸出系統(tǒng)信息儲存的完整性及安全性。
發(fā)明內容
本發(fā)明的目的在于提供一種基本輸入輸出系統(tǒng)信息的獲取及編輯方法及系統(tǒng),來解決公知技術所存在的限制或缺點,在無需重啟當前運行的操作系統(tǒng)的狀態(tài)下,直接對基本輸入輸出系統(tǒng)信息進行獲取與編輯,實現(xiàn)基本輸入輸出系統(tǒng)處理的簡單化、快捷化及人性化。
為了實現(xiàn)上述目的,本發(fā)明提供一種基本輸入輸出系統(tǒng)信息的獲取及編輯方法,包括以下步驟映像基本輸入輸出系統(tǒng)信息至一系統(tǒng)非易失性隨機存儲器區(qū)域中;讀取系統(tǒng)非易失性隨機存儲器區(qū)域的映像內容并儲存為一第一文檔;依據(jù)基本輸入輸出系統(tǒng)的修改信息修改第一文件,并生成一第二文檔;將第二文件的內容恢復至系統(tǒng)非易失性隨機存儲器區(qū)域的相應位置;以及映像系統(tǒng)非易失性隨機存儲器區(qū)域的相應位置內容至基本輸入輸出系統(tǒng)中,來編輯基本輸入輸出系統(tǒng)信息。
此外,本發(fā)明的基本輸入輸出系統(tǒng)信息的獲取及編輯方法在不同操作系統(tǒng)下調用不同的底層驅動程序來對系統(tǒng)非易失性隨機存儲器區(qū)域的內容進行讀取。
為了實現(xiàn)上述目的,本發(fā)明提供了一種基本輸入輸出系統(tǒng)信息的獲取及編輯系統(tǒng),包括有映像模塊、備份模塊、編輯模塊以及恢復模塊,其中映像模塊用來在基本輸入輸出系統(tǒng)與系統(tǒng)非易失性隨機存儲器區(qū)域間進行信息的雙向映像,備份模塊用來讀取系統(tǒng)非易失性隨機存儲器區(qū)域的內容并儲存為一第一文件,編輯模塊用來依據(jù)基本輸入輸出系統(tǒng)的修改信息修改第一文件,并生成一第二文件,恢復模塊則用來將第二文件的內容恢復至系統(tǒng)非易失性隨機存儲器區(qū)域的相應位置。
本發(fā)明的基本輸入輸出系統(tǒng)信息的獲取及編輯系統(tǒng),其中編輯模塊還包括有一信息搜索模塊,一循環(huán)冗余碼校驗模塊,一信息重組模塊,以及一非易失性隨機存儲器文件編輯模塊。信息搜索模塊用來讀取第一文檔的內容并進行分析,進而獲取基本輸入輸出系統(tǒng)各數(shù)據(jù)段所對應的信息,來生成數(shù)個信息組;循環(huán)冗余碼校驗模塊用來依據(jù)當前基本輸入輸出系統(tǒng)信息還原其循環(huán)冗余碼的原始值,以及依據(jù)基本輸入輸出系統(tǒng)的修改信息產生一新循環(huán)冗余碼值;信息重組模塊用來依據(jù)基本輸入輸出系統(tǒng)的修改信息檢索信息搜索模塊的數(shù)個信息組,并替換信息組中相應信息;非易失性隨機存儲器文件編輯模塊用來借助第一文件、信息組信息以及新循環(huán)冗余碼值生成第二文檔。
本發(fā)明通過將基本輸入輸出系統(tǒng)信息映像系統(tǒng)非易失性隨機存儲器區(qū)域,以及將系統(tǒng)非易失性隨機存儲器區(qū)域相應基本輸入輸出系統(tǒng)信息轉換為文件形式,并對文檔進行修改編輯,進而達到間接修改基本輸入輸出系統(tǒng)信息的目的。和公知技術相比,本發(fā)明可保證對基本輸入輸出系統(tǒng)的間接修改不會造成系統(tǒng)意外停機。
此外,通過調用不同的底層驅動程序讀取系統(tǒng)非易失性隨機存儲器區(qū)域的內容,本發(fā)明實現(xiàn)了Dos/Windows/Linux操作系統(tǒng)下編程方法的統(tǒng)一,可在不同操作系統(tǒng)下對系統(tǒng)非易失性隨機存儲器區(qū)域數(shù)據(jù)內容進行讀取,進而可實現(xiàn)多平臺下對基本輸入輸出系統(tǒng)信息的獲取、編輯及測試。通過在不同系統(tǒng)下基本輸入輸出系統(tǒng)信息的獲取/編輯,進而達到測試基本輸入輸出系統(tǒng)映像到系統(tǒng)非易失性隨機存儲器區(qū)域的目的。此方法可確保不影響基本輸入輸出系統(tǒng)中的信息,不添加多余測試項,且在不給系統(tǒng)帶來影響的前提下實現(xiàn)對系統(tǒng)非易失性隨機存儲器的全面測試。
通過采用自動循環(huán)冗余碼(Cyclic Redundancy Code,CRC)校驗確保了系統(tǒng)基本輸入輸出系統(tǒng)信息的安全儲存,避免了因誤操作所導致的系統(tǒng)基本輸入輸出系統(tǒng)信息清空。此外,通過提供基本輸入輸出系統(tǒng)信息的備份/恢復/對比功能,用戶可通過簡單操作來實現(xiàn)對不同版本基本輸入輸出系統(tǒng)信息的備份/恢復/對比。
綜上所述,本發(fā)明可實現(xiàn)多平臺下對基本輸入輸出系統(tǒng)信息的獲取、測試及編輯。本發(fā)明還可為用戶提供簡單的函數(shù)接口,用戶無需了解自己需要修改的內容,只要通過簡單的步驟修改為想要的基本輸入輸出系統(tǒng)值即可,并且避免了信息由于硬件和基本輸入輸出系統(tǒng)改動而受到影響。
以下結合附圖和具體實施例對本發(fā)明進行詳細描述,但不作為對本發(fā)明的限定。
圖1為本發(fā)明基本輸入輸出系統(tǒng)信息的獲取及編輯系統(tǒng)方塊圖;圖2為本發(fā)明基本輸入輸出系統(tǒng)信息的獲取及編輯系統(tǒng)的編輯模塊工作架構圖;圖3為本發(fā)明基本輸入輸出系統(tǒng)信息的獲取及編輯系統(tǒng)實施例的信息設置示意圖;圖4為本發(fā)明基本輸入輸出系統(tǒng)信息的獲取及編輯系統(tǒng)實施例的信息組示意圖;圖5為本發(fā)明基本輸入輸出系統(tǒng)信息的獲取及編輯系統(tǒng)實施例的第一文檔示意圖;圖6為本發(fā)明基本輸入輸出系統(tǒng)信息的獲取及編輯系統(tǒng)實施例的第二文檔示意圖;圖7為本發(fā)明基本輸入輸出系統(tǒng)信息的獲取及編輯方法部分流程圖;
圖8為本發(fā)明基本輸入輸出系統(tǒng)信息的獲取及編輯方法部分流程圖;以及圖9為本發(fā)明基本輸入輸出系統(tǒng)信息的獲取及編輯方法的恢復步驟流程圖。
其中,附圖標記10 基本輸入輸出系統(tǒng)信息的獲取及編輯系統(tǒng)12 計算機主機板 14 映像模塊16 系統(tǒng)NVRAM區(qū)域18 備份模塊20 備份文檔 24 新文檔26 恢復模塊 28 編輯模塊30 信息搜索模塊 32 CRC校驗模塊34 信息重組模塊 36 NVRAM文檔編輯模塊38 對比模塊 50 字符區(qū)域52 字符區(qū)域 54 字符區(qū)域56 字符區(qū)域 58 字符區(qū)域60 字符區(qū)域 62 字符區(qū)域64 字符區(qū)域步驟101 映像基本輸入輸出系統(tǒng)信息至系統(tǒng)非易失性隨機存儲器區(qū)域中步驟102 讀取系統(tǒng)非易失性隨機存儲器區(qū)域的映像內容并儲存為一第一文檔步驟103 讀取第一文檔的內容并進行分析,進而獲取基本輸入輸出系統(tǒng)各數(shù)據(jù)段所對應的信息,生成數(shù)個信息組步驟104 依據(jù)當前基本輸入輸出系統(tǒng)信息還原其循環(huán)冗余碼的原始值步驟105 依據(jù)用戶輸入的基本輸入輸出系統(tǒng)修改信息檢索數(shù)個信息組并替換信息組中相應信息步驟106 依據(jù)當前信息組信息得到一新循環(huán)冗余碼值步驟107 借助第一文件、信息組信息以及新循環(huán)冗余碼值生成一第二文檔步驟108 將第二文件的內容恢復至系統(tǒng)非易失性隨機存儲器區(qū)域的相應位置步驟109 映像系統(tǒng)非易失性隨機存儲器區(qū)域的相應位置內容至基本輸入輸出系統(tǒng)中步驟201 打開系統(tǒng)非易失性隨機存儲器的可寫權限步驟202 將第二文檔內容整塊寫回系統(tǒng)非易失性隨機存儲器區(qū)域步驟203 讀取系統(tǒng)非易失性隨機存儲器區(qū)域中數(shù)據(jù),驗證讀寫正確性步驟204 關閉系統(tǒng)非易失性隨機存儲器的可寫權限,來保護基本輸入輸出系統(tǒng)中信息具體實施方式
為了更清楚的了解本發(fā)明的基本輸入輸出系統(tǒng)信息的獲取及編輯系統(tǒng)的構架及工作原理,下面請參考圖1和圖2。圖1為本發(fā)明的基本輸入輸出系統(tǒng)信息的獲取及編輯系統(tǒng)方塊圖,如圖所示,將本發(fā)明所公開的基本輸入輸出系統(tǒng)信息的獲取及編輯系統(tǒng)10應用于獲取及編輯位于計算機主機板12上基本輸入輸出系統(tǒng)的信息。
基本輸入輸出系統(tǒng)是計算機系統(tǒng)中用來處理輸入、輸出數(shù)據(jù)的最關鍵組件之一,是被燒錄到計算機主機板上的一組程序,為計算機提供最低級的、最直接的硬件控制,用來存放自診斷測試程序、系統(tǒng)自舉裝入程序、系統(tǒng)設置程序和主要輸入/輸出設備的輸入/輸出驅動程序及中斷服務程序等任務。當計算機通電時,系統(tǒng)從基本輸入輸出系統(tǒng)只讀存儲器的起始地址開始讀取并運行基本輸入輸出系統(tǒng)程序。基本輸入輸出系統(tǒng)程序首先對內部各個設備進行檢查,來測試計算機的硬件及其連接性,并加載必要的操作代碼,來允許計算機執(zhí)行所需的任務。準確地說,基本輸入輸出系統(tǒng)是計算機硬件與軟件程序之間的一個“轉換器”或者說是接口(雖然它本身也只是一個程序),負責解決硬件的實時需求,并按軟件對硬件的操作要求具體執(zhí)行?;据斎胼敵鱿到y(tǒng)的程序代碼儲存在諸如可擦除可編程只讀存儲器(Erasable Programmable Read-onlymemory,EPROM)、閃存(Flash ROM)、非易失性隨機存儲器或其它數(shù)字信息儲存裝置中。
基本輸入輸出系統(tǒng)信息的獲取及編輯系統(tǒng)10包括映像模塊14、備份模塊18、編輯模塊28以及恢復模塊26。首先,映像模塊14將儲存于計算機主機板12上的基本輸入輸出系統(tǒng)信息,如燒錄在計算機主機板20的只讀存儲器芯片上的程序代碼等,以及關于服務器的一些重要燒錄信息等映像至系統(tǒng)非易失性隨機存儲器區(qū)域16中。非易失性隨機存儲器(非易失性隨機存儲器)由于具有在斷電后仍能保留數(shù)據(jù)不致丟失的特點而得到越來越廣泛地應用。然后,備份模塊18搜索映像至系統(tǒng)非易失性隨機存儲器區(qū)域16中的基本輸入輸出系統(tǒng)信息,并將此區(qū)域中的全部映像內容讀出并儲存為一第一文檔,即備份文檔20,文檔格式不限,這里設其文檔名稱為非易失性隨機存儲器.bak。為了實現(xiàn)在Dos/Windows/Linux不同操作系統(tǒng)下對系統(tǒng)非易失性隨機存儲器區(qū)域16的信息讀取,可在不同操作系統(tǒng)下調用不同的底層驅動程序。驅動實現(xiàn)是采用頁(Page)的方式讀取系統(tǒng)非易失性隨機存儲器區(qū)域16,首先向非易失性隨機存儲器頁寄存器(NVPAGE)寫入所選定操作的頁,再從非易失性隨機存儲器數(shù)據(jù)寄存器(NVDAT)讀取系統(tǒng)非易失性隨機存儲器區(qū)域16的信息。驅動中可采用輸入/輸出方式或者儲存方式對非易失性隨機存儲器頁寄存器/非易失性隨機存儲器數(shù)據(jù)寄存器進行操作,進而得到系統(tǒng)非易失性隨機存儲器區(qū)域16中的信息。
然后,編輯模塊28依據(jù)用戶輸入的基本輸入輸出系統(tǒng)修改信息對備份文件20進行修改,并進而生成一第二文檔,即新文檔24,此文檔名稱定為NVRAM.new。這里,編輯模塊28包括一信息搜索模塊30,一循環(huán)冗余碼校驗模塊32,一信息重組模塊34,一非易失性隨機存儲器文件編輯模塊36以及一對比模塊38,下面結合圖2對編輯模塊28進行說明。
圖2為本發(fā)明基本輸入輸出系統(tǒng)信息的獲取及編輯系統(tǒng)的編輯模塊工作構架圖,從圖中可知,信息搜索模塊30讀取備份文件20的信息內容并進行分析,從中解析出基本輸入輸出系統(tǒng)各數(shù)據(jù)段所對應的信息,信息搜索模塊30可以使用任何方式對任何格式的文檔進行讀取?;据斎胼敵鱿到y(tǒng)中數(shù)據(jù)存放遵循一定的規(guī)律,通常以各數(shù)據(jù)段對應的關鍵詞開頭,以特定分隔符號作為關鍵詞的結束;接下來是數(shù)個子串中的子串1的關鍵詞、長度、內容,然后以特定分隔符號作為子串的1的結束。子串2、3等其余子串按照上述規(guī)律進行存放。
圖3為本發(fā)明基本輸入輸出系統(tǒng)信息的獲取及編輯系統(tǒng)實施例的信息設置示意圖,給出了關于“服務器資產測試”信息的設置情況。從圖中可知,“服務器資產測試”信息頁展開為4組子信息,即服務器名稱,服務器資產卷標,服務器基本操作系統(tǒng)以及其它測試,而且每組子信息又分為不同的行。下面結合圖3對基本輸入輸出系統(tǒng)數(shù)據(jù)區(qū)中的“服務器資產測試”信息進行分析。依照上述基本輸入輸出系統(tǒng)數(shù)據(jù)存放規(guī)律,信息搜索???0對基本輸入輸出系統(tǒng)數(shù)據(jù)進行解析,進而獲取如圖4所示基本輸入輸出系統(tǒng)中數(shù)據(jù)的信息組示意圖。
圖4為本發(fā)明基本輸入輸出系統(tǒng)信息的獲取及編輯系統(tǒng)實施例的信息組示意圖,從圖中可知,基本輸入輸出系統(tǒng)中的數(shù)據(jù)儲存遵循一定的規(guī)律,以各數(shù)據(jù)段所對應的關鍵詞開頭,如圖中所示主關鍵詞以特定分隔符號作為關鍵詞的結束。接下來后面跟著子串的關鍵詞,即子關鍵詞,以及子串的位置、子串的信息內容、子串的長度,最后以特定分隔符號作為子串的結束。
圖中給出了一個主關鍵詞“CQHLIPL”,對應于“服務器資產測試”;四個子關鍵詞,CQHLS1、CQHLS2、CQHLS3及CQHLS4,分別與“服務器資產測試”信息頁展開的四組子信息對應。經信息搜索模塊30解析后,關于“服務器名稱”,“服務器資產標簽”,“服務器基本操作系統(tǒng)”以及“其它測試”的四個子關鍵詞的對應信息如圖4所示。
在此實施例中將“服務器資產測試”信息映像至系統(tǒng)非易失性隨機存儲器區(qū)域16中,并被備份模塊18儲存為一二進制文檔,關于備份文檔20的格式見圖5所示。圖5為本發(fā)明基本輸入輸出系統(tǒng)信息的獲取及編輯系統(tǒng)實施例的第一文檔示意圖,圖中顯示“服務器資產測試”信息的信息組內容,數(shù)據(jù)地址以及信息組中各個信息所對應的二進制數(shù)據(jù)。例如字符區(qū)域50表示主關鍵詞“CQHLIPL”,其在二進制文件形式中由字符區(qū)域52“4C 50 49 48 51 43”表示,字符區(qū)域54“01 00”表示為主關鍵詞的分隔符號,字符區(qū)域56“0006”為各子關鍵詞的分隔符號,子關鍵詞后面緊接著是各子串的長度,其后為子串的內容,子串各行之間用“00”做分隔符號。
現(xiàn)在返回到圖3,循環(huán)冗余碼校驗模塊32首先搜索循環(huán)冗余碼校驗位所在的位置,然后依據(jù)備份文檔20中的當前基本輸入輸出系統(tǒng)信息還原其循環(huán)冗余碼的原始值,在用戶輸入需要修改的信息后,產生一新循環(huán)冗余碼值。傳統(tǒng)方法在基本輸入輸出系統(tǒng)中獲取循環(huán)冗余碼值的算法比較復雜,此算法中循環(huán)冗余碼值與基本輸入輸出系統(tǒng)中特定區(qū)域中數(shù)據(jù)的總量,數(shù)據(jù)的內容,各子數(shù)據(jù)段的長度,各子數(shù)據(jù)段的偏移位置,數(shù)據(jù)段之間的分隔符號等信息密切相關,每一次通過基本輸入輸出系統(tǒng)中斷服務程序修改基本輸入輸出系統(tǒng)某一數(shù)據(jù)區(qū)內容時,其它數(shù)據(jù)區(qū)的位置順序也相應改變,并且這一算法不為外界所公知,且在基本輸入輸出系統(tǒng)升級的情況下此算法也可能會發(fā)生改變。本發(fā)明按照當前基本輸入輸出系統(tǒng)數(shù)據(jù)區(qū)中的信息,固定其所在的區(qū)域,偏移量,順序,數(shù)據(jù)段之間的分隔符號等信息,只對所需修改的內容部分作相應的處理。這樣影響循環(huán)冗余碼值的就只有某幾位的變化了,只需分析出新的基本輸入輸出系統(tǒng)信息內容與舊的信息內容的差異即可得到新循環(huán)冗余碼值。
此外,信息重組模塊34會依據(jù)用戶輸入的基本輸入輸出系統(tǒng)修改信息檢索信息搜索模塊30中的數(shù)個信息組,并依據(jù)修改信息替換信息組中的相應信息。非易失性隨機存儲器文件編輯模塊36則借助備份文件20、信息搜索模塊30中的數(shù)個信息組信息以及新循環(huán)冗余碼值生成新文檔24。首先非易失性隨機存儲器文件編輯模塊36依據(jù)備份文檔20復制出新文檔24,然后清除新文文件24中基本輸入輸出系統(tǒng)數(shù)據(jù)區(qū)相關信息,再按照信息組中記錄的信息對新文件進行編輯,此外將新循環(huán)冗余碼值寫回新文件中相應位置,最后依據(jù)備份文件20、信息組信息及新循環(huán)冗余碼值驗證新文檔24中內容的正確性。
圖5與圖6為依據(jù)本發(fā)明的基本輸入輸出系統(tǒng)信息的獲取及編輯系統(tǒng)對基本輸入輸出系統(tǒng)信息進行修改的實施例,其中圖5為本發(fā)明基本輸入輸出系統(tǒng)信息的獲取及編輯系統(tǒng)實施例的第一文檔示意圖,圖6為本發(fā)明基本輸入輸出系統(tǒng)信息的獲取及編輯系統(tǒng)實施例的第二文檔示意圖。
當圖5所示的“服務器資產測試”中的“服務器資產卷標”信息第一行的內容,即子關鍵詞2的信息內容的字符區(qū)域58“333333333333”改為“AAAAAA”,以及將第二行的內容,即子關鍵詞2的信息內容的字符區(qū)域60改為空,其中字符區(qū)域58、60所對應的二進制數(shù)據(jù)內容為字符區(qū)域62,則通過非易失性隨機存儲器文件編輯模塊36生成的新文檔24,如圖6所示,得到字符區(qū)域64對應的修改內容。
此外,編輯模塊28還包括有一對比模塊38,來對不同版本的基本輸入輸出系統(tǒng)信息進行對比,例如對比用戶指定的兩個非易失性隨機存儲器文件,或用戶指定的某一非易失性隨機存儲器文件與當前基本輸入輸出系統(tǒng)信息,從中找出各版本基本輸入輸出系統(tǒng)信息的不同,用戶也可以指定所需對比的區(qū)域或關鍵詞。
編輯模塊28是本發(fā)明的核心模塊,其實現(xiàn)了對基本輸入輸出系統(tǒng)信息模塊數(shù)據(jù)的自動檢索定位,設置偏移量及自動循環(huán)冗余碼值校驗的功能,此操作保證了基本輸入輸出系統(tǒng)信息修改操作的安全性。在修改基本輸入輸出系統(tǒng)信息時,如果修改了基本輸入輸出系統(tǒng)中的特定區(qū)間而沒有修改其對應的校驗值,會引發(fā)基本輸入輸出系統(tǒng)本身的保護機制,導致其中重要信息被清空甚至更嚴重的后果。
本發(fā)明所公開的恢復模塊26將新文件24的內容恢復至系統(tǒng)非易失性隨機存儲器區(qū)域的相應位置,以達到修改基本輸入輸出系統(tǒng)信息的目的。由于系統(tǒng)非易失性隨機存儲器的讀寫也需要遵循一定規(guī)律,且系統(tǒng)非易失性隨機存儲器中信息是相互關聯(lián)的,單獨對某字節(jié)操作可能會影響其它位置的數(shù)據(jù),而有的數(shù)據(jù)位又不能以字節(jié)作為單位進行修改操作,因此恢復模塊26采用整體覆蓋讀寫的方式將新文檔中內容寫回至系統(tǒng)非易失性隨機存儲器中相應區(qū)域,以避免單獨操作某字節(jié)所帶來的不良影響。同時,對系統(tǒng)非易失性隨機存儲器的讀寫功能進行檢測,以驗證讀寫的正確性。此時,整個對基本輸入輸出系統(tǒng)信息的修改操作全部完成。需要注意的是,在整個修改基本輸入輸出系統(tǒng)的過程中需時刻檢查操作的正確性,當遇到嚴重錯誤時,自動將開始備份好的備份文檔20恢復回去,以保證基本輸入輸出系統(tǒng)信息的完整性與安全性。
下面結合圖7與圖8對本發(fā)明基本輸入輸出系統(tǒng)信息的獲取及編輯方法進行說明。首先映像基本輸入輸出系統(tǒng)信息至系統(tǒng)非易失性隨機存儲器區(qū)域(步驟101),然后讀取系統(tǒng)非易失性隨機存儲器區(qū)域的映像內容并儲存為一第一文檔(步驟102),接著讀取第一文檔的內容并進行分析,進而獲取基本輸入輸出系統(tǒng)各數(shù)據(jù)段所對應的信息,以生成數(shù)個信息組(步驟103)。依據(jù)當前基本輸入輸出系統(tǒng)信息還原其循環(huán)冗余碼的原始值(步驟104),并依據(jù)用戶輸入的基本輸入輸出系統(tǒng)修改信息對數(shù)個信息組進行檢索,并借助基本輸入輸出系統(tǒng)修改信息替換信息組中的相應信息(步驟105),然后依據(jù)當前信息組信息得到一新循環(huán)冗余碼值(步驟106)。借助第一文件、信息組信息并依據(jù)新循環(huán)冗余碼值生成一第二文檔(步驟107),再采用整體覆蓋讀寫的方式將第二文檔的內容恢復至非易失性隨機存儲器區(qū)域的相應位置(步驟108),最后映像非易失性隨機存儲器區(qū)域的相應位置內容至基本輸入輸出系統(tǒng)中。此外,本發(fā)明基本輸入輸出系統(tǒng)信息的獲取及編輯方法還包括一信息/版本對比步驟,用來對不同版本的基本輸入輸出系統(tǒng)信息進行對比。
圖9為本發(fā)明基本輸入輸出系統(tǒng)信息的獲取及編輯方法的恢復步驟流程圖,即圖8中步驟108的具體恢復步驟流程圖。由圖可知,在恢復第二文件時首先打開系統(tǒng)非易失性隨機存儲器的可寫權限(步驟201),然后將第二文檔的內容整塊寫回系統(tǒng)非易失性隨機存儲器區(qū)域,即不單獨對第二文檔某一個字節(jié)操作(步驟202),接著,讀取系統(tǒng)非易失性隨機存儲器區(qū)域中的數(shù)據(jù),并驗證讀寫的正確性(步驟203),最后關閉系統(tǒng)非易失性隨機存儲器的可寫權限,來保護基本輸入輸出系統(tǒng)中的信息(步驟204)。
當然,本發(fā)明還可有其他多種實施例,在不背離本發(fā)明精神及其實質的情況下,熟悉本領域的技術人員可根據(jù)本發(fā)明作出各種相應的改變和變形,但這些相應的改變和變形都應屬于本發(fā)明所附的權利要求的保護范圍。
權利要求
1.一種基本輸入輸出系統(tǒng)信息的獲取及編輯方法,用于獲取及編輯一基本輸入輸出系統(tǒng)的信息,其特征在于,包括有下列步驟映像該基本輸入輸出系統(tǒng)信息至一系統(tǒng)非易失性隨機存儲器區(qū)域中;讀取該系統(tǒng)非易失性隨機存儲器區(qū)域的映像內容并儲存為一第一文檔;依據(jù)該基本輸入輸出系統(tǒng)的修改信息修改該第一文檔,并生成一第二文檔;將該第二文檔的內容恢復至該系統(tǒng)非易失性隨機存儲器區(qū)域的相應位置;以及映像該系統(tǒng)非易失性隨機存儲器區(qū)域的相應位置內容至該基本輸入輸出系統(tǒng)中,以編輯該基本輸入輸出系統(tǒng)信息。
2.根據(jù)權利要求1所述的基本輸入輸出系統(tǒng)信息的獲取及編輯方法,其特征在于,在不同操作系統(tǒng)下調用不同的底層驅動程序來對該系統(tǒng)非易失性隨機存儲器區(qū)域的內容進行讀取。
3.根據(jù)權利要求1所述的基本輸入輸出系統(tǒng)信息的獲取及編輯方法,其特征在于,還包括一信息搜索步驟,讀取該第一文檔的內容,進而獲取該基本輸入輸出系統(tǒng)各數(shù)據(jù)段所對應的信息,以生成數(shù)個信息組。
4.根據(jù)權利要求1所述的基本輸入輸出系統(tǒng)信息的獲取及編輯方法,其特征在于,還包括一循環(huán)冗余碼校驗步驟,依據(jù)當前基本輸入輸出系統(tǒng)信息還原其循環(huán)冗余碼的原始值,以及依據(jù)該基本輸入輸出系統(tǒng)的修改信息產生一新循環(huán)冗余碼值。
5.根據(jù)權利要求1所述的基本輸入輸出系統(tǒng)信息的獲取及編輯方法,其特征在于,還包括一信息重組步驟,用來依據(jù)該基本輸入輸出系統(tǒng)的修改信息檢索并替換該基本輸入輸出系統(tǒng)各數(shù)據(jù)段所對應的信息。
6.根據(jù)權利要求1所述的基本輸入輸出系統(tǒng)信息的獲取及編輯方法,其特征在于,還包括一信息/版本對比步驟,用來對不同版本的基本輸入輸出系統(tǒng)信息進行對比。
7.根據(jù)權利要求1所述的基本輸入輸出系統(tǒng)信息的獲取及編輯方法,其特征在于,該將該第二文檔的內容恢復至該系統(tǒng)非易失性隨機存儲器區(qū)域的相應位置的步驟系采用整體覆蓋讀寫的方式。
8.一種基本輸入輸出系統(tǒng)信息的獲取及編輯系統(tǒng),用于獲取及編輯一基本輸入輸出系統(tǒng)的信息,其特征在于,包括有一映像模塊,用來在該基本輸入輸出系統(tǒng)與一系統(tǒng)非易失性隨機存儲器區(qū)域間進行信息的雙向映像;一備份模塊,用來讀取該系統(tǒng)非易失性隨機存儲器區(qū)域的內容并儲存為一第一文檔;一編輯模塊,用來依據(jù)該基本輸入輸出系統(tǒng)的修改信息修改該第一文檔,并生成一第二文檔;以及一恢復模塊,用來將該第二文檔的內容恢復至該系統(tǒng)非易失性隨機存儲器區(qū)域的相應位置。
9.根據(jù)權利要求8所述的基本輸入輸出系統(tǒng)信息的獲取及編輯系統(tǒng),其特征在于,該編輯模塊進一步包括有一信息搜索模塊,用來讀取該第一文檔的內容并進行分析,進而獲取該基本輸入輸出系統(tǒng)各數(shù)據(jù)段所對應的信息,以生成數(shù)個信息組;一循環(huán)冗余碼校驗模塊,用來依據(jù)當前基本輸入輸出系統(tǒng)信息還原其循環(huán)冗余碼的原始值,以及依據(jù)該基本輸入輸出系統(tǒng)的修改信息產生一新循環(huán)冗余碼值;一信息重組模塊,用來依據(jù)該基本輸入輸出系統(tǒng)的修改信息檢索該信息搜索模塊的該數(shù)個信息組,并替換該信息組中相應信息;以及一非易失性隨機存儲器文文件編輯模塊,用來借助該第一文文件、該信息組信息以及該新循環(huán)冗余碼值生成該第二文檔。
10.根據(jù)權利要求8所述的基本輸入輸出系統(tǒng)信息的獲取及編輯系統(tǒng),其特征在于,該編輯模塊還包括有一對比模塊,來對不同版本的基本輸入輸出系統(tǒng)信息進行對比。
11.根據(jù)權利要求8所述的基本輸入輸出系統(tǒng)信息的獲取及編輯系統(tǒng),其特征在于,在不同操作系統(tǒng)下該備份模塊采用調用不同底層驅動程序的方式來讀取該系統(tǒng)非易失性隨機存儲器區(qū)域的內容。
12.根據(jù)權利要求8所述的基本輸入輸出系統(tǒng)信息的獲取及編輯系統(tǒng),其特征在于,該恢復模塊將該第二文件恢復至該系統(tǒng)非易失性隨機存儲器區(qū)域的操作采用整體覆蓋讀寫的方式。
全文摘要
本發(fā)明公開了一種基本輸入輸出系統(tǒng)(BIOS)信息的獲取及編輯的方法及系統(tǒng),透過映像基本輸入輸出系統(tǒng)信息至系統(tǒng)非易失性隨機存儲器(NVRAM)區(qū)域,然后讀取系統(tǒng)非易失性隨機存儲器區(qū)域的映像內容并儲存為一本地端文檔,借助編輯此本地端文件來修改系統(tǒng)非易失性隨機存儲器中的數(shù)據(jù),進而達到獲取和編輯基本輸入輸出系統(tǒng)信息的目的。此外,還可在不同操作系統(tǒng)下通過調用不同的底層驅動程序來對實現(xiàn)非易失性隨機存儲器區(qū)域的內容讀取。本發(fā)明可適應多平臺且在無需重啟操作系統(tǒng)的情況下實現(xiàn)對基本輸入輸出系統(tǒng)信息的修改。
文檔編號G06F9/445GK1987802SQ20051013467
公開日2007年6月27日 申請日期2005年12月19日 優(yōu)先權日2005年12月19日
發(fā)明者段秋月, 陳鎮(zhèn), 陳玄同, 劉文涵 申請人:英業(yè)達股份有限公司