本發(fā)明公開(kāi)涉及計(jì)算機(jī)系統(tǒng)中的系統(tǒng)固件管理。
背景技術(shù):
::基本輸入輸出系統(tǒng)(basicinput/outputsystem,BIOS,以下簡(jiǎn)稱為BIOS)是用來(lái)確保一個(gè)計(jì)算機(jī)系統(tǒng)的計(jì)算元件能夠有效作用的一個(gè)固件。當(dāng)計(jì)算機(jī)系統(tǒng)第一次開(kāi)機(jī)時(shí),BIOS會(huì)存儲(chǔ)固件,此固件習(xí)習(xí)配合一組特別為BIOS設(shè)計(jì)的配置執(zhí)行。一般而言,BIOS會(huì)識(shí)別、初始化以及測(cè)試計(jì)算機(jī)系統(tǒng)的硬件。舉例來(lái)說(shuō),BIOS會(huì)先啟動(dòng)一開(kāi)機(jī)自我檢測(cè)程序(poweronselftest,POST),然后再載入操作系統(tǒng)(Operationsystem)。BIOS也會(huì)提供一個(gè)接口允許設(shè)定各種不同的參數(shù)。特別來(lái)說(shuō),BIOS指定時(shí)鐘與總線(bus)的速度以及其他會(huì)影響該計(jì)算機(jī)系統(tǒng)的效能的參數(shù)。最后BIOS會(huì)將對(duì)該計(jì)算機(jī)系統(tǒng)的控制權(quán)轉(zhuǎn)給一個(gè)操作系統(tǒng)。BIOS的設(shè)定存儲(chǔ)在一個(gè)非易失性存儲(chǔ)器,例如一非易失性隨機(jī)存取存儲(chǔ)器(non-volatilerandom-accessmemory,NVRAM)或者一只讀存儲(chǔ)器(read-onlymemory,ROM)。使用者的錯(cuò)誤、更換BIOS時(shí)的電源中斷或者病毒感染會(huì)造成BIOS的各種錯(cuò)誤,進(jìn)而使得BIOS無(wú)法正常運(yùn)作。當(dāng)一臺(tái)計(jì)算機(jī)不具有可正常運(yùn)作的BIOS時(shí)便會(huì)無(wú)法開(kāi)機(jī),損壞的BIOS會(huì)導(dǎo)致計(jì)算機(jī)故障以及損壞系統(tǒng)效能。技術(shù)實(shí)現(xiàn)要素:本發(fā)明的實(shí)施例公開(kāi)了藉由存儲(chǔ)以及提取一存儲(chǔ)裝置中的基本輸入輸出系統(tǒng)修改記錄來(lái)啟動(dòng)一選擇的基本輸入輸出系統(tǒng)回復(fù)程序的技術(shù)特征。本發(fā)明的實(shí)施例藉由使用一相對(duì)便宜的服務(wù)控制器,可達(dá)成一種遠(yuǎn)端的且有效的基本輸入輸出系統(tǒng)回復(fù)管理方法。本發(fā)明的實(shí)施例當(dāng)一主要的服務(wù)器的電源關(guān)閉或無(wú)法取得時(shí),會(huì)啟動(dòng)帶外服務(wù)器管理(out-of-bandservermanagement)。本發(fā)明的實(shí)施例公開(kāi)一種基本輸入輸出系統(tǒng)回復(fù)方法,其包含:存儲(chǔ)一固件修改記錄至一計(jì)算機(jī)裝置之一存儲(chǔ)介質(zhì),該固件修改記錄包含該計(jì)算機(jī) 裝置之一基本輸入輸出系統(tǒng)的至少一設(shè)定;修改該基本輸入輸出系統(tǒng)中的該至少一設(shè)定;決定在執(zhí)行修改后的該基本輸入輸出系統(tǒng)時(shí)的一錯(cuò)誤;當(dāng)決定該錯(cuò)誤時(shí),由該存儲(chǔ)介質(zhì)提取該固件修改記錄的至少一部分;以及至少部分地根據(jù)該固件修改記錄的該至少一部分,存儲(chǔ)該基本輸入輸出系統(tǒng)之一或多個(gè)設(shè)定。根據(jù)本發(fā)明某些實(shí)施例,該服務(wù)控制器一基板管理控制器(baseboardmanagementcontroller,BMC)?;骞芾砜刂破髫?fù)責(zé)管理與監(jiān)控主機(jī)板上的一主要中央處理器以及外圍裝置。舉例來(lái)說(shuō),一基板管理控制器藉由智能平臺(tái)管理接口(IntelligentPlatformManagementInterface,IPMI)訊息與其余內(nèi)部計(jì)算元件溝通。一基板管理控制器使用遠(yuǎn)端管理控制協(xié)議(RemoteManagementControlProtocol,RMCP)與外部計(jì)算裝置溝通??商娲?,一基板管理控制器在局域網(wǎng)絡(luò)上使用用于智能平臺(tái)管理接口(IntelligentPlatformManagementInterface,IPMI)的加強(qiáng)型遠(yuǎn)端管理控制協(xié)議(RMCP+)來(lái)與外部裝置溝通。根據(jù)本發(fā)明某些實(shí)施例,一服務(wù)控制器(如一基板管理控制器)由一存儲(chǔ)裝置提取BIOS記錄數(shù)據(jù),管理一個(gè)用以顯示多個(gè)存儲(chǔ)的BIOS設(shè)定映像之一網(wǎng)頁(yè)界面,并且接收一較佳BIOS設(shè)定映像的一使用者選擇,以覆蓋該系統(tǒng)的BIOS。其余的服務(wù)控制器,例如一創(chuàng)新引擎(InnovationEngine)也可啟動(dòng)如文中所公開(kāi)的多點(diǎn)可選擇(multiplepoint,selectable)的BIOS回復(fù)。根據(jù)某些實(shí)施例,一管理員瀏覽可選擇的BIOS設(shè)定映像并且選擇一較佳的BIOS設(shè)定映像,以覆蓋該錯(cuò)誤的系統(tǒng)BIOS。另外,一基板管理控制器可通知一BIOS哪一個(gè)BIOS設(shè)定映像已經(jīng)被選定來(lái)啟動(dòng)該系統(tǒng)。根據(jù)本發(fā)明某些實(shí)施例,一硬件的跳線器用來(lái)觸發(fā)該BIOS設(shè)定映像的回復(fù)。于是,該系統(tǒng)基于該跳線器的狀態(tài)數(shù)據(jù)決定是否回復(fù)一BIOS設(shè)定。根據(jù)本發(fā)明某些實(shí)施例,該系統(tǒng)決定一可應(yīng)用于每一個(gè)BIOS修改的BIOS回復(fù)模式。BIOS回復(fù)模式有三種選擇:1.一自動(dòng)備份模式,會(huì)自動(dòng)備份每一BIOS修改數(shù)據(jù)。2.一手動(dòng)備份模式,會(huì)進(jìn)一步詢問(wèn)一管理員是否要備份最近的BIOS修改數(shù)據(jù)。3.一停用備份模式,會(huì)停用一BIOS回復(fù)功能并且允許該系統(tǒng)像一個(gè)普通的計(jì)算機(jī)系統(tǒng)般工作。雖然在此處的許多例子與一基板管理控制器有關(guān),但可以理解的是,這些僅是一些例子且某些實(shí)施例并不限于這些例子。當(dāng)然,任何服務(wù)控制器或 管理中央處理器可被使用。此外,即使本發(fā)明公開(kāi)使用BIOS作為一可回復(fù)固件或系統(tǒng)設(shè)置的一個(gè)例子,但本發(fā)明亦適用于可能受害于不小心的錯(cuò)誤的其他可回復(fù)固件。如本發(fā)明所公開(kāi)的,上述的固件可存儲(chǔ)在一存儲(chǔ)裝置內(nèi)并且之后被提取出來(lái)以代替一先前錯(cuò)誤的版本。上述可回復(fù)的固件或系統(tǒng)設(shè)置的例子包含了CPU、存儲(chǔ)器、快捷外設(shè)互聯(lián)標(biāo)準(zhǔn)卡(PeripheralComponentInterconnectExpress,PCIe)等的設(shè)定。本發(fā)明中的額外的功能及優(yōu)點(diǎn)將會(huì)在后面說(shuō)明中揭示,且部分可由后述說(shuō)明書中清楚了解,或是可由所揭示的原則經(jīng)由練習(xí)而學(xué)得。本發(fā)明的功能及優(yōu)點(diǎn)可由后述權(quán)利要求書中所特別指出的儀器或裝置的組合而實(shí)現(xiàn)及獲得。本發(fā)明的這些及其他特點(diǎn)會(huì)由后述的說(shuō)明書及權(quán)利要求書而變得更清楚、或是可由本發(fā)明所揭示的原則經(jīng)由練習(xí)而學(xué)得。附圖說(shuō)明多個(gè)本發(fā)明的實(shí)施例或例子將以下面的詳細(xì)描述與配合的圖式來(lái)公開(kāi):圖1為一BIOS回復(fù)管理系統(tǒng)的一實(shí)施例的方塊示意圖;圖2為一BIOS回復(fù)管理系統(tǒng)的一BIOS備份過(guò)程的一實(shí)施例的流程圖;圖3為一BIOS回復(fù)管理系統(tǒng)的一BIOS回復(fù)過(guò)程的一實(shí)施例的流程圖;圖4為藉由使用一硬件的跳線器達(dá)成一BIOS回復(fù)管理系統(tǒng)的一BIOS回復(fù)過(guò)程的一實(shí)施例的流程圖;以及圖5是一計(jì)算機(jī)裝置的一計(jì)算平臺(tái)的一實(shí)施例?!痉?hào)說(shuō)明】100基本輸入輸出系統(tǒng)回復(fù)管理系統(tǒng)101遠(yuǎn)端管理裝置102服務(wù)器104基本輸入輸出系統(tǒng)106基板管理控制器108圖形使用者接口110存儲(chǔ)裝置112中央處理器200、300流程圖202、204、206、208、210、212、214、216、218、220、302、304、306、308、310、312、314、402、404、406、408、410、412、414、416步驟500計(jì)算平臺(tái)502基板管理控制器504處理器506系統(tǒng)存儲(chǔ)器508輸入裝置510網(wǎng)絡(luò)接口512顯示器514存儲(chǔ)裝置具體實(shí)施方式本發(fā)明技術(shù)的多個(gè)實(shí)施例在下述章節(jié)進(jìn)行詳細(xì)介紹。當(dāng)介紹特定的實(shí)施方式時(shí),需了解的是這僅為說(shuō)明之用。本領(lǐng)域技術(shù)人員可了解可在不偏離本發(fā)明技術(shù)的精神及范圍內(nèi)使用其他的元件及配置配置設(shè)定?;据斎胼敵鱿到y(tǒng)(basicinput/outputsystem,BIOS,以下皆用BIOS來(lái)稱呼)負(fù)責(zé)用來(lái)初始化以及測(cè)試一計(jì)算機(jī)系統(tǒng)的硬件元件。BIOS提供給硬件一抽象層(abstractionlayer),從而提供給應(yīng)用程序以及操作系統(tǒng)(operatingsystem,OS)一個(gè)一致的方式來(lái)與一外圍裝置(如一鍵盤、一顯示器以及其余輸入/輸出裝置)進(jìn)行互動(dòng)。舉例來(lái)說(shuō),BIOS會(huì)在啟動(dòng)操作系統(tǒng)(例如微軟的視窗操作系統(tǒng)、Linux操作系統(tǒng)或任何操作系統(tǒng))前先執(zhí)行系統(tǒng)檢查。系統(tǒng)檢查在一計(jì)算機(jī)裝置初始化時(shí)所執(zhí)行的一系統(tǒng)診斷檢查。開(kāi)機(jī)自我檢測(cè)程序(Power-OnSelf-Test,POST)是系統(tǒng)檢查的一個(gè)例子。一個(gè)開(kāi)機(jī)自我檢測(cè)程序的主要功能由BIOS所處理,可以指派某些責(zé)任(duties)給用來(lái)初始化某些特定外圍裝置的其余程序,例如視頻(video)以及小型計(jì)算機(jī)系統(tǒng)接口(smallcomputersysteminterface,SCSI)的初始化。在開(kāi)機(jī)自我檢測(cè)程序的過(guò)程中,BIOS的主要功能包含:驗(yàn)證中央處理器(CentralProcessingUnit,以下可簡(jiǎn)稱為CPU)的寄存器以及BIOS程序代碼的完整性、檢查基本元件、檢查系統(tǒng)主存儲(chǔ)器,以及傳送控制給其余專門的BIOS延伸程序(specializedBIOSextension)。開(kāi)機(jī)自我檢測(cè)程序也可以配置用來(lái)發(fā)現(xiàn)、初始化以及匯整所有系統(tǒng)總線與裝置、提供一使用者接口給系 統(tǒng)的設(shè)定參數(shù),以及建構(gòu)操作系統(tǒng)所需要的一系統(tǒng)環(huán)境。BIOS參數(shù)會(huì)基于一顧客的硬件或軟件需求而需改變。然而,一個(gè)不熟悉計(jì)算機(jī)平臺(tái)設(shè)計(jì)以及相應(yīng)的BIOS的管理員可不慎地導(dǎo)入會(huì)損壞該系統(tǒng)的不合適的BIOS修改。其余的風(fēng)險(xiǎn)因素包含了在BIOS修改時(shí)的電源中斷,或BIOS病毒感染。損壞的BIOS設(shè)定可能被回復(fù)到該BIOS的一出廠設(shè)定。舉例來(lái)說(shuō),使用一復(fù)制的BIOS存儲(chǔ)器(例如一備份的BIOS芯片)存儲(chǔ)一預(yù)設(shè)BIOS設(shè)定,一管理員可藉由使用一用來(lái)清除互補(bǔ)式金屬氧化物半導(dǎo)體場(chǎng)效晶體管/非易失性存儲(chǔ)器的跳線器來(lái)重設(shè)一BIOS到它的預(yù)設(shè)參數(shù)。然而,這個(gè)方法清除了該BIOS的所有先前的修改。另外,當(dāng)有大量的計(jì)算機(jī)系統(tǒng)(例如一數(shù)據(jù)中心)需要被管理時(shí),使用備份BIOS存儲(chǔ)器是昂貴的。因此,需要提供一BIOS管理系統(tǒng)可以供應(yīng)有彈性且有效率的BIOS回復(fù)。在某些實(shí)施例可以藉由存儲(chǔ)固件(BIOS)修改記錄于一存儲(chǔ)裝置來(lái)啟動(dòng)一多點(diǎn)(multiple-point)BIOS回復(fù)程序。特別的是,該等實(shí)施例可改善BIOS回復(fù)的效率。更進(jìn)一步的是,當(dāng)一主要的CPU的電源關(guān)閉時(shí),該等實(shí)施例會(huì)啟動(dòng)帶外管理(out-of-bandmanagement)系統(tǒng)配置更新。圖1為一基本輸入輸出系統(tǒng)回復(fù)管理系統(tǒng)(BIOSrecoverymanagementsystem,以下將簡(jiǎn)稱為BIOS回復(fù)管理系統(tǒng))的一實(shí)施例的方塊示意圖。舉例來(lái)說(shuō),BIOS回復(fù)管理系統(tǒng)100包含一服務(wù)器102以及一遠(yuǎn)端管理裝置101。為了本發(fā)明的目的,服務(wù)器102可用來(lái)計(jì)算以及處理任意格式的數(shù)據(jù)的任何計(jì)算機(jī)裝置。舉例來(lái)說(shuō),服務(wù)器102一個(gè)人計(jì)算機(jī)、一網(wǎng)絡(luò)存儲(chǔ)裝置或一網(wǎng)絡(luò)計(jì)算機(jī)裝置。根據(jù)某些實(shí)施例,服務(wù)器102包含一中央處理器112、一基板管理控制器106(baseboardmanagementcontroller,BMC)、基本輸入輸出系統(tǒng)104(BIOS104)以及存儲(chǔ)裝置110。服務(wù)器102另外包含各種輸入/輸出裝置(如一顯示器)、一或多個(gè)存儲(chǔ)裝置(如容錯(cuò)式磁盤陣列(redundantarrayofindependentdisks,RAID)),以及一或多個(gè)網(wǎng)絡(luò)接口控制器(networkinterfacecontrollers,NICs)。服務(wù)器102通過(guò)一有線網(wǎng)絡(luò)(如乙太網(wǎng)絡(luò))或一無(wú)線網(wǎng)絡(luò)(如一局域網(wǎng)絡(luò)(localareanetwork,LAN))或一廣域網(wǎng)絡(luò)(wideareanetwork,WAN))與遠(yuǎn)端管理裝置101通信。遠(yuǎn)端管理裝置101可以是任何適合的計(jì)算機(jī)裝置,其被一系統(tǒng)管理員用來(lái)管理一服務(wù)器。舉例來(lái)說(shuō),遠(yuǎn)端管理裝置101一個(gè)人計(jì)算機(jī)、一平板計(jì)算 機(jī)或一基于網(wǎng)絡(luò)的系統(tǒng)。如圖1所示,遠(yuǎn)端管理裝置101通過(guò)一網(wǎng)絡(luò)接口連接至基板管理控制器106,用以監(jiān)控與管理服務(wù)器102的硬件與軟件的功能狀態(tài)。舉例來(lái)說(shuō),遠(yuǎn)端管理裝置101將已更新過(guò)的BIOS配置存儲(chǔ)在一存儲(chǔ)介質(zhì),已更新過(guò)的BIOS配置可用來(lái)修改在BIOS104中的一BIOS設(shè)定。中央處理器112配置以執(zhí)行程序指令以達(dá)成特定功能。舉例來(lái)說(shuō),在一啟動(dòng)過(guò)程中,中央處理器112存取存儲(chǔ)在一BIOS存儲(chǔ)器或一芯片中的BIOS104且執(zhí)行程序指令來(lái)初始化服務(wù)器102。BIOS104包含任何程序指令或固件,其配置以初始化以及識(shí)別服務(wù)器102中的各個(gè)不同元件,例如一鍵盤、一顯示器、一數(shù)據(jù)存儲(chǔ)器以及其余的輸入或輸出裝置。BIOS104存儲(chǔ)了所有或部分BIOS修改數(shù)據(jù)(或固件修改記錄)于存儲(chǔ)裝置110。舉例而言,當(dāng)該BIOS設(shè)定或BIOS設(shè)定映像(BIOSsettingimage)在一時(shí)間區(qū)間內(nèi)被多次修改時(shí),BIOS104在修改前存儲(chǔ)了每一個(gè)BIOS設(shè)定做為BIOS記錄數(shù)據(jù)(BIOS修改數(shù)據(jù))于存儲(chǔ)裝置110中??商娲兀珺IOS104只存儲(chǔ)選定的BIOS設(shè)定,其符合某些標(biāo)準(zhǔn),例如符合一管理員的核準(zhǔn)或該管理員所預(yù)先指定的一條件。舉例來(lái)說(shuō),一管理員需要BIOS104去存儲(chǔ)只關(guān)于一或多個(gè)特定的BIOS參數(shù)的BIOS修改數(shù)據(jù)。根據(jù)某些實(shí)施例,BIOS修改數(shù)據(jù)包含詳細(xì)的編輯信息,其與BIOS內(nèi)的各種不同參數(shù)有關(guān)。舉例來(lái)說(shuō),當(dāng)有兩個(gè)或多個(gè)可啟動(dòng)的裝置時(shí),一啟動(dòng)優(yōu)先順序可被改變以允許啟動(dòng)一裝置而非啟動(dòng)另一個(gè)裝置。BIOS修改數(shù)據(jù)包含在一預(yù)定時(shí)間區(qū)間內(nèi)(例如一年)的BIOS記錄數(shù)據(jù)。此外,BIOS修改數(shù)據(jù)也可在一數(shù)量上設(shè)置一上限,該上限由該管理員所定義或者是受限于該存儲(chǔ)裝置的數(shù)據(jù)容量。如圖1所示,服務(wù)器102可包含一或多個(gè)服務(wù)控制器(例如基板管理控制器106)?;骞芾砜刂破?06一獨(dú)立與嵌入式的微控制器,在某些實(shí)施例中,基板管理控制器106負(fù)責(zé)管理與監(jiān)控該主要中央處理單元(如中央處理器112)以及在主機(jī)板上的外圍裝置(如開(kāi)關(guān)、計(jì)算節(jié)點(diǎn)以及存儲(chǔ)節(jié)點(diǎn))。根據(jù)某些實(shí)施例,基板管理控制器106通過(guò)一專用網(wǎng)絡(luò)接口(如局域網(wǎng)絡(luò))與遠(yuǎn)端管理裝置101通信,該專用網(wǎng)絡(luò)接口由一相關(guān)網(wǎng)絡(luò)接口控制器所實(shí)現(xiàn)(圖中未表示)。根據(jù)某些實(shí)施例,基板管理控制器106通過(guò)一通信線路(如集成電路總線(I2C)、系統(tǒng)管理總線接口(SMBUS)或存儲(chǔ)器映射輸入輸出接口(memory-mappedI/O interfaces))與存儲(chǔ)裝置110通信。由于電源與操作系統(tǒng)獨(dú)立于中央處理器112,當(dāng)服務(wù)器102電源關(guān)閉或失去能力時(shí),基板管理控制器106會(huì)實(shí)現(xiàn)帶外管理(out-of-bandmanagement)。一帶外管理可使用一專用通道來(lái)管理網(wǎng)絡(luò)裝置。舉例來(lái)說(shuō),基板管理控制器106通過(guò)局域網(wǎng)絡(luò)上的遠(yuǎn)端管理控制協(xié)議(RemoteManagementControlProtocol,RMCP)或用于智能平臺(tái)管理接口(IntelligentPlatformManagementInterface,IPMI)的加強(qiáng)型遠(yuǎn)端管理控制協(xié)議(RMCP+)來(lái)與遠(yuǎn)端管理裝置101通信。再者,該帶外管理啟用一基于網(wǎng)絡(luò)的BIOS回復(fù)機(jī)制,其允許該管理員通過(guò)一網(wǎng)絡(luò)接口(如局域網(wǎng)絡(luò))遠(yuǎn)端地回復(fù)該BIOS設(shè)定。智能平臺(tái)管理接口的規(guī)格定義了給硬件的一個(gè)接口,其用來(lái)監(jiān)控服務(wù)器的物理健康特征,如溫度、電壓、風(fēng)扇、電源供應(yīng)器以及機(jī)殼狀態(tài)等。舉例來(lái)說(shuō),智能平臺(tái)管理接口的規(guī)格包含自動(dòng)警示、自動(dòng)系統(tǒng)關(guān)機(jī)與重開(kāi)機(jī)、遠(yuǎn)端重開(kāi)機(jī)與電源控制功能。藉由使用一服務(wù)控制器(如基板管理控制器),智能平臺(tái)管理接口的規(guī)格也定義了用于服務(wù)器與系統(tǒng)的遠(yuǎn)端管理的一接口,該接口獨(dú)立于該主要中央處理單元、BIOS與操作系統(tǒng)。根據(jù)某些實(shí)施例,基板管理控制器106通過(guò)一網(wǎng)頁(yè)接口管理(host)一圖形使用者接口108(GraphicalUserInterface,GUI),其顯示包含一BIOS選項(xiàng)記錄中多個(gè)可選擇的BIOS設(shè)定映像的一圖形化使用者接口。舉例來(lái)說(shuō),基板管理控制器106提取在存儲(chǔ)裝置110中的BIOS記錄數(shù)據(jù)。于是一管理員瀏覽該可選擇的多個(gè)BIOS設(shè)定映像并且選擇一較佳的BIOS設(shè)定映像,用以覆蓋一錯(cuò)誤的BIOS。舉例來(lái)說(shuō),通過(guò)一網(wǎng)頁(yè)接口在遠(yuǎn)端管理裝置101上的圖形使用者接口108顯示BIOS設(shè)定映像的選項(xiàng)的一列表。基于該系統(tǒng)(如BIOS回復(fù)管理系統(tǒng)100)的硬件與軟件的需要,一管理員可對(duì)應(yīng)地選擇一BIOS設(shè)定映像來(lái)取代一錯(cuò)誤BIOS設(shè)定。因此,基板管理控制器106通知BIOS104哪一個(gè)BIOS設(shè)定映像已經(jīng)被選定來(lái)啟動(dòng)該系統(tǒng)。根據(jù)某些實(shí)施例,將一錯(cuò)誤的BIOS替換成一選定的BIOS的步驟藉由在主機(jī)板上的一機(jī)械式開(kāi)關(guān)或一硬件跳線器(圖中未表示)來(lái)啟動(dòng)。舉例來(lái)說(shuō),在一BIOS修改后,該系統(tǒng)會(huì)檢測(cè)到該系統(tǒng)BIOS的損壞,如在開(kāi)機(jī)自我檢測(cè)程序中的一系統(tǒng)當(dāng)機(jī)。因此,一管理員關(guān)閉該系統(tǒng)的電源,開(kāi)啟一服務(wù)器機(jī)殼并設(shè)置一跳線器。該系統(tǒng)可以檢測(cè)到該跳線器并且接收該跳線器的狀態(tài)數(shù)據(jù)。舉例來(lái)說(shuō), 如圖1所示,BIOS104讀取一寄存器以提取該跳線器的狀態(tài)數(shù)據(jù)。接著,該系統(tǒng)基于該跳線器的狀態(tài)數(shù)據(jù),決定是否回復(fù)一BIOS設(shè)定或映像。舉例來(lái)說(shuō),BIOS104讀取一寄存器以提取該跳線器的狀態(tài)數(shù)據(jù)來(lái)決定該系統(tǒng)是否需要回復(fù)一選定的BIOS設(shè)定映像。在決定需要回復(fù)一BIOS設(shè)定映像后,該系統(tǒng)從一存儲(chǔ)裝置提取先前可用的(Active)BIOS設(shè)定。舉例來(lái)說(shuō),如圖1所示,BIOS104在存儲(chǔ)裝置110中提取最近有效的一BIOS設(shè)定映像來(lái)取代該錯(cuò)誤的BIOS。存儲(chǔ)裝置110可以是任意的存儲(chǔ)介質(zhì)且配置以存儲(chǔ)程序指令或一時(shí)間區(qū)間的數(shù)據(jù)。存儲(chǔ)裝置110是在基板管理控制器106與BIOS104之間的一共享存儲(chǔ)器(sharedmemory),且存儲(chǔ)裝置110耦接至BIOS104或基板管理控制器106。存儲(chǔ)裝置110也可以一獨(dú)立的存儲(chǔ)裝置。根據(jù)某些實(shí)施例,存儲(chǔ)裝置110是一快閃存儲(chǔ)器(flashdrive)、一隨機(jī)存取存儲(chǔ)器(randomaccessmemory,RAM)、一非易失性隨機(jī)存取存儲(chǔ)器(non-volatilerandom-accessmemory,NVRAM)、一只讀存儲(chǔ)器(read-onlymemory)、一電子可抹除可編程只讀存儲(chǔ)器(electricallyerasableprogrammableread-onlymemory,EEPROM)或一郵箱寄存器(mailboxregister)。此外,該管理員可以藉由分析存儲(chǔ)起來(lái)的該BIOS記錄數(shù)據(jù)來(lái)決定在執(zhí)行一修改的BIOS時(shí)失敗的可能原因。圖2為一BIOS回復(fù)管理系統(tǒng)的一BIOS備份過(guò)程的一實(shí)施例的流程圖200??梢岳斫獾氖?,除了其他特別聲明外,可能會(huì)有額外、較少或可替代的步驟以相似或替代的順序或平行的順序來(lái)實(shí)施,其包含在本發(fā)明的不同實(shí)施例的范圍里。在步驟202中,一系統(tǒng)(如BIOS回復(fù)管理系統(tǒng)100)啟動(dòng)進(jìn)入一BIOS設(shè)定功能表,且顯示在一個(gè)服務(wù)器管理裝置上。舉例來(lái)說(shuō),如圖1所示,遠(yuǎn)端管理裝置101連線到服務(wù)器102來(lái)檢視服務(wù)器102的一目前BIOS設(shè)定。在步驟204中,一管理員可以修改該目前BIOS設(shè)定的一或多個(gè)參數(shù)。舉例來(lái)說(shuō),遠(yuǎn)端管理裝置101使用一網(wǎng)絡(luò)接口(如局域網(wǎng)絡(luò)上的加強(qiáng)型遠(yuǎn)端管理控制協(xié)議)來(lái)發(fā)送一修改BIOS配置數(shù)據(jù)(modifiedBIOSconfigurationdata)至基板管理控制器106,并且相對(duì)應(yīng)地改變?cè)撃壳癇IOS設(shè)定。舉例來(lái)說(shuō),在安裝一新的顯示卡在服務(wù)器102后,一管理員將BIOS設(shè)定功能表中的“主要影音(ActiveVideo)”改為所安裝的快速外圍組件互連卡(add-onPCIecard)。在步驟206中,該系統(tǒng)可為最近的一BIOS修改決定一BIOS回復(fù)模式。根據(jù)某些實(shí)施例,至少有三個(gè)BIOS回復(fù)模式:1.一自動(dòng)備份模式,可自動(dòng)地備份每一BIOS修改數(shù)據(jù)。2.一手動(dòng)備份模式,會(huì)進(jìn)一步詢問(wèn)一管理員是否要備份最近的BIOS修改數(shù)據(jù)。3.一停用備份模式,會(huì)停用一BIOS回復(fù)功能并且允許該系統(tǒng)像一個(gè)普通的計(jì)算機(jī)系統(tǒng)般工作。在步驟208中,當(dāng)該系統(tǒng)關(guān)聯(lián)于該手動(dòng)備份模式時(shí),其可用一詢問(wèn)訊息提示一管理員,例如:“你要存儲(chǔ)一最近的BIOS配置以用于之后的回復(fù)嗎?”。當(dāng)回答是肯定時(shí),如步驟210所述,該系統(tǒng)會(huì)存儲(chǔ)該最近的BIOS配置在一存儲(chǔ)裝置。相反地,當(dāng)回答是否定時(shí),該系統(tǒng)會(huì)跳過(guò)BIOS備份,并且開(kāi)始實(shí)行BIOS修改。另外,該系統(tǒng)可決定一組由該管理員所指定的規(guī)則,用以決定是否存儲(chǔ)一特定方面的一BIOS數(shù)據(jù)。舉例來(lái)說(shuō),所給予的該存儲(chǔ)裝置的容量是有限的,該管理員只需要選擇一或兩個(gè)存儲(chǔ)在存儲(chǔ)裝置110的關(guān)鍵的BIOS。相似地,當(dāng)該系統(tǒng)關(guān)聯(lián)于一停用備份模式時(shí),該系統(tǒng)可開(kāi)始實(shí)行該BIOS修改而不存儲(chǔ)任何先前的BIOS設(shè)定映像。在步驟210中,當(dāng)該系統(tǒng)關(guān)聯(lián)于一自動(dòng)備份模式時(shí),該系統(tǒng)自動(dòng)地存儲(chǔ)每一BIOS修改數(shù)據(jù)至一存儲(chǔ)裝置。該BIOS修改數(shù)據(jù)包含詳細(xì)的編輯信息,其關(guān)于該BIOS的各種參數(shù)。舉例來(lái)說(shuō),當(dāng)有兩個(gè)或多個(gè)可啟動(dòng)的裝置時(shí),可改變一啟動(dòng)優(yōu)先順序而允許其中一個(gè)裝置代替其他裝置來(lái)啟動(dòng)。例如,在安裝一個(gè)新的顯示卡在服務(wù)器102時(shí),一管理員將BIOS設(shè)定功能表中的”主要影音(ActiveVideo)”改為所安裝的快速外圍組件互連卡(add-onPCIecard)。BIOS修改數(shù)據(jù)包含在一預(yù)定時(shí)間區(qū)間內(nèi)(例如一年)的BIOS記錄數(shù)據(jù)。此外,BIOS修改數(shù)據(jù)也可在一數(shù)量上設(shè)置一上限,該上限由該管理員所定義或者是受限于該存儲(chǔ)裝置的數(shù)據(jù)容量。該存儲(chǔ)裝置可以是任意的存儲(chǔ)介質(zhì)且配置以存儲(chǔ)程序指令或一時(shí)間區(qū)間的數(shù)據(jù)。舉例來(lái)說(shuō),存儲(chǔ)裝置110在基板管理控制器106與BIOS104之間的一共享存儲(chǔ)器(sharedmemory),且存儲(chǔ)裝置110耦接至基本輸入輸出系統(tǒng)104或基板管理控制器106。存儲(chǔ)裝置110是一獨(dú)立的存儲(chǔ)裝置。根據(jù)某些實(shí)施例,存儲(chǔ)裝置110是一快閃存儲(chǔ)器(flashdrive)、一隨機(jī)存取存儲(chǔ)器(randomaccessmemory,RAM)、一非易失性隨機(jī)存取存儲(chǔ)器(non-volatilerandom-accessmemory,NVRAM)、一只讀存儲(chǔ)器(read-onlymemory)、一電 子可抹除可編程只讀存儲(chǔ)器(electricallyerasableprogrammableread-onlymemory,EEPROM)或一郵箱寄存器(mailboxregister)。此外,當(dāng)存儲(chǔ)裝置110關(guān)聯(lián)于基板管理控制器106時(shí),BIOS104通過(guò)一系統(tǒng)總線傳送該BIOS修改數(shù)據(jù)至基板管理控制器106。在步驟212中,該系統(tǒng)可以重新開(kāi)始實(shí)行該BIOS修改數(shù)據(jù)。舉例來(lái)說(shuō),BIOS104重置服務(wù)器102,以使一新修改后的BIOS數(shù)據(jù)可以生效。在步驟214,該系統(tǒng)可以正常啟動(dòng)。舉例來(lái)說(shuō),中央處理器112存取存儲(chǔ)在一BIOS存儲(chǔ)器或芯片中的BIOS104,并且執(zhí)行程序指令以初始化服務(wù)器102。在步驟216中,該系統(tǒng)可以決定最近修改后的一BIOS數(shù)據(jù)是否損壞。舉例來(lái)說(shuō),當(dāng)一或多個(gè)BIOS參數(shù)不正確或不相容于該系統(tǒng)時(shí),服務(wù)器102不能被重新啟動(dòng)。BIOS數(shù)據(jù)的損壞可能歸因于各種原因,例如將程序代碼寫入一存儲(chǔ)器裝置時(shí)的錯(cuò)誤,或存儲(chǔ)最近的該BIOS修改的一存儲(chǔ)器單元中的失效。根據(jù)某些實(shí)施例,一校驗(yàn)功能會(huì)執(zhí)行在該BIOS的至少一部分上。根據(jù)某些實(shí)施例,一監(jiān)視器(watchdog)的一超時(shí)(timeout)指出了該BIOS并沒(méi)有按照計(jì)畫執(zhí)行完成。在步驟218中,當(dāng)檢測(cè)到該BIOS的損壞,該系統(tǒng)可設(shè)置一錯(cuò)誤指示,例如一“無(wú)效(invalid)”標(biāo)志,其用于后續(xù)的動(dòng)作,例如以一選定的BIOS設(shè)定映像將錯(cuò)誤的該BIOS刷新。此動(dòng)作會(huì)在之后解釋??商娲?,在步驟220中,當(dāng)該系統(tǒng)正常啟動(dòng)時(shí),該系統(tǒng)可以設(shè)置一“有效(valid)”標(biāo)志。圖3為一BIOS回復(fù)管理系統(tǒng)的一BIOS回復(fù)過(guò)程的一實(shí)施例的流程圖300??梢岳斫獾氖?,過(guò)程中可存在額外的、較少的或者是替代的步驟以相似或替代的順序,或者平行的方式實(shí)施。除非有特別聲明,否則仍屬于本發(fā)明各種實(shí)施例的范圍內(nèi)。在步驟302中,在一BIOS修改后,該系統(tǒng)(如BIOS回復(fù)管理系統(tǒng)100)會(huì)檢測(cè)到該系統(tǒng)BIOS的損壞,如在開(kāi)機(jī)自我檢測(cè)程序中的一系統(tǒng)當(dāng)機(jī)。舉例來(lái)說(shuō),該系統(tǒng)檢測(cè)到圖2中步驟218所設(shè)置的該錯(cuò)誤指示。在步驟304中,在一基板管理控制器所管理的圖形使用者接口中,一管理員可選擇一BIOS設(shè)定或映像。舉例來(lái)說(shuō),一管理員使用遠(yuǎn)端管理裝置101來(lái)要求一BIOS修改記錄(BIOSmodificationlog)顯示在由基板管理控制器106 所管理(host)的一網(wǎng)頁(yè)接口上?;骞芾砜刂破?06通過(guò)一網(wǎng)頁(yè)接口管理(host)圖形使用者接口108(GraphicalUserInterface,GUI),其顯示包含一BIOS選項(xiàng)記錄中多個(gè)可選擇的BIOS設(shè)定映像的一圖形化使用者接口。舉例來(lái)說(shuō),基板管理控制器106提取在存儲(chǔ)裝置110中的BIOS記錄數(shù)據(jù)。于是一管理員瀏覽該可選擇的多個(gè)BIOS設(shè)定映像并且選擇一較佳的BIOS設(shè)定映像,用以覆蓋該錯(cuò)誤的系統(tǒng)的BIOS。舉例來(lái)說(shuō),通過(guò)一網(wǎng)頁(yè)接口在遠(yuǎn)端管理裝置101上的圖形使用者接口108顯示BIOS設(shè)定映像的選項(xiàng)的一列表。基于該系統(tǒng)的需要,一管理員因此選擇一BIOS設(shè)定映像來(lái)取代該錯(cuò)誤的BIOS設(shè)定。因此,基板管理控制器106通知BIOS104哪一個(gè)BIOS設(shè)定映像已經(jīng)被選定來(lái)啟動(dòng)該系統(tǒng)。在步驟306中,該系統(tǒng)可以所選定的該BIOS設(shè)定映像或設(shè)定來(lái)重新啟動(dòng)。舉例來(lái)說(shuō),該系統(tǒng)提取BIOS數(shù)據(jù)信息,其關(guān)聯(lián)于存儲(chǔ)在存儲(chǔ)裝置110中的所選定的該BIOS設(shè)定映像。在步驟308中,該系統(tǒng)可決定是否用一所選定的BIOS設(shè)定來(lái)回復(fù)BIOS。舉例來(lái)說(shuō),通過(guò)一系統(tǒng)總線,BIOS104在先前的開(kāi)機(jī)自我檢測(cè)程序過(guò)程中詢問(wèn)基板管理控制器106決定是否該系統(tǒng)需要回復(fù)一所選定的BIOS設(shè)定映像。在步驟310中,當(dāng)該系統(tǒng)確定要由一所選定的BIOS設(shè)定映像重新啟動(dòng)時(shí),BIOS104可提取存儲(chǔ)裝置110中的該BIOS設(shè)定映像數(shù)據(jù)。在步驟312中,該BIOS可回復(fù)所選定的該BIOS設(shè)定映像或設(shè)定。舉例來(lái)說(shuō),可將所選定的該BIOS設(shè)定映像刷入給BIOS104使用的一存儲(chǔ)器裝置,例如一電子可抹除可編程只讀存儲(chǔ)器。根據(jù)某些實(shí)施例,一BIOS驅(qū)動(dòng)程序?qū)⒃却嬖诘囊籅IOS設(shè)定替換為所選定的該BIOS設(shè)定。在步驟314中,在該BIOS用所選定的該BIOS設(shè)定取代后,該系統(tǒng)會(huì)正常地重新啟動(dòng)??商娲?,依據(jù)所存儲(chǔ)的設(shè)定,該系統(tǒng)可繼續(xù)該啟動(dòng)程序。圖4為藉由使用一硬件的跳線器達(dá)成一BIOS回復(fù)管理系統(tǒng)的一BIOS回復(fù)過(guò)程的一實(shí)施例的流程圖。根據(jù)某些實(shí)施例,將該錯(cuò)誤BIOS替換成該選定的BIOS的步驟藉由在該主機(jī)板上的一機(jī)械式開(kāi)關(guān)或一硬件跳線器來(lái)啟動(dòng)。舉例來(lái)說(shuō),當(dāng)該系統(tǒng)(如BIOS回復(fù)管理系統(tǒng)100)沒(méi)有基板管理控制器或基板管理控制器發(fā)生故障時(shí),硬件的一跳線器可如本文所述用來(lái)觸發(fā)一BIOS設(shè)定回復(fù)。在步驟402中,在一BIOS修改后,該使用者會(huì)發(fā)現(xiàn)到該系統(tǒng)BIOS的損 壞,如在開(kāi)機(jī)自我檢測(cè)程序中的一系統(tǒng)當(dāng)機(jī)。舉例來(lái)說(shuō),該BIOS發(fā)生故障并且無(wú)法啟動(dòng)至一操作系統(tǒng)。可替代地,該系統(tǒng)可藉由一超時(shí)機(jī)制(例如一監(jiān)視器超時(shí)機(jī)制)判斷出此新的BIOS設(shè)定是故障的并且無(wú)法啟動(dòng)該計(jì)算機(jī)。因此,該系統(tǒng)無(wú)法自動(dòng)地觸發(fā)一BIOS回復(fù)程序,例如回復(fù)到最新的可運(yùn)作的BIOS設(shè)定。在步驟404中,該系統(tǒng)可檢測(cè)到用來(lái)觸發(fā)一回復(fù)程序的一跳線器。舉例來(lái)說(shuō),一管理員關(guān)閉該系統(tǒng)的電源,開(kāi)啟該服務(wù)器機(jī)殼并設(shè)置一跳線器。在步驟406中,該系統(tǒng)檢測(cè)到該跳線器而可以被開(kāi)機(jī)。舉例來(lái)說(shuō),一管理員將該系統(tǒng)開(kāi)機(jī)。在步驟408中,該系統(tǒng)可以接收該跳線器的狀態(tài)數(shù)據(jù)。舉例來(lái)說(shuō),如圖1所示,BIOS104讀取一寄存器以提取該跳線器的狀態(tài)數(shù)據(jù)。在步驟410中,該系統(tǒng)基于該跳線器的狀態(tài)數(shù)據(jù),決定是否回復(fù)一BIOS設(shè)定或映像。舉例來(lái)說(shuō),BIOS104讀取該跳線器的狀態(tài)數(shù)據(jù)來(lái)決定該系統(tǒng)是否需要回復(fù)一選定的BIOS設(shè)定映像。當(dāng)一跳線器被安裝或一開(kāi)關(guān)被啟動(dòng)時(shí),藉由讀取存儲(chǔ)在一寄存器中的該狀態(tài)數(shù)據(jù)可決定該跳線器的一高狀態(tài)(highstatus),其需要回復(fù)一選定的BIOS設(shè)定。在步驟412中,當(dāng)該系統(tǒng)決定需要回復(fù)一BIOS設(shè)定時(shí),該系統(tǒng)可從一存儲(chǔ)裝置提取先前可用的或有效的(Active)BIOS設(shè)定。舉例來(lái)說(shuō),如圖1所示,BIOS104于存儲(chǔ)裝置110中提取一最近有效的BIOS設(shè)定。在步驟414中,該系統(tǒng)可回復(fù)所提取的BIOS設(shè)定。舉例來(lái)說(shuō),該最近的BIOS設(shè)定被刷入給BIOS104使用的一存儲(chǔ)器裝置。根據(jù)某些實(shí)施例,一BIOS驅(qū)動(dòng)程序?qū)⒃却嬖诘囊籅IOS設(shè)定替換為該最近的BIOS設(shè)定。在步驟416中,在損壞的BIOS被該最近有效的BIOS設(shè)定取代后,該系統(tǒng)會(huì)正常啟動(dòng)??商娲?,依據(jù)所存儲(chǔ)的設(shè)定,該系統(tǒng)可繼續(xù)該啟動(dòng)程序或重新起動(dòng)系統(tǒng)。圖5用來(lái)實(shí)施第1至5圖中的該系統(tǒng)以及程序的一計(jì)算平臺(tái)500的架構(gòu)的一實(shí)施例。計(jì)算平臺(tái)500包含一總線518,用以使子系統(tǒng)與裝置(例如一基板管理控制器502、一處理器504、一系統(tǒng)存儲(chǔ)器506、一輸入裝置508、一網(wǎng)絡(luò)接口510、一顯示器512以及一存儲(chǔ)裝置514)互相連接。處理器504可以一或多個(gè)中央處理器(CPUs)實(shí)施,例如英特爾公司生產(chǎn)的CPU。或可以一或多個(gè)虛擬處理器實(shí)施,也可以用CPU與虛擬處理器的任意組合來(lái)實(shí)施。計(jì) 算平臺(tái)500藉由輸入裝置508以及顯示器512來(lái)交換表示輸入與輸出的數(shù)據(jù),該等輸入輸出裝置可包含但不限于;鍵盤、鼠標(biāo)、音頻輸入(如語(yǔ)音輸入裝置)、使用者接口、顯示器、監(jiān)視器、游標(biāo)、觸控顯示器、液晶顯示器(LCDdisplay)或發(fā)光二極管顯示器(LEDdisplay),以及其他輸入/輸出裝置。根據(jù)某些實(shí)施例,計(jì)算平臺(tái)500藉由處理器504執(zhí)行特定的操作,如執(zhí)行存儲(chǔ)在系統(tǒng)存儲(chǔ)器506中的一或多個(gè)序列、或者一或多個(gè)指令。計(jì)算平臺(tái)500可實(shí)施成一客戶端-服務(wù)器架構(gòu)、點(diǎn)對(duì)點(diǎn)配置或作為任意的移動(dòng)運(yùn)算裝置(如智能手機(jī)等)中的一服務(wù)器裝置或一客戶端裝置。上述的指令或數(shù)據(jù)可由另外的計(jì)算機(jī)可讀取介質(zhì)(如一存儲(chǔ)裝置)讀進(jìn)系統(tǒng)存儲(chǔ)器506。在某些實(shí)施例中,硬件連接電路(hard-wiredcircuitry)可取代軟件指令的結(jié)合來(lái)實(shí)施。指令可以被嵌入在軟件或固件內(nèi)。”計(jì)算機(jī)可讀取介質(zhì)”這個(gè)術(shù)語(yǔ)指的是任何參與提供指令給處理器504來(lái)執(zhí)行的有形介質(zhì)。上述介質(zhì)可以具有很多形式,可包含但不限于:非易失介質(zhì)以及易失介質(zhì)。非易失介質(zhì)包含如光盤或磁盤等。易失介質(zhì)包含動(dòng)態(tài)存儲(chǔ)器,如系統(tǒng)存儲(chǔ)器506。一般計(jì)算機(jī)可讀取介質(zhì)的形式包含:軟盤(floppydisk)、可撓性碟片(flexibledisk)、硬盤、磁帶、任何其余的磁性介質(zhì)、CD-ROM、任何其余的光學(xué)介質(zhì)、打孔卡片(punchcards)、紙帶(papertape)、任何其余的帶有洞的圖案的物理介質(zhì)、隨機(jī)存取存儲(chǔ)器(RAM)、可編程只讀存儲(chǔ)器(PROM)、可抹除可編程只讀存儲(chǔ)器(EPROM)、清除-可抹除可編程只讀存儲(chǔ)器(FLUSH-EPROM)、其余任何存儲(chǔ)器芯片或卡匣(cartridge)、或任何其余可讓計(jì)算機(jī)讀取的介質(zhì)。指令可進(jìn)一步被一傳輸介質(zhì)所傳送或接收?!皞鬏斀橘|(zhì)”這個(gè)術(shù)語(yǔ)可包含任何有形或無(wú)形的介質(zhì),其可用來(lái)存儲(chǔ)、編碼或承載用來(lái)給機(jī)器執(zhí)行的指令,并且包含數(shù)字或模擬通信信號(hào)或其余促進(jìn)上述指令的通信的無(wú)形介質(zhì)。傳輸介質(zhì)包含同軸電纜、銅線以及光纖,其包含了用來(lái)傳輸一計(jì)算機(jī)數(shù)據(jù)信號(hào)的總線518的導(dǎo)線。如例子中所示,系統(tǒng)存儲(chǔ)器506可包含各種軟件程序,其包含可執(zhí)行指令以實(shí)施本文中的功能。如此例子所示,系統(tǒng)存儲(chǔ)器506包含一記錄管理器(logmanager)、一記錄緩沖器(logbuffer)或一記錄庫(kù)(logrepository),其中每一個(gè)皆可配置以提供一或多個(gè)本文中所述的功能。前述內(nèi)文概述了許多實(shí)施例的特征,使本領(lǐng)域技術(shù)人員可以從各個(gè)方面更佳地了解本公開(kāi)。本領(lǐng)域技術(shù)人員應(yīng)可理解,且可輕易地以本公開(kāi)為基礎(chǔ) 來(lái)設(shè)計(jì)或修飾,并以此達(dá)到相同的目的和/或達(dá)到與在此介紹的實(shí)施例等相同的優(yōu)點(diǎn)。本領(lǐng)域技術(shù)人員也應(yīng)了解這些相等的架構(gòu)并未背離本公開(kāi)的發(fā)明精神與范圍。在不背離本公開(kāi)的發(fā)明精神與范圍之前提下,可對(duì)本公開(kāi)進(jìn)行各種改變、置換或修改。當(dāng)前第1頁(yè)1 2 3 當(dāng)前第1頁(yè)1 2 3