專利名稱::自動(dòng)恢復(fù)bios的方法以及使用該方法的電腦與系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明是有關(guān)于一種電腦,且特別是有關(guān)于一種自動(dòng)恢復(fù)基本輸入輸出系統(tǒng)(BasicInput/OutputSyst柳,BIOS)的方法以及使用該方法的電腦與系統(tǒng)。
背景技術(shù):
:基本輸入輸出系統(tǒng)(BasicInput/OutputSystem,以下稱BIOS)是存儲(chǔ)在快閃存儲(chǔ)器(FlashMemory)中。在實(shí)際的使用過程中,可能會(huì)不小心毀損BI0S。例如,在更新BIOS的過程中,一旦發(fā)生突發(fā)性斷電的意外,將會(huì)導(dǎo)致整個(gè)BIOS內(nèi)容毀壞,而使整個(gè)電腦系統(tǒng)無法順利開機(jī)。必需將整臺(tái)電腦系統(tǒng)送回原廠商維修,以便恢復(fù)BIOS。雖然目前市面上有關(guān)于保護(hù)BIOS的技術(shù)相當(dāng)多,例如,在單一BIOS的系統(tǒng)下,安排有一硬件機(jī)制去保護(hù)BIOS內(nèi)的開機(jī)區(qū)塊(bootblock),以免上述情形發(fā)生導(dǎo)致毀壞此一開機(jī)區(qū)塊。但此種方法有其缺陷,就是其無法對(duì)BIOS內(nèi)的開機(jī)區(qū)塊做更新;但是基于某些理由,我們經(jīng)常須要對(duì)BIOS內(nèi)的開機(jī)區(qū)塊做更新工作例如存儲(chǔ)器的初始化程序代碼其存于BIOS內(nèi)的開機(jī)區(qū)塊,縱使電腦系統(tǒng)已經(jīng)出貨了,但因存儲(chǔ)器的相容性問題而須修改存儲(chǔ)器的初始化程序代碼時(shí),就必須更新BIOS內(nèi)的開機(jī)區(qū)塊;故此種并非是好方法。另外一個(gè)例子則是使用雙mOS(dualBIOS)。當(dāng)其中一個(gè)BIOS毀壞時(shí),電腦可以切換至另一個(gè)BIOS以順利開機(jī)。由于電腦已經(jīng)具備兩套BIOS,因此不用對(duì)BIOS的開機(jī)區(qū)塊提供硬件保護(hù)。因?yàn)?,縱使某一BIOS的開機(jī)區(qū)塊受損壞,電腦依然可以由另一BIOS開機(jī),并將受損的BIOS回復(fù)。此種方法雖然解決了上述方法的缺陷,然而,此一現(xiàn)有技術(shù)必須具有雙BIOS的支持,其所需要的電腦系統(tǒng)的硬件成本較高。是否有一種方法能解決上述二種方法的缺陷,其只要一個(gè)BIOS并能對(duì)其開機(jī)區(qū)塊做更新且只須要增加少許的硬件線路,縱使其開機(jī)區(qū)塊內(nèi)容毀壞也能自動(dòng)將其恢復(fù),此乃急待解決的課題。
發(fā)明內(nèi)容本發(fā)明提供一種自動(dòng)恢復(fù)基本輸入輸出系統(tǒng)(BIOS)的方法,由基板管理控制器自動(dòng)檢測(cè)BIOS的好壞,并從遠(yuǎn)端裝置透過網(wǎng)絡(luò)對(duì)本地端電腦進(jìn)行BIOS的恢復(fù)。本發(fā)明提供一種電腦與系統(tǒng),不需要安排額外的硬件機(jī)制去保護(hù)BIOS的開機(jī)區(qū)塊,不論BIOS存儲(chǔ)器有無完好的BIOS,皆可從遠(yuǎn)端裝置透過網(wǎng)絡(luò)對(duì)本地端電腦進(jìn)行BIOS的恢復(fù)。為解決上述問題,本發(fā)明提出一種自動(dòng)恢復(fù)BIOS的方法以及使用該方法的電腦與系統(tǒng)。在本地端電腦上,由基板管理控制器檢測(cè)BIOS是否正常,并獲得檢測(cè)結(jié)果。依據(jù)此檢測(cè)結(jié)果,由基板管理控制器對(duì)遠(yuǎn)端裝置發(fā)出恢復(fù)BIOS通知。再依據(jù)恢復(fù)BIOS通知,由遠(yuǎn)端裝置提供BIOS文件給基板管理控制器。并于本地端電腦上,由基板管理控制器將BIOS文件寫入BIOS存儲(chǔ)器,以恢復(fù)BIOS。本發(fā)明提出--種電腦,包括中央處理單元、基板管理控制器、BIOS存儲(chǔ)器、第一開關(guān)單元以及第二開關(guān)單元。基板管理控制器連接至一網(wǎng)絡(luò),其中當(dāng)電腦被關(guān)機(jī)時(shí),基板管理控制器依然為使能。BIOS存儲(chǔ)器用以存儲(chǔ)BIOS。第一開關(guān)單元耦接于中央處理單元與BIOS存儲(chǔ)器之間第二開關(guān)單元耦接于基板管理控制器與BIOS存儲(chǔ)器之間。其中當(dāng)基板管理控制器檢測(cè)到BIOS為不正常時(shí),由基板管理控制器透過網(wǎng)絡(luò)對(duì)遠(yuǎn)端裝置發(fā)出恢復(fù)BIOS通知。并由遠(yuǎn)端裝置透過網(wǎng)絡(luò)提供BIOS文件給基板管理控制器。以及由基板管理控制器將BIOS文件寫入BIOS存儲(chǔ)器,以恢復(fù)BIOS。本發(fā)明提出一種電腦系統(tǒng),包括遠(yuǎn)端裝置、網(wǎng)絡(luò)以及本地端電腦。本地端電腦透過網(wǎng)絡(luò)耦接至遠(yuǎn)端裝置,其中該本地端電腦包括中央處理單元、基板管理控制器、BIOS存儲(chǔ)器、第一開關(guān)單元以及第二開關(guān)單元。本發(fā)明由基板管理控制器自動(dòng)檢測(cè)BIOS的好壞,并自動(dòng)恢復(fù)BIOS,因此不論BIOS存儲(chǔ)器有無完好的BIOS,皆可從遠(yuǎn)端裝置透過網(wǎng)絡(luò)對(duì)本地端電腦進(jìn)行BIOS恢復(fù)。亦即當(dāng)本地端電腦的BIOS開機(jī)區(qū)塊為損毀而造成本地端電腦系統(tǒng)的當(dāng)機(jī)或無法開機(jī)時(shí),基板管理控制器均能夠自動(dòng)檢測(cè)此一情況,并通過網(wǎng)絡(luò)將BIOS恢復(fù)。因此本發(fā)明可以為單一BIOS系統(tǒng),并不需要增加額外的硬件機(jī)制去保護(hù)BIOS的開機(jī)區(qū)塊,以降低電腦系統(tǒng)的硬件成本。為讓本發(fā)明的上述特征和優(yōu)點(diǎn)能更明顯易懂,下文特舉較佳實(shí)施例,并配合附圖作詳細(xì)說明如下。圖1繪示為依照本發(fā)明一實(shí)施例的一種自動(dòng)恢復(fù)基本輸入輸出系統(tǒng)方法的步驟流程圖。圖2繪示為依照本發(fā)明一較佳實(shí)施的一種自動(dòng)恢復(fù)BIOS的電腦及其電腦系統(tǒng)架構(gòu)圖。圖3繪示為依照另一實(shí)施例的自動(dòng)恢復(fù)基本輸入輸出系統(tǒng)方法的操作步驟流程圖。具體實(shí)施例方式圖l繪示為依照本發(fā)明一實(shí)施例的一種自動(dòng)恢復(fù)基本輸入輸出系統(tǒng)(BasicInput/OutputSystem,以下簡(jiǎn)稱BIOS)方法的步驟流程圖。步驟S110為在本地端電腦上,由基板管理控制器檢測(cè)BIOS的好壞,并獲得檢測(cè)結(jié)果。歩驟S120為根據(jù)此檢測(cè)結(jié)果,由基板管理控制器對(duì)遠(yuǎn)端裝置發(fā)出恢復(fù)BIOS通知。例如,若基板管理控制器檢測(cè)到BIOS已毀損,則由基板管理控制器對(duì)遠(yuǎn)端裝置發(fā)出"恢復(fù)BIOS通知"。步驟S130為根據(jù)此恢復(fù)BIOS通知,由遠(yuǎn)端裝置提供BIOS文件給基板管理控制器。步驟SHO則為在本地端電腦上,由基板管理控制器將遠(yuǎn)端裝置所提供的BIOS文件寫入BIOS存儲(chǔ)器中。因此,一旦本地端電腦的BIOS不正常而造成本地端電腦系統(tǒng)的當(dāng)機(jī)或無法開機(jī)時(shí),基板管理控制器可以自動(dòng)檢測(cè)此一情況,并從遠(yuǎn)端裝置取得BIOS文件,以便恢復(fù)本地端電腦的BIOS。因此本實(shí)施例可以為單一BIOS系統(tǒng),并不需要增加額外的硬件機(jī)制去保護(hù)BIOS之開機(jī)區(qū)塊,以降低電腦系統(tǒng)的硬件成本。圖2繪示為依照本發(fā)明一較佳實(shí)施例的一種自動(dòng)恢復(fù)BIOS的電腦及其電腦系統(tǒng)架構(gòu)圖。請(qǐng)參照?qǐng)D2,電腦系統(tǒng)包括遠(yuǎn)端裝置210、網(wǎng)絡(luò)22Q、本地端電腦230與數(shù)據(jù)庫(kù)240。本地端電腦230透過網(wǎng)絡(luò)220耦接至遠(yuǎn)端裝置210。遠(yuǎn)端裝置210耦接至數(shù)據(jù)庫(kù)240。數(shù)據(jù)庫(kù)240中存儲(chǔ)電腦系統(tǒng)中各個(gè)本地端電腦(例如電腦230與250)所霈要的BIOS文件(例如BIOSimage文件)。另外,數(shù)據(jù)庫(kù)240還具有各個(gè)本地端電腦的辨識(shí)數(shù)據(jù)與其BIOS文件二者之間的索引關(guān)系。其中網(wǎng)絡(luò)220可以是任何形式的網(wǎng)絡(luò),例如IP/UDP(InternetProtocol/UserDiagramProtocol)、RMCP(RemoteManagementControlProtocol)、HTTP等。而辨識(shí)數(shù)據(jù)可以是系統(tǒng)管理BIOS(Systemtonage鵬ntBIOS,SMBIOS)的身份辨識(shí)數(shù)據(jù)(UniversallyUniqueIdentifier,UUID)。本地端電腦230包括中央處理單元231、北橋芯片232、南橋芯片234、主存儲(chǔ)器233、輸入輸出芯片(Super1叩ut/0utput,SIO)235、第一開關(guān)單元236、第二開關(guān)單元238、第三開關(guān)單元240、BIOS存儲(chǔ)器237、基板管理控制器(BaseboardManagementController,以下簡(jiǎn)稱BMC)241、BMC快閃存儲(chǔ)器(BMCflash鵬moir)239以及BMC的非揮發(fā)性存儲(chǔ)器(NVRAM)242。中央處理單元231耦接至北橋芯片232。北橋芯片232耦接至南橋芯片234與主存儲(chǔ)器233。主存儲(chǔ)器233則存儲(chǔ)所執(zhí)行的程序代碼,中央處理單元231透過北橋芯片232存取主存儲(chǔ)器233所存儲(chǔ)的程序代碼。南橋芯片234通過低接腳數(shù)(LotPinCount,簡(jiǎn)稱LPC)總線耦接至輸入輸出芯片235。南橋芯片234與周邊裝置(例如硬盤、鍵盤以及鼠標(biāo)等周邊裝置)做溝通,并進(jìn)行數(shù)據(jù)傳輸?shù)墓ぷ?。輸入輸出芯?35可以提供序列方式的LPC總線與并列方式的延伸總線XBUS二者之間的數(shù)據(jù)轉(zhuǎn)換界面。第一開關(guān)單元236耦接至延伸總線XBUS與BIOS存儲(chǔ)器237之間。第一開關(guān)單元236受控于控制信號(hào)Y,此控制信號(hào)Y由基板管理控制器241提供。通過第一開關(guān)單元236所提供的信號(hào)路徑,BIOS存儲(chǔ)器237可以經(jīng)由第一開關(guān)單元236、延伸總線XBUS、輸入輸出芯片235、LPC總線、南橋芯片234與北橋芯片232耦接至中央處理單元231。BIOS存儲(chǔ)器237是用以存儲(chǔ)BIOS的固件程序代碼,并接受基板管理控制器241的控制信號(hào)X1,藉以決定其使能狀態(tài)。另外,具有此領(lǐng)域通常知識(shí)者也可以依據(jù)其需求而以各種方式實(shí)現(xiàn)BIOS存儲(chǔ)器237。例如,本實(shí)施例是以快閃存儲(chǔ)器來實(shí)現(xiàn)BIOS存儲(chǔ)器237。第二開關(guān)單元238耦接于BIOS存儲(chǔ)器237與BMC快閃存儲(chǔ)器239之間。第二開關(guān)單元238受控于控制信號(hào)W,此控制信號(hào)W由基板管理控制器241提供。在正常操作模式下,通過控制信號(hào)W控制第二開關(guān)單元238,使BIOS存儲(chǔ)器237與BMC快閃存儲(chǔ)器239之間保持截止?fàn)顟B(tài),以避免二者之存取操作相互午擾。但是當(dāng)基板管理控制器241使能控制信號(hào)ff時(shí),第二開關(guān)單元238會(huì)操作在導(dǎo)通狀態(tài)。第三開關(guān)單元240耦接于基板管理控制器241與第二開關(guān)單元238之間。在正常操作模式下,第三開關(guān)單元240受控于控制信號(hào)Z(由基板管理控制器241所提供)而保持導(dǎo)通狀態(tài),使基板管理控制器241得以存取BMC快閃存儲(chǔ)器239。于本實(shí)施例中,BMC快閃存儲(chǔ)器239是受控于控制信號(hào)X2(由基板管理控制器241所提供)而決定其使能狀態(tài)。BMC的非揮發(fā)性存儲(chǔ)器242耦接至基板管理控制器241。BMC的非揮發(fā)性存儲(chǔ)器242用以存儲(chǔ)基板管理控制器241的重要數(shù)據(jù)?;骞芾砜刂破?41包括網(wǎng)絡(luò)界面卡(NetworkInterfaceCard,NIC)控制器243與計(jì)時(shí)器244?;骞芾砜刂破?41透過其內(nèi)部的網(wǎng)絡(luò)界面卡控制器243連接至網(wǎng)絡(luò)220。基板管理控制器2"使用本地端電腦230的待機(jī)電壓源VSB,因此當(dāng)本地端電腦230被關(guān)機(jī)時(shí),基板管理控制器241依然為使能?;骞芾砜刂破?41使用計(jì)時(shí)器244計(jì)數(shù)BIOS進(jìn)行開機(jī)自我測(cè)試(Po艱erOnSelfTest,以下稱POST)所需的開機(jī)時(shí)間。換句話說,基板管理控制器241使用計(jì)時(shí)器244計(jì)時(shí)BIOS于POST階段是否發(fā)生超時(shí)(overtime)現(xiàn)象。依據(jù)計(jì)時(shí)器244的計(jì)時(shí)結(jié)果,若本地端電腦230操作在POST階段的開機(jī)時(shí)間超過一預(yù)設(shè)時(shí)間,則基板管理控制器241判定該BIOS為不正常。此時(shí)基板管理控制器241透過網(wǎng)絡(luò)220對(duì)遠(yuǎn)端裝置210下達(dá)恢復(fù)BIOS的通知。依據(jù)該恢復(fù)BIOS通知,由遠(yuǎn)端裝置210提供一BIOS文件給基板管理控制器241。于本地端電腦230,由基板管理控制器241將此BIOS文件寫入BIOS存儲(chǔ)器237,以恢復(fù)本地端電腦230的BIOS。其中,在基板管理控制器241將此BIOS文件寫入BIOS存儲(chǔ)器237的過程中,基板管理控制器241控制第一開關(guān)單元236而禁能BIOS存儲(chǔ)器237與中央處理單元231之間的連接,以及控制第二開關(guān)單元238與第三開關(guān)單元240而使能BIOS存儲(chǔ)器237與基板管理控制器241之間的連接,以便將新BIOS寫入BIOS存儲(chǔ)器237。圖3繪示為依照另一實(shí)施例的自動(dòng)恢復(fù)BIOS方法的操作步驟流程圖。在此實(shí)施例中,基板管理控制器241檢測(cè)BIOS是否正常的步驟,是以步驟S301與S303實(shí)現(xiàn)。步驟S301為當(dāng)BIOS于POST開始時(shí),由基板管理控制器241的計(jì)時(shí)器244計(jì)數(shù)該BIOS進(jìn)行POST所需的開機(jī)時(shí)間。即為開始啟動(dòng)基板管理控制器241的計(jì)時(shí)器244。步驟S303則為判斷BIOS的POST時(shí)間是否大于預(yù)設(shè)時(shí)間。于計(jì)時(shí)器244內(nèi)會(huì)預(yù)設(shè)一時(shí)間。此預(yù)設(shè)時(shí)間為本地端電腦230執(zhí)行完P(guān)OST的最大正常開機(jī)時(shí)間。當(dāng)BIOS于正常POST時(shí)間內(nèi)將開機(jī)區(qū)塊程序代碼執(zhí)行完成,則計(jì)時(shí)器244會(huì)被停止計(jì)時(shí),進(jìn)行步驟S304的不恢復(fù)BIOS,即繼續(xù)進(jìn)行其他開機(jī)程序,此時(shí)管理控制器241并開始將本地端電腦的各種重要數(shù)據(jù)寫入非揮發(fā)性存儲(chǔ)器(NVRAM)242中(步驟S302)。上述各種重要數(shù)據(jù)可以是系統(tǒng)管理BIOS(systemmanagementBIOS,SMBIOS)數(shù)據(jù),其可能包括BIOS信息(即SMBIOStype0)、系統(tǒng)信息(即SMBIOStype1)、基板信息(即S朋IOStype2)及/或系統(tǒng)機(jī)箱(systemenclosureorchassis,即SMBIOStype3)等數(shù)據(jù)。本地端電腦230可利用智慧平臺(tái)管理界面(IntelligentPlatformManagementInterface,以下簡(jiǎn)稱IPMI)命令將上述各種重要數(shù)據(jù)寫入BMC的非揮發(fā)性存儲(chǔ)器242。若BIOS于預(yù)設(shè)時(shí)間內(nèi)未執(zhí)行完開機(jī)區(qū)塊程序代碼,則計(jì)時(shí)器244發(fā)生超時(shí),進(jìn)行歩驟S305。步驟S305為由基板管理控制器241對(duì)遠(yuǎn)端裝置210發(fā)出恢復(fù)BIOS通知。前述"恢復(fù)BIOS通知"可以是IPMI命令。遠(yuǎn)端裝置210的系統(tǒng)管理軟件(SystemManagementSoftware,SMS)會(huì)去檢査基板管理控制器241的事件記錄。若事件記錄顯示基板管理控制器241已發(fā)出恢復(fù)BIOS通知,則進(jìn)行步驟S306。在此實(shí)施例中,由遠(yuǎn)端裝置210提供BIOS文件給基板管理控制器241的步驟,以及將BIOS文件寫入BIOS存儲(chǔ)器237的歩驟,是以步驟S305S322實(shí)現(xiàn)。步驟S306為遠(yuǎn)端裝置210的系統(tǒng)管理軟件啟動(dòng)BIOS恢復(fù)功能。接著進(jìn)行歩驟S307,遠(yuǎn)端裝置210的系統(tǒng)管理軟件將一指令下達(dá)至基板管理控制器241,以向其取得本地端電腦230的辨識(shí)數(shù)據(jù)。如前所述,此辨識(shí)數(shù)據(jù)可以是S腿I0SUUID。于本實(shí)施例中,此指令可以是IPMI的指令。于步驟S308,遠(yuǎn)端裝置210的系統(tǒng)管理軟件依據(jù)所接收的辨識(shí)數(shù)據(jù),去從數(shù)據(jù)庫(kù)240中找出與所接收的辨識(shí)數(shù)據(jù)相符合的BIOS文件(例如影像文件BIOS.img),以便于后續(xù)步驟中傳送給基板管理控制器241。于本實(shí)施例中,數(shù)據(jù)庫(kù)240具有如表1所示的索引表。通過索引表,遠(yuǎn)端裝置210可以査詢各個(gè)本地端電腦的辨識(shí)數(shù)據(jù)與其BIOS文件二者之間的索引關(guān)系。表1之第一個(gè)欄位為身份辨識(shí)數(shù)據(jù),遠(yuǎn)端裝置210依據(jù)所接收的辨識(shí)數(shù)據(jù)(例如加ID)而在第一個(gè)欄位中査找,以便于第二個(gè)欄位中找出相符的BIOS文件及其存放位置。而第三欄位則是說明此MOS文件相符合的機(jī)型。表1:各個(gè)本地端電腦的辨識(shí)數(shù)據(jù)與其BIOS文件二者之間的索引表。<table>tableseeoriginaldocumentpage13</column></row><table>于步驟309,遠(yuǎn)端裝置210將BIOS文件準(zhǔn)備妥當(dāng)后,便把BIOS文件切分成多筆BIOS數(shù)據(jù),以利于后續(xù)步驟中將BIOS文件一筆一筆傳輸至基板管理控制器241。本實(shí)施例是以切分成好幾筆的BIOS數(shù)據(jù)傳輸至管理控制器241,遠(yuǎn)端裝置210亦可以將BIOS—次傳送給管理控制器241而不進(jìn)行切分。此乃視網(wǎng)絡(luò)220的傳輸頻寬限制,或是基板管理控制器241可以暫存數(shù)據(jù)的存儲(chǔ)容量限制而定。若基板管理控制器241可以暫存數(shù)據(jù)的存儲(chǔ)容量不足,遠(yuǎn)端裝置210可能必需要將BIOS文件切分為多個(gè)BIOS數(shù)據(jù),然后一個(gè)接著一個(gè)地將這些BIOS數(shù)據(jù)傳送給基板管理控制器241。當(dāng)然,若基板管理控制器241的存儲(chǔ)容量足夠存儲(chǔ)完整的BIOS文件,則遠(yuǎn)端裝置210亦可以將BIOS文件一次傳送給基板管理控制器241而不需進(jìn)行切分的動(dòng)作。之后再由遠(yuǎn)端裝置210對(duì)基板管理控制器241下達(dá)關(guān)機(jī)指令(步驟S310)。此關(guān)機(jī)命令可以是IPMImessage(request)?;骞芾砜刂破?41依據(jù)此一關(guān)機(jī)命令,使本地端電腦230關(guān)機(jī)。如前所述,當(dāng)本地端電腦230被關(guān)機(jī)時(shí),基板管理控制器241依然為使能。因此本地端電腦230關(guān)機(jī)后,基板管理控制器241依然可以繼續(xù)執(zhí)行之后的運(yùn)行。再進(jìn)行步驟S311,由遠(yuǎn)端裝置210對(duì)基板管理控制器241下達(dá)恢復(fù)命令。此恢復(fù)命令也可以是智慧平臺(tái)管理界面之指令。基板管理控制器241便依據(jù)此恢復(fù)命令而著手進(jìn)行準(zhǔn)備工作。例如,進(jìn)行歩驟S312。于步驟S312,基板管理控制器241可以通過控制信號(hào)Y去控制開關(guān)單元236,以禁能BIOS存儲(chǔ)器237與中央處理單元231之間的連接;以及通過控制信號(hào)W、Z去控制開關(guān)單元238與240,以使能BIOS存儲(chǔ)器237與基板管理控制器241之間的連接。另外,基板管理控制器241更通過控制信號(hào)X2去禁能BMC快閃存儲(chǔ)器239;以及通過控制信號(hào)X1去使能BI0S存儲(chǔ)器237。。接著進(jìn)行步驟S313,基板管理控制器241抹除BIOS存儲(chǔ)器237的內(nèi)容。于步驟S3H,由遠(yuǎn)端裝置210透過網(wǎng)絡(luò)220,將上述切分成好幾筆的BIOS數(shù)據(jù)的其中一筆傳輸至基板管理控制器241。在此,遠(yuǎn)端裝置210可以利用IMPImessage夾帶一筆BIOS數(shù)據(jù)至基板管理控制器241。當(dāng)基板管理控制器241完整地接收到該些BIOS數(shù)據(jù)其中之一時(shí),基板管理控制器241立即地進(jìn)行步驟S315,以便將所接收到的BIOS數(shù)據(jù)進(jìn)行糾錯(cuò)碼檢査。例如檢査此BIOS數(shù)據(jù)的核對(duì)和(Checksum)。當(dāng)BIOS數(shù)據(jù)的糾錯(cuò)碼檢査無誤后,進(jìn)行步驟S316由基板管理控制器241將所接收到的BIOS數(shù)據(jù)寫入BIOS存儲(chǔ)器237內(nèi)。接著歩驟S317'由遠(yuǎn)端裝置210透過網(wǎng)絡(luò)220發(fā)出IPMI的指令去詢問基板管理控制器241,是否此次的BIOS數(shù)據(jù)已寫入BIOS存儲(chǔ)器237內(nèi)。若此次的BIOS數(shù)據(jù)尚未寫入BIOS存儲(chǔ)器237,則遠(yuǎn)端裝置210會(huì)暫停傳送下一筆BIOS數(shù)據(jù)。若此次的BIOS數(shù)據(jù)已成功寫入BIOS存儲(chǔ)器237,則繼續(xù)進(jìn)行歩驟S318。于步驟S318中,基板管理控制器241會(huì)判斷步驟S309所切分的多筆BIOS數(shù)據(jù)是否已全數(shù)傳送至本地端電腦230。若BIOS文件已經(jīng)完整地傳送給本地端電腦230,則遠(yuǎn)端裝置210會(huì)傳送IPMImessage至基板管理控制器241以便告知多筆BIOS數(shù)據(jù)已全數(shù)傳送完畢。因此,若遠(yuǎn)端裝置210尚未傳送"表示BIOS傳送完畢"的IPMImessage,則繼續(xù)進(jìn)行步驟S314,即遠(yuǎn)端裝置210將下一筆BIOS數(shù)據(jù)傳送給基板管理控制器241。若遠(yuǎn)端裝置210已將"表示BIOS傳送完畢"的IPMImessage傳送給基板管理控制器241,則進(jìn)行步驟S319。在步驟S319中,基板管理控制器241將步驟S302所備份的各種重要數(shù)據(jù)寫回BIOS存儲(chǔ)器237。至此,恢復(fù)BIOS的工作可以說已告一段落。繼續(xù)進(jìn)行步驟S320,基板管理控制器241可以通過控制信號(hào)Y去控制開關(guān)單元236,以使能BIOS存儲(chǔ)器237與中央處理單元231之間的連接;以及通過控制信號(hào)W、Z去控制開關(guān)單元238與240,以禁能BIOS存儲(chǔ)器237與基板管理控制器241之間的連接,且使能BMC快閃存儲(chǔ)器239與基板管理控制器241之間的連接。另外,基板管理控制器241更通過控制信號(hào)X2去使能BMC快閃存儲(chǔ)器239;以及通過控制信號(hào)XI去使能BIOS存儲(chǔ)器237。在步驟S321中,遠(yuǎn)端裝置210可以透過網(wǎng)絡(luò)220對(duì)基板管理控制器241下達(dá)IPMI的指令,詢問基板管理控制器241是否己成功更新BI0S。此詢問命令可以是IPMImessage(request)。依據(jù)該詢問命令,此時(shí)基板管理控制器241對(duì)遠(yuǎn)端裝置210回報(bào)是否已完整地將BIOS寫入本地端電腦230的BIOS存儲(chǔ)器237中。若基板管理控制器241回報(bào)的結(jié)果表示未成功恢復(fù)電腦230的BIOS,則再一次進(jìn)行步驟S311。若基板管理控制器241已完整地將BIOS文件寫入BIOS存儲(chǔ)器237,則遠(yuǎn)端裝置210透過網(wǎng)絡(luò)220對(duì)基板管理控制器241下達(dá)開機(jī)命令(步驟S322)。此開機(jī)命令可以是IPMImessage(request)?;骞芾砜刂破?41依據(jù)該開機(jī)命令,使本地端電腦230重新開機(jī)。當(dāng)本地端電腦230重新開機(jī)時(shí),基板管理控制器241依然為使能的狀態(tài)。綜上所述,在本發(fā)明可以通過基板管理控制器自動(dòng)檢測(cè)BIOS的好壞,并自動(dòng)恢復(fù)BIOS。因此無論BIOS存儲(chǔ)器有無完好的BIOS,皆可從遠(yuǎn)端裝置透過網(wǎng)絡(luò)對(duì)本地端電腦進(jìn)行BIOS恢復(fù)。故此電腦系統(tǒng)可以設(shè)計(jì)為單一BIOS系統(tǒng),且不需要增加額外的硬件機(jī)制去保護(hù)BIOS的開機(jī)區(qū)塊,可減少電腦系統(tǒng)的硬件成本。另外,由于本發(fā)明可自動(dòng)檢測(cè)BIOS的好壞并恢復(fù)BIOS,故不需要等到使用者于開機(jī)時(shí)發(fā)現(xiàn)BIOS已損壞再來進(jìn)行修復(fù)的動(dòng)作,于開機(jī)的操作上相當(dāng)便利。雖然本發(fā)明已以較佳實(shí)施例揭示如上,然其并非用以限定本發(fā)明,任何所屬
技術(shù)領(lǐng)域:
中具有通常知識(shí)者,在不脫離本發(fā)明的精神和范圍內(nèi),當(dāng)可作些許更動(dòng)與潤(rùn)飾,因此本發(fā)明的保護(hù)范圍當(dāng)以權(quán)利要求所界定的為準(zhǔn)。權(quán)利要求1.一種自動(dòng)恢復(fù)基本輸入輸出系統(tǒng)的方法,包括于一本地端電腦,由一基板管理控制器檢測(cè)該BIOS是否正常,并獲得一檢測(cè)結(jié)果;依據(jù)該檢測(cè)結(jié)果,由該基板管理控制器對(duì)一遠(yuǎn)端裝置發(fā)出一恢復(fù)BIOS通知;依據(jù)該恢復(fù)BIOS通知,由該遠(yuǎn)端裝置提供一BIOS文件給該基板管理控制器;以及于該本地端電腦,由該基板管理控制器將該BIOS文件寫入一BIOS存儲(chǔ)器,以恢復(fù)該BIOS。2.如權(quán)利要求l所述的自動(dòng)恢復(fù)BIOS的方法,其特征在于,由該基板管理控制器檢測(cè)該BIOS是否正常的步驟包括計(jì)數(shù)該BIOS進(jìn)行一開機(jī)自我測(cè)試所需的一開機(jī)時(shí)間;若該開機(jī)時(shí)間大于---預(yù)設(shè)時(shí)間,則判定該BIOS為不正常;以及產(chǎn)生該檢測(cè)結(jié)果以表示該BIOS為不正常。3.如權(quán)利要求l所述的自動(dòng)恢復(fù)BIOS的方法,其特征在于,該遠(yuǎn)端裝置提供BIOS文件給該基板管理控制器的步驟包括依據(jù)該恢復(fù)BIOS通知,啟動(dòng)該遠(yuǎn)端裝置的一遠(yuǎn)端裝置BIOS恢復(fù)功能由該遠(yuǎn)端裝置下達(dá)一命令至該基板管理控制器,以取得該本地端電腦的一辨、rti,m識(shí)數(shù)據(jù);依據(jù)該辨識(shí)數(shù)據(jù),由該遠(yuǎn)端裝置于一數(shù)據(jù)庫(kù)找出符合該本地端電腦的該BIOS文件以及將該BIOS文件傳送給該基板管理控制器。4.如權(quán)利要求3所述的自動(dòng)恢復(fù)BIOS的方法,其特征在于,該命令為一智慧平臺(tái)管理界面指令。5.如權(quán)利要求l所述的自動(dòng)恢復(fù)BIOS的方法,其特征在于,還包括由該遠(yuǎn)端裝置對(duì)該基板管理控制器下達(dá)一關(guān)機(jī)命令;以及依據(jù)該關(guān)機(jī)命令,由該基板管理控制器使該本地端電腦關(guān)機(jī),其中當(dāng)該本地端電腦被關(guān)機(jī)時(shí),該基板管理控制器依然為使能。6.如權(quán)利要求l所述的自動(dòng)恢復(fù)BIOS的方法,其特征在于,由該基板管理控制器將該BIOS文件寫入該BIOS存儲(chǔ)器的步驟包括將該BIOS文件切分為多個(gè)BIOS數(shù)據(jù);以及將該些BIOS數(shù)據(jù)傳輸至該基板管理控制器。7.如權(quán)利要求6所述的自動(dòng)恢復(fù)BIOS的方法,其特征在于,由該基板管理控制器將該BIOS文件寫入該BIOS存儲(chǔ)器的步驟還包括當(dāng)該基板管理控制器完整地接收到該些BIOS數(shù)據(jù)其中之一時(shí),該基板管理控制器立即地將所接收到的該BIOS數(shù)據(jù)進(jìn)行一糾錯(cuò)碼檢查。8.如權(quán)利要求7所述的自動(dòng)恢復(fù)BIOS的方法,其特征在于,該糾錯(cuò)碼檢査包括BIOSCheckSum。9.如權(quán)利要求6所述的自動(dòng)恢復(fù)BIOS的方法,其特征在于,由該基板管理控制器將該BIOS文件寫入該BIOS存儲(chǔ)器的步驟還包括-當(dāng)該基板管理控制器完整地接收到該些BIOS數(shù)據(jù)其中之一時(shí),該基板管理控制器立即地將所接收到的該BIOS數(shù)據(jù)寫入該BIOS存儲(chǔ)器。10.如權(quán)利要求I所述的自動(dòng)恢復(fù)BIOS的方法,其特征在于,由該基板管理控制器將該BIOS文件寫入該BIOS存儲(chǔ)器的歩驟包括于該本地端電腦,禁能該BIOS存儲(chǔ)器與一中央處理單元之間的連接;于該本地端電腦,使能該BIOS存儲(chǔ)器與該基板管理控制器之間的連接以及由該基板管理控制器將該BIOS文件寫入該BIOS存儲(chǔ)器。11.如權(quán)利要求l所述的自動(dòng)恢復(fù)BIOS的方法,其特征在于,由該基板管理控制器將該BIOS文件寫入該BIOS存儲(chǔ)器的步驟包括抹除該BIOS存儲(chǔ)器的內(nèi)容以及將該BIOS文件寫入該BIOS存儲(chǔ)器。12.如權(quán)利要求l所述的自動(dòng)恢復(fù)BIOS的方法,其特征在于,還包括-當(dāng)該基板管理控制器完整地將該BIOS文件寫入該BIOS存儲(chǔ)器,則該遠(yuǎn)端裝置對(duì)該基板管理控制器下達(dá)一開機(jī)命令;以及依據(jù)該開機(jī)命令,由該基板管理控制器使該本地端電腦重新開機(jī),其中當(dāng)該本地端電腦被重新開機(jī)時(shí),該基板管理控制器依然為使能。13.如權(quán)利要求l所述的自動(dòng)恢復(fù)BIOS的方法,其特征在于,還包括-由該遠(yuǎn)端裝置對(duì)該基板管理控制器下達(dá)一詢問命令以及依據(jù)該詢問命令,由該基板管理控制器回報(bào)是否完整地將該新BIOS文件寫入該本地端電腦的該BIOS存儲(chǔ)器。14.一種電腦,包括—中央處理單元一基板管理控制器,連接至一網(wǎng)絡(luò),其中當(dāng)該電腦被關(guān)機(jī)時(shí),該基板管理控制器依然為使能—BIOS存儲(chǔ)器,用以存儲(chǔ)一基本輸入輸出系統(tǒng);—第一開關(guān)單元,耦接于該中央處理單元與該BIOS存儲(chǔ)器之間以及一第二開關(guān)單元,耦接于該基板管理控制器與該BIOS存儲(chǔ)器之間其中當(dāng)該基板管理控制器檢測(cè)該BIOS為不正常時(shí),由該基板管理控制器透過該網(wǎng)絡(luò)對(duì)一遠(yuǎn)端裝置發(fā)出一恢復(fù)BIOS通知由該遠(yuǎn)端裝置透過該網(wǎng)絡(luò)提供一BIOS文件給該基板管理控制器;以及由該基板管理控制器將該BIOS文件寫入該BIOS存儲(chǔ)器,以恢復(fù)該BIOS。15.如權(quán)利要求14所述的電腦,其特征在于,該遠(yuǎn)端裝置透過該網(wǎng)絡(luò)對(duì)該基板管理控制器下達(dá)一關(guān)機(jī)命令以及該基板管理控制器依據(jù)該關(guān)機(jī)命令使該電腦關(guān)機(jī)后,才將該BIOS文件寫入該BIOS存儲(chǔ)器。16.如權(quán)利要求14所述的電腦,其特征在于,該BIOS文件包含多個(gè)BIOS數(shù)據(jù)以及當(dāng)該基板管理控制器完整地接收到該些BIOS數(shù)據(jù)其中之一時(shí),該基板管理控制器立即地將所接收到的該BIOS數(shù)據(jù)進(jìn)行一糾錯(cuò)碼檢査。17.如權(quán)利要求16所述的電腦,其特征在于,該糾錯(cuò)碼檢査包括BIOSChecksum。18.如權(quán)利要求14所述的電腦,其特征在于,該BIO文件包含多個(gè)BIOS數(shù)據(jù);以及當(dāng)該基板管理控制器完整地接收到該些BIOS數(shù)據(jù)其中之一時(shí),該基板管理控制器立即地將所接收到的該BIOS數(shù)據(jù)寫入該BIOS存儲(chǔ)器。19.如權(quán)利要求14所述的電腦,其特征在于,該基板管理控制器先抹除該BIOS存儲(chǔ)器的內(nèi)容,然后將該BIOS文件寫入該BIOS存儲(chǔ)器。20.如權(quán)利要求14所述的電腦,其特征在于,該遠(yuǎn)端裝置透過該網(wǎng)絡(luò)對(duì)該基板管理控制器下達(dá)一詢問命令;以及該基板管理控制器依據(jù)該詢問命令回報(bào)是否完整地將該BIOS文件寫入該電腦的BIOS存儲(chǔ)器。21.如權(quán)利要求14所述的電腦,其特征在于,當(dāng)該基板管理控制器完整地將該BIOS文件寫入該BIOS存儲(chǔ)器,該遠(yuǎn)端裝置透過該網(wǎng)絡(luò)對(duì)該基板管理控制器下達(dá)一開機(jī)命令;以及該基板管理控制器依據(jù)該開機(jī)命令,使該電腦重新開機(jī)。22.如權(quán)利要求14所述的電腦,其特征在于,在該基板管理控制器將該BIOS文件寫入該BIOS存儲(chǔ)器的期間,該基板管理控制器控制該第一開關(guān)單元以禁能該BIOS存儲(chǔ)器與該中央處理單元之間的連接;以及控制該第二開關(guān)單元以使能該BIOS存儲(chǔ)器與該基板管理控制器之間的連接。23.—種電腦系統(tǒng),包括-—遠(yuǎn)端裝置一網(wǎng)絡(luò)以及一本地端電腦,透過該網(wǎng)絡(luò)耦接至該遠(yuǎn)端裝置,其中該本地端電腦包括-一中央處理單元—基板管理控制器,連接至該網(wǎng)絡(luò),其中當(dāng)該本地端電腦被關(guān)機(jī)時(shí),該基板管理控制器依然為使能;—BIOS存儲(chǔ)器,用以存儲(chǔ)一基本輸入輸出系統(tǒng)—第一開關(guān)單元,耦接于該中央處理單元與該BIOS存儲(chǔ)器之間;以及一第二開關(guān)單元,耦接于該基板管理控制器與該BIOS存儲(chǔ)器之聞其中當(dāng)該基板管理控制器檢測(cè)該BIOS為一不正常時(shí),由該基板管理控制器透過該網(wǎng)絡(luò)對(duì)該遠(yuǎn)端裝置發(fā)出一恢復(fù)BIOS通知;由該遠(yuǎn)端裝置透過該網(wǎng)絡(luò)提供一BIOS文件給該基板管理控制器;以及由該基板管理控制器將該BIOS文件寫入該BIOS存儲(chǔ)器,以恢復(fù)該BIOS。24.如權(quán)利要求23所述的電腦系統(tǒng),其特征在于,該遠(yuǎn)端裝置透過該網(wǎng)絡(luò)對(duì)該基板管理控制器下達(dá)一關(guān)機(jī)命令以及該基板管理控制器依據(jù)該關(guān)機(jī)命令使該本地端電腦關(guān)機(jī)后,才將該BIOS文件寫入該BIOS存儲(chǔ)器。25.如權(quán)利要求23所述的電腦系統(tǒng),其特征在于,該BIOS文件包含多個(gè)BIOS數(shù)據(jù)以及當(dāng)該基板管理控制器完整地接收到該些BIOS數(shù)據(jù)其中之一時(shí),該基板管理控制器立即地將所接收到的該BIOS數(shù)據(jù)進(jìn)行一糾錯(cuò)碼檢査。26.如權(quán)利要求25所述的電腦系統(tǒng),其特征在于,該糾錯(cuò)碼檢査包括BIOSCheckS咖。27.如權(quán)利要求23所述的電腦系統(tǒng),其特征在于,該BIOS文件包含多個(gè)BIOS數(shù)據(jù);以及當(dāng)該基板管理控制器完整地接收到該些BIOS數(shù)據(jù)其中之一時(shí),該基板管理控制器立即地將所接收到的該BIOS數(shù)據(jù)寫入該BIOS存儲(chǔ)器。28.如權(quán)利要求23所述的電腦系統(tǒng),其特征在于,該基板管理控制器先抹除該BIOS存儲(chǔ)器的內(nèi)容,然后將該BIOS文件寫入該BIOS存儲(chǔ)器。29.如權(quán)利要求23所述的電腦系統(tǒng),其特征在于,該遠(yuǎn)端裝置透過該網(wǎng)絡(luò)對(duì)該基板管理控制器下達(dá)一詢問命令以及該基板管理控制器依據(jù)該詢問命令回報(bào)是否完整地將該BIOS文件寫入該本地端電腦的BIOS存儲(chǔ)器。30.如權(quán)利要求23所述的電腦系統(tǒng),其特征在于,當(dāng)該基板管理控制器完整地將該BIOS文件寫入該BIOS存儲(chǔ)器,該遠(yuǎn)端裝置透過該網(wǎng)絡(luò)對(duì)該基板管理控制器下達(dá)--開機(jī)命令;以及該基板管理控制器依據(jù)該開機(jī)命令,使該本地端電腦重新開機(jī)。31.如權(quán)利要求23所述的電腦系統(tǒng),其特征在于,在該基板管理控制器將該BIOS文件寫入該BIOS存儲(chǔ)器的期間,該基板管理控制器控制該第一開關(guān)單元以禁能該BIOS存儲(chǔ)器與該中央處理單元之間的連接以及控制該第二開關(guān)單元以使能該BIOS存儲(chǔ)器與該基板管理控制器之間的連接。全文摘要本發(fā)明公開了一種自動(dòng)恢復(fù)BIOS的方法以及使用該方法的電腦與系統(tǒng)。在本地端電腦上,由基板管理控制器檢測(cè)BIOS是否正常,并獲得檢測(cè)結(jié)果。依據(jù)此檢測(cè)結(jié)果,由基板管理控制器對(duì)遠(yuǎn)端裝置發(fā)出恢復(fù)BIOS通知。再依據(jù)恢復(fù)BIOS通知,由遠(yuǎn)端裝置提供BIOS文件給基板管理控制器。并于本地端電腦上,由基板管理控制器將BIOS文件寫入BIOS存儲(chǔ)器,以恢復(fù)BIOS。文檔編號(hào)G06F11/22GK101364193SQ20071014129公開日2009年2月11日申請(qǐng)日期2007年8月6日優(yōu)先權(quán)日2007年8月6日發(fā)明者盧盈志申請(qǐng)人:英業(yè)達(dá)股份有限公司