基本輸入輸出系統(tǒng)更新方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明關(guān)于一種基本輸入輸出系統(tǒng)(Basic Input/Output System, B1S)更新方法,尤指一種可避免將目前的B1S版本更新為錯(cuò)誤的B1S版本而造成電腦無法開機(jī)的B1S更新方法。
【背景技術(shù)】
[0002]B1S用于電腦開機(jī)時(shí)執(zhí)行系統(tǒng)各部分的自我檢測(cè),并啟動(dòng)操作系統(tǒng)。當(dāng)電腦的電源開啟時(shí),B1S就會(huì)由主機(jī)板上的快閃存儲(chǔ)器(flash memory)執(zhí)行,并將芯片組和存儲(chǔ)器子系統(tǒng)初始化。B1S的主要功用是確保電腦中某些重要硬件元件,像是鍵盤、磁碟裝置、輸出輸入端口等,可以正常運(yùn)作且正確地初始化。隨著硬件的更新速度愈來愈快,B1S也必須不斷更新以支援新硬件。然而,在對(duì)B1S進(jìn)行更新時(shí)(例如,升級(jí)或降級(jí)),如果欲更新的B1S版本與目前的B1S版本差異太大,在完成更新后便有可能造成電腦無法開機(jī)。
【發(fā)明內(nèi)容】
[0003]本發(fā)明提供一種基本輸入輸出系統(tǒng)更新方法,以解決上述的問題。
[0004]本發(fā)明的權(quán)利要求揭露一種基本輸入輸出系統(tǒng)更新方法,包含:當(dāng)一基本輸入輸出系統(tǒng)更新程序?qū)σ荒壳盎据斎胼敵鱿到y(tǒng)版本進(jìn)行一更新程序時(shí),判斷該更新程序?yàn)樯?jí)程序或降級(jí)程序,其中該基本輸入輸出系統(tǒng)更新程序?qū)?yīng)一目標(biāo)基本輸入輸出系統(tǒng)版本,該基本輸入輸出系統(tǒng)更新程序中記錄一第一相依性描述,該第一相依性描述記錄N個(gè)基本輸入輸出系統(tǒng)版本,N為一正整數(shù),一系統(tǒng)管理基本輸入輸出系統(tǒng)中記錄一第二相依性描述,該第二相依性描述記錄M個(gè)基本輸入輸出系統(tǒng)版本,M為一正整數(shù);若該更新程序?yàn)樯?jí)程序,自該基本輸入輸出系統(tǒng)更新程序中擷取該第一相依性描述;判斷該N個(gè)基本輸入輸出系統(tǒng)版本是否介于該目前基本輸入輸出系統(tǒng)版本與該目標(biāo)基本輸入輸出系統(tǒng)版本之間;若該N個(gè)基本輸入輸出系統(tǒng)版本皆不介于該目前基本輸入輸出系統(tǒng)版本與該目標(biāo)基本輸入輸出系統(tǒng)版本之間,允許將該目前基本輸入輸出系統(tǒng)版本升級(jí)為該目標(biāo)基本輸入輸出系統(tǒng)版本;若該更新程序?yàn)榻导?jí)程序,自該系統(tǒng)管理基本輸入輸出系統(tǒng)中擷取該第二相依性描述;判斷該M個(gè)基本輸入輸出系統(tǒng)版本是否介于該目前基本輸入輸出系統(tǒng)版本與該目標(biāo)基本輸入輸出系統(tǒng)版本之間;以及若該M個(gè)基本輸入輸出系統(tǒng)版本皆不介于該目前基本輸入輸出系統(tǒng)版本與該目標(biāo)基本輸入輸出系統(tǒng)版本之間,允許將該目前基本輸入輸出系統(tǒng)版本降級(jí)為該目標(biāo)基本輸入輸出系統(tǒng)版本。
[0005]本發(fā)明的權(quán)利要求另揭露該基本輸入輸出系統(tǒng)更新方法另包含:在將該目前基本輸入輸出系統(tǒng)版本升級(jí)或降級(jí)為該目標(biāo)基本輸入輸出系統(tǒng)版本前,將該目標(biāo)基本輸入輸出系統(tǒng)版本記錄于該第二相依性描述中。
[0006]本發(fā)明的權(quán)利要求另揭露該基本輸入輸出系統(tǒng)更新方法另包含:若該N個(gè)基本輸入輸出系統(tǒng)版本中的X個(gè)基本輸入輸出系統(tǒng)版本介于該目前基本輸入輸出系統(tǒng)版本與該目標(biāo)基本輸入輸出系統(tǒng)版本之間,拒絕將該目前基本輸入輸出系統(tǒng)版本升級(jí)為該目標(biāo)基本輸入輸出系統(tǒng)版本,X為一小于或等于N的正整數(shù)。
[0007]本發(fā)明的權(quán)利要求另揭露該基本輸入輸出系統(tǒng)更新方法另包含:提示該目前基本輸入輸出系統(tǒng)版本需先升級(jí)為該X個(gè)基本輸入輸出系統(tǒng)版本中最小的基本輸入輸出系統(tǒng)版本。
[0008]本發(fā)明的權(quán)利要求另揭露該基本輸入輸出系統(tǒng)更新方法另包含:若該M個(gè)基本輸入輸出系統(tǒng)版本中的Y個(gè)基本輸入輸出系統(tǒng)版本介于該目前基本輸入輸出系統(tǒng)版本與該目標(biāo)基本輸入輸出系統(tǒng)版本之間,拒絕將該目前基本輸入輸出系統(tǒng)版本降級(jí)為該目標(biāo)基本輸入輸出系統(tǒng)版本,Y為一小于或等于M的正整數(shù)。
[0009]本發(fā)明的權(quán)利要求另揭露該基本輸入輸出系統(tǒng)更新方法另包含:提示該目前基本輸入輸出系統(tǒng)版本需先降級(jí)為該Y個(gè)基本輸入輸出系統(tǒng)版本中最大的基本輸入輸出系統(tǒng)版本。
[0010]綜上所述,當(dāng)使用者欲將目前基本輸入輸出系統(tǒng)(Basic Input/OutputSystem, B1S)版本更新為目標(biāo)B1S版本時(shí),B1S更新程序會(huì)選擇性地根據(jù)B1S更新程序中記錄的相依性描述或系統(tǒng)管理基本輸入輸出系統(tǒng)(System Management B1S, SMBI OS)中記錄的相依性描述來決定是否允許將目前B1S版本升級(jí)或降級(jí)為目標(biāo)B1S版本。若相依性描述中的B1S版本皆不介于目前B1S版本與目標(biāo)B1S版本之間,B1S更新程序即允許將目前B1S版本升級(jí)或降級(jí)為目標(biāo)B1S版本。若相依性描述中的至少一 B1S版本介于目前B1S版本與目標(biāo)B1S版本之間,B1S更新程序即拒絕將目前B1S版本直接升級(jí)或降級(jí)為目標(biāo)B1S版本。在拒絕將目前B1S版本直接升級(jí)或降級(jí)為目標(biāo)B1S版本時(shí),B1S更新程序可提示使用者需先將目前B1S版本更新為介于目前B1S版本與目標(biāo)B1S版本之間的某一 B1S版本。借此,使用者即可逐步將目前B1S版本更新為目標(biāo)B1S版本,以避免將目前B1S版本更新為錯(cuò)誤的B1S版本而造成電腦無法開機(jī)。
【附圖說明】
[0011]圖1為根據(jù)本發(fā)明一實(shí)施例的基本輸入輸出系統(tǒng)更新方法的流程圖。
[0012]符號(hào)說明:
[0013]S100-S126 步驟
【具體實(shí)施方式】
[0014]關(guān)于本發(fā)明的優(yōu)點(diǎn)與精神可以通過以下的發(fā)明詳述及附圖得到進(jìn)一步的了解。
[0015]請(qǐng)參閱圖1,圖1為根據(jù)本發(fā)明一實(shí)施例的基本輸入輸出系統(tǒng)(Basic Input/Output System, B1S)更新方法的流程圖。本發(fā)明的B1S更新方法適用于任何安裝有B1S的電腦。
[0016]首先,當(dāng)使用者欲以一 B1S更新程序?qū)σ荒壳癇1S版本進(jìn)行一更新程序時(shí)(圖1中的步驟S100),B1S更新程序會(huì)先判斷更新程序?yàn)樯?jí)程序或降級(jí)程序(圖1中的步驟S102),其中B1S更新程序?qū)?yīng)一目標(biāo)B1S版本。于此實(shí)施例中,B1S更新程序中記錄一第一相依性描述,且第一相依性描述記錄N個(gè)B1S版本,其中N為一正整數(shù)。此外,系統(tǒng)管理基本輸入輸出系統(tǒng)(System Management B1S, SMBI OS)中記錄一第二相依性描述,且第二相依性描述記錄M個(gè)B1S版本,其中M為一正整數(shù)。
[0017]于步驟S102中,若B1S更新程序判斷更新程序?yàn)樯?jí)程序,B1S更新程序即會(huì)自B1S更新程序中擷取第一相依性描述(圖1中的步驟S104)。接著,B1S更新程序會(huì)判斷第一相依性描述中記錄的N個(gè)B1S版本是否介于目前B1S版本與目標(biāo)B1S版本之間(圖1中的步驟S106)。若第一相依性描述中記錄的N個(gè)B1S版本皆不介于目前B1S版本與目標(biāo)B1S版本之間,B1S更新程序即允許將目前B1S版本升級(jí)為目標(biāo)B1S版本(圖1中的步驟SI 10)。需說明的是,在將目前B1S版本升級(jí)為目標(biāo)B1S版本前,B1S更新程序會(huì)先將目標(biāo)B1S版本記錄于SMB1S的第二相依性描述中(圖1中的步驟S108),以作為下次降級(jí)B1S的參考。
[0018]舉例而言,假設(shè)目前B1S版本為#20,目標(biāo)B1S版本為#25,第一相依性描述為{12,15,19}(亦即,第一相依性描述記錄三個(gè)B1S版本#12、#15、#19),且第二相依性描述為{10,20}(亦即,第二相依性描述記錄兩個(gè)B1S版本#10、#20)。由于目標(biāo)B1S版本#25大于目前B1S版本#20’當(dāng)使用者欲以B1S更新程序?qū)⒛壳癇1S版本#20更新為目標(biāo)B1S版本#25時(shí),B1S更新程序即會(huì)判斷更新程序?yàn)樯?jí)程序。由于第一相依性描述中記錄的三個(gè)B1S版本#12、#15、#19皆不介于目前B1S版本#20與目標(biāo)B1S版本#25之間,B1S更新程序即會(huì)先將目標(biāo)B1S版本#25記錄于SMB1S的第二相依性描述中,再將目前B1S版本#20升級(jí)為目標(biāo)B1S版本#25。在完成B1S更新后,SMB1S的第二相依性描述即變?yōu)閧10,20,25}。
[0019]于步驟S106中,若第一相依性描述中記錄的N個(gè)B1S版本中的X個(gè)B1S版本介于目前B1S版本與目標(biāo)B1S版本之間,B1S更新程序即拒絕將目前B1S版本升級(jí)為目標(biāo)B1S版本(圖1中的步驟SI 12),其中X為一小于或等于N的正整數(shù)。于此實(shí)施例中,B1S更新程序可提示使用者目前B1S版本需先升級(jí)為X個(gè)B1S版本中最小的B1S版本(圖1中的步驟SI 14),以避免將目前B1S版本更新為錯(cuò)誤的B1S版本而造成電腦無法開機(jī)。
[0020]舉例而言,假設(shè)目前B1S版本為#20,目標(biāo)B1S版本為#25,且第一相依性描述為{12,15,21,23}(亦即,第一相依性描述記錄四個(gè)B1S版本#12、#15、#21、#23)。由于第一相依性描述中記錄的四個(gè)B1S版本#12、#15、#21、#23中的兩個(gè)B1S版本#21、#23介于目前B1S版本#20與目標(biāo)B1S版本#25之間,B1S更新程序即會(huì)拒絕將目前B1S版本