專利名稱:解除基本輸入/輸出系統(tǒng)寫(xiě)保護(hù)的系統(tǒng)及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種解除基本輸入/輸出系統(tǒng)寫(xiě)保護(hù)的系統(tǒng)及方法。
背景技術(shù):
一般來(lái)說(shuō),為了防止計(jì)算機(jī)系統(tǒng)的BIOS(Basic Input OutputSystem,基本輸入/輸出系統(tǒng))被無(wú)意破壞,人們會(huì)對(duì)BIOS的載體FlashROM加上寫(xiě)保護(hù)功能,即利用控制Chipset(芯片集)或Super I/O(超輸入/輸出)芯片等的GPIO(General Purpose Input/Output,通用輸入/輸出)接腳的電平來(lái)實(shí)現(xiàn)BIOS的寫(xiě)保護(hù)功能。各主板被生產(chǎn)出來(lái)時(shí),BIOS的寫(xiě)保護(hù)是被默認(rèn)的。但是工廠在生產(chǎn)計(jì)算機(jī)系統(tǒng)時(shí)需要寫(xiě)入新版本的BIOS。因此,生產(chǎn)中需要臨時(shí)解除主板的BIOS寫(xiě)保護(hù)。
目前,工廠是通過(guò)各種軟件工具來(lái)臨時(shí)解除BIOS寫(xiě)保護(hù)的,由于各個(gè)計(jì)算機(jī)機(jī)種在硬件的實(shí)現(xiàn)方式上是不同的,因而需要給每一機(jī)種都要配備一種解除BIOS寫(xiě)保護(hù)的軟件工具。因此,在如何解除BIOS寫(xiě)保護(hù)方面沒(méi)有一個(gè)統(tǒng)一的方式,這樣就會(huì)給解除BIOS寫(xiě)保護(hù)作業(yè)帶來(lái)不便,同時(shí)也會(huì)浪費(fèi)生產(chǎn)資源。
避免解除BIOS寫(xiě)保護(hù)方式的不統(tǒng)一性,有助于避免因缺乏統(tǒng)一的解除基本輸入/輸出系統(tǒng)寫(xiě)保護(hù)方式導(dǎo)致的作業(yè)的繁瑣及資源的浪費(fèi)。
發(fā)明內(nèi)容鑒于以上內(nèi)容,有必要提供一種解除基本輸入/輸出系統(tǒng)寫(xiě)保護(hù)的系統(tǒng),其可以方便地解除BIOS的寫(xiě)保護(hù)功能。
此外,還有必要提供一種解除基本輸入/輸出系統(tǒng)寫(xiě)保護(hù)的方法,其可以統(tǒng)一地解除BIOS的寫(xiě)保護(hù)功能。
本發(fā)明較佳實(shí)施方式提供一種解除基本輸入/輸出系統(tǒng)寫(xiě)保護(hù)的系統(tǒng),其運(yùn)行于一計(jì)算機(jī)中,該計(jì)算機(jī)包括一中央處理器、一輸入/輸出控制器中心芯片及一超輸入/輸出芯片,該解除基本輸入/輸出系統(tǒng)寫(xiě)保護(hù)的系統(tǒng)包括一設(shè)置模塊,用于設(shè)置命令行參數(shù)結(jié)構(gòu),在該基本輸入/輸出系統(tǒng)源程序代碼中的運(yùn)行時(shí)間段設(shè)置頭文件標(biāo)志及設(shè)置該頭文件標(biāo)志的數(shù)據(jù)結(jié)構(gòu),及在該運(yùn)行時(shí)間段設(shè)置子程序代碼塊;一找尋模塊,用于找尋該基本輸入/輸出系統(tǒng)源程序代碼中所設(shè)置的頭文件標(biāo)志及對(duì)該子程序代碼塊進(jìn)行定位;一輸入/輸出模塊,用于輸入該命令行參數(shù)結(jié)構(gòu)中的命令行子參數(shù);及一執(zhí)行模塊,用于執(zhí)行輸入的該命令行子參數(shù)對(duì)應(yīng)的該設(shè)置的子程序代碼塊以解除該基本輸入/輸出系統(tǒng)的寫(xiě)保護(hù)功能。
進(jìn)一步地,該設(shè)置的子程序代碼塊對(duì)應(yīng)于該頭文件數(shù)據(jù)結(jié)構(gòu)中的子代表內(nèi)容,其用于將該輸入/輸出控制器中心芯片及該超輸入/輸出芯片的通用輸入/輸出接腳置高電平或低電平。
進(jìn)一步地,該輸入/輸出模塊還用于輸出提示信息以告知使用者寫(xiě)保護(hù)功能已經(jīng)開(kāi)啟或關(guān)閉。
本發(fā)明較佳實(shí)施方式提供一種解除計(jì)算機(jī)基本輸入/輸出系統(tǒng)寫(xiě)保護(hù)的方法,該計(jì)算機(jī)包括一中央處理器、一輸入/輸出控制器中心芯片及一超輸入/輸出芯片,該方法包括(A)設(shè)置開(kāi)啟/關(guān)閉基本輸入/輸出系統(tǒng)寫(xiě)保護(hù)功能的命令行參數(shù)結(jié)構(gòu);(B)在該基本輸入/輸出系統(tǒng)源程序代碼中的運(yùn)行時(shí)間段設(shè)置頭文件標(biāo)志,并設(shè)置該頭文件的數(shù)據(jù)結(jié)構(gòu);(C)在該運(yùn)行時(shí)間段設(shè)置子程序代碼塊以實(shí)現(xiàn)將該輸入/輸出控制器中心芯片及該超輸入/輸出芯片的通用輸入/輸出接腳置高電平或低電平;(D)找尋該基本輸入/輸出系統(tǒng)源程序代碼中所設(shè)置的頭文件標(biāo)志,并對(duì)設(shè)置的子程序代碼塊進(jìn)行定位;(E)根據(jù)輸入的命令行子參數(shù),執(zhí)行對(duì)應(yīng)于該命令行子參數(shù)的子程序代碼塊。
相較現(xiàn)有技術(shù),所述的解除基本輸入/輸出系統(tǒng)寫(xiě)保護(hù)的系統(tǒng)及方法,充分考量了解除基本輸入/輸出系統(tǒng)寫(xiě)保護(hù)方法的統(tǒng)一性,避免了因缺乏統(tǒng)一的解除基本輸入/輸出系統(tǒng)寫(xiě)保護(hù)方式導(dǎo)致的作業(yè)的繁瑣及資源的浪費(fèi)。
圖1是本發(fā)明解除基本輸入/輸出系統(tǒng)寫(xiě)保護(hù)的系統(tǒng)較佳實(shí)施方式的硬件架構(gòu)圖。
圖2是本發(fā)明解除基本輸入/輸出系統(tǒng)寫(xiě)保護(hù)的系統(tǒng)較佳實(shí)施方式的命令行參數(shù)結(jié)構(gòu)示意圖。
圖3是本發(fā)明解除基本輸入/輸出系統(tǒng)寫(xiě)保護(hù)的系統(tǒng)較佳實(shí)施方式的頭文件數(shù)據(jù)結(jié)構(gòu)示意圖。
圖4是本發(fā)明解除基本輸入/輸出系統(tǒng)寫(xiě)保護(hù)的系統(tǒng)較佳實(shí)施方式的功能模塊圖。
圖5是本發(fā)明解除基本輸入/輸出系統(tǒng)寫(xiě)保護(hù)的方法較佳實(shí)施方式的具體實(shí)施流程圖。
具體實(shí)施方式如圖1所示,是本發(fā)明解除基本輸入/輸出系統(tǒng)寫(xiě)保護(hù)的系統(tǒng)較佳實(shí)施方式的硬件架構(gòu)圖。該解除BIOS寫(xiě)保護(hù)系統(tǒng)18運(yùn)行于一計(jì)算機(jī)1中,該計(jì)算機(jī)1包括一CPU(Central Processing Unit,中央處理器)16,一南橋(輸入/輸出控制器中心)芯片10,一Super I/O(超輸入/輸出)芯片12,一與該CPU 16、南橋芯片10及Super I/O芯片12相連的BIOS(Basic Input Output System,基本輸入/輸出系統(tǒng))14。該CPU 16與該解除BIOS寫(xiě)保護(hù)系統(tǒng)18相連,該BIOS 14是通過(guò)BRP(BIOSROM Protect,基本輸入/輸出系統(tǒng)只讀存儲(chǔ)器保護(hù))接腳和BBBP(BIOS Boot Block Protect,基本輸入/輸出系統(tǒng)引導(dǎo)區(qū)保護(hù))接腳分別與該南橋芯片10及該Super I/O芯片12的GPIO(General PurposeInput/Output,通用輸入/輸出)接腳相連。該BRP接腳和BBBP接腳與該南橋芯片10及該Super I/O芯片12的GPIO接腳的連接方式不是固定的,于本實(shí)施例中,該BRP接腳與該南橋芯片10的GPIO接腳相連,而該BBBP接腳與該Super I/O芯片12的GPIO接腳相連,于本發(fā)明其它實(shí)施例中,亦可以是該BRP接腳與該Super I/O芯片12的GPIO接腳相連,而該BBBP接腳與該南橋芯片10的GPIO接腳相連。
如圖2所示,是本發(fā)明解除基本輸入/輸出系統(tǒng)寫(xiě)保護(hù)的系統(tǒng)較佳實(shí)施方式的命令行參數(shù)結(jié)構(gòu)示意圖。該命令行參數(shù)結(jié)構(gòu)100包括命令行參數(shù)4及功能5,其中該命令行參數(shù)4包括多個(gè)命令行子參數(shù)40,該功能5包括多個(gè)子功能50,所述的多個(gè)子功能50一一對(duì)應(yīng)于該多個(gè)命令行子參數(shù)40。例如該命令行參數(shù)4中的命令行子參數(shù)“/?”唯一對(duì)應(yīng)于該功能5中的子功能“顯示幫助信息”。該命令行參數(shù)4中的命令行子參數(shù)40的設(shè)置方式并不是固定的,例如于本發(fā)明其它實(shí)施例中,亦可以將命令行參數(shù)4中命令行子參數(shù)“/?”設(shè)置為“/!”來(lái)唯一對(duì)應(yīng)于該功能5中的子功能“顯示幫助信息”。
如圖3所示,是本發(fā)明解除基本輸入/輸出系統(tǒng)寫(xiě)保護(hù)的系統(tǒng)較佳實(shí)施方式的頭文件數(shù)據(jù)結(jié)構(gòu)示意圖。該頭文件數(shù)據(jù)結(jié)構(gòu)102包括偏移量6及代表內(nèi)容7,其中該偏移量6包括多個(gè)子偏移量60,該代表內(nèi)容包括多個(gè)子代表內(nèi)容70,所述的多個(gè)子代表內(nèi)容70一一對(duì)應(yīng)于該多個(gè)子偏移量60,例如該偏移量6中的子偏移量“00h-01h”唯一對(duì)應(yīng)于該代表內(nèi)容7中的子代表內(nèi)容“開(kāi)啟BRP功能的子程序的偏移地址”。該偏移量6中子偏移量60的設(shè)置方式并不是固定的,例如于本發(fā)明其它實(shí)施例中,亦可以將該子偏移量“00h-01h”設(shè)置為“00h-02h”來(lái)唯一對(duì)應(yīng)于該子代表內(nèi)容“開(kāi)啟BRP功能的子程序的偏移地址”。
如圖4所示,是本發(fā)明解除基本輸入/輸出系統(tǒng)寫(xiě)保護(hù)的系統(tǒng)較佳實(shí)施方式的功能模塊圖。該解除BIOS寫(xiě)保護(hù)模塊18包括一設(shè)置模塊180,用于設(shè)置命令行參數(shù)結(jié)構(gòu)100,在BIOS源程序代碼中的Runtime(運(yùn)行時(shí)間)段設(shè)置頭文件標(biāo)志及設(shè)置該頭文件的數(shù)據(jù)結(jié)構(gòu)102,及在該Runtime段設(shè)置對(duì)應(yīng)于該頭文件數(shù)據(jù)結(jié)構(gòu)102中的多個(gè)子代表內(nèi)容70的子程序代碼塊以實(shí)現(xiàn)將該南橋芯片10及該Super I/O芯片12的GPIO接腳置高電平或低電平;一找尋模塊182,用于找尋該BIOS源程序代碼中所設(shè)置的頭文件標(biāo)志及對(duì)實(shí)現(xiàn)將該南橋芯片10和該Super I/O芯片12的GPIO接腳置高電平或低電平的子程序代碼塊進(jìn)行定位;一輸入/輸出模塊184,用于輸入該命令行參數(shù)結(jié)構(gòu)100中的命令行子參數(shù)40及輸出提示信息以告知使用者寫(xiě)保護(hù)功能已經(jīng)開(kāi)啟或關(guān)閉;及一執(zhí)行模塊186,用于執(zhí)行輸入的該命令行子參數(shù)40對(duì)應(yīng)的子程序代碼塊。本實(shí)施例是通過(guò)實(shí)現(xiàn)將該南橋芯片10及該Super I/O芯片12的GPIO接腳置高電平或低電平來(lái)實(shí)現(xiàn)開(kāi)啟或關(guān)閉BIOS ROM和BIOS Boot Block的寫(xiě)保護(hù)功能。
如圖5所示,是本發(fā)明解除基本輸入/輸出系統(tǒng)寫(xiě)保護(hù)的方法較佳實(shí)施方式的具體實(shí)施流程圖。首先,設(shè)置模塊180設(shè)置實(shí)現(xiàn)開(kāi)啟或關(guān)閉BIOS ROM和BIOS Boot Block的寫(xiě)保護(hù)功能的命令行參數(shù)結(jié)構(gòu)100(如圖2所示)(步驟S20)。該設(shè)置模塊180在BIOS源程序代碼中的Runtime段設(shè)置頭文件標(biāo)志(例如設(shè)置頭文件標(biāo)志為“@levgon$”),并對(duì)該頭文件設(shè)置數(shù)據(jù)結(jié)構(gòu)102(如圖3所示)(步驟S22)。該設(shè)置模塊180在該Runtime段設(shè)置對(duì)應(yīng)于該頭文件數(shù)據(jù)結(jié)構(gòu)102中的多個(gè)子代表內(nèi)容70的子程序代碼塊以實(shí)現(xiàn)將該南橋芯片10及該Super I/O芯片12的GPIO接腳置高電平或低電平,其中實(shí)現(xiàn)將該南橋芯片10及該Super I/O芯片12的GPIO接腳置高電平或低電平是用來(lái)實(shí)現(xiàn)開(kāi)啟或關(guān)閉BIOS ROM和BIOS Boot Block的寫(xiě)保護(hù)功能的(步驟S24)。找尋模塊182找尋該BIOS源程序代碼中所設(shè)置的頭文件標(biāo)志,對(duì)實(shí)現(xiàn)將該南橋芯片10和該Super I/O芯片12的GPIO接腳置高電平或低電平的子程序代碼塊進(jìn)行定位,并返回該頭文件標(biāo)志最后一個(gè)字符(例如“$”)的下一字節(jié)的偏移地址值(步驟S26)。輸入/輸出模塊184輸入該命令行參數(shù)結(jié)構(gòu)100中的命令行子參數(shù)40,執(zhí)行模塊186執(zhí)行輸入的該命令行子參數(shù)40對(duì)應(yīng)的實(shí)現(xiàn)將該南橋芯片10及該Super I/O芯片12的GPIO接腳置高電平或低電平的子程序代碼塊,進(jìn)一步地,該執(zhí)行模塊186根據(jù)輸入的該命令行子參數(shù)40,選擇對(duì)應(yīng)的子程序偏移地址的偏移量,將該選擇的子程序偏移地址的偏移量與步驟S26中返回的偏移地址值相加得到存儲(chǔ)要執(zhí)行的子程序偏移地址的存儲(chǔ)單元地址,取出該存儲(chǔ)單元中的偏移地址與該Runtime段地址來(lái)構(gòu)成需要執(zhí)行的子程序的完整入口地址值,將該完整入口地址值賦給函數(shù)指針變量,及通過(guò)函數(shù)指針變量調(diào)用子程序來(lái)控制該南橋芯片10及該Super I/O芯片12的GPIO接腳的輸出電平,進(jìn)而實(shí)現(xiàn)開(kāi)啟或關(guān)閉BIOS ROM和BIOS BootBlock的寫(xiě)保護(hù)功能(步驟S28)。該輸入/輸出模塊184輸出提示信息,告知使用者BIOS寫(xiě)保護(hù)功能已經(jīng)開(kāi)啟或關(guān)閉(步驟S30)。
權(quán)利要求
1.一種解除基本輸入/輸出系統(tǒng)寫(xiě)保護(hù)的系統(tǒng),其運(yùn)行于一計(jì)算機(jī)中,該計(jì)算機(jī)包括一中央處理器、一輸入/輸出控制器中心芯片及一超輸入/輸出芯片,其特征在于,該解除基本輸入/輸出系統(tǒng)寫(xiě)保護(hù)的系統(tǒng)包括一設(shè)置模塊,用于設(shè)置命令行參數(shù)結(jié)構(gòu),在該基本輸入/輸出系統(tǒng)源程序代碼中的運(yùn)行時(shí)間段設(shè)置頭文件標(biāo)志及設(shè)置該頭文件標(biāo)志的數(shù)據(jù)結(jié)構(gòu),及在該運(yùn)行時(shí)間段設(shè)置子程序代碼塊;一找尋模塊,用于找尋該基本輸入/輸出系統(tǒng)源程序代碼中所設(shè)置的頭文件標(biāo)志及對(duì)該子程序代碼塊進(jìn)行定位;一輸入/輸出模塊,用于輸入該命令行參數(shù)結(jié)構(gòu)中的命令行子參數(shù);及一執(zhí)行模塊,用于執(zhí)行輸入的該命令行子參數(shù)對(duì)應(yīng)的該設(shè)置的子程序代碼塊以解除該基本輸入/輸出系統(tǒng)的寫(xiě)保護(hù)功能。
2.如權(quán)利要求1所述的解除基本輸入/輸出系統(tǒng)寫(xiě)保護(hù)的系統(tǒng),其特征在于,該設(shè)置的子程序代碼塊對(duì)應(yīng)于該頭文件數(shù)據(jù)結(jié)構(gòu)中的子代表內(nèi)容,其用于將該輸入/輸出控制器中心芯片及該超輸入/輸出芯片的通用輸入/輸出接腳置高電平或低電平。
3.如權(quán)利要求1所述的解除基本輸入/輸出系統(tǒng)寫(xiě)保護(hù)的系統(tǒng),其特征在于,該輸入/輸出模塊還用于輸出提示信息以告知使用者寫(xiě)保護(hù)功能已經(jīng)開(kāi)啟或關(guān)閉。
4.一種解除計(jì)算機(jī)基本輸入/輸出系統(tǒng)寫(xiě)保護(hù)的方法,該計(jì)算機(jī)包括一中央處理器、一輸入/輸出控制器中心芯片及一超輸入/輸出芯片,其特征在于,該方法包括如下步驟設(shè)置開(kāi)啟/關(guān)閉基本輸入/輸出系統(tǒng)寫(xiě)保護(hù)功能的命令行參數(shù)結(jié)構(gòu);在該基本輸入/輸出系統(tǒng)源程序代碼中的運(yùn)行時(shí)間段設(shè)置頭文件標(biāo)志,并設(shè)置該頭文件的數(shù)據(jù)結(jié)構(gòu);在該運(yùn)行時(shí)間段設(shè)置子程序代碼塊以實(shí)現(xiàn)將該輸入/輸出控制器中心芯片及該超輸入/輸出芯片的通用輸入/輸出接腳置高電平或低電平;找尋該基本輸入/輸出系統(tǒng)源程序代碼中所設(shè)置的頭文件標(biāo)志,并對(duì)設(shè)置的子程序代碼塊進(jìn)行定位;及根據(jù)輸入的命令行子參數(shù),執(zhí)行對(duì)應(yīng)于該命令行子參數(shù)的子程序代碼塊。
5.如權(quán)利要求4所述的解除基本輸入/輸出系統(tǒng)寫(xiě)保護(hù)的方法,其特征在于,該方法還包括輸出提示信息,告知使用者該基本輸入/輸出系統(tǒng)的寫(xiě)保護(hù)功能已經(jīng)開(kāi)啟或關(guān)閉。
全文摘要
本發(fā)明提供一種解除基本輸入/輸出系統(tǒng)寫(xiě)保護(hù)的方法,該方法包括設(shè)置開(kāi)啟/關(guān)閉基本輸入/輸出系統(tǒng)寫(xiě)保護(hù)功能的命令行參數(shù)結(jié)構(gòu);在該基本輸入/輸出系統(tǒng)源程序代碼中的運(yùn)行時(shí)間段設(shè)置頭文件標(biāo)志,并對(duì)該頭文件設(shè)置數(shù)據(jù)結(jié)構(gòu);在該運(yùn)行時(shí)間段設(shè)置子程序代碼塊;找尋該基本輸入/輸出系統(tǒng)源程序代碼中所設(shè)置的頭文件標(biāo)志,并對(duì)設(shè)置的子程序代碼塊進(jìn)行定位;及根據(jù)輸入的命令行子參數(shù),執(zhí)行對(duì)應(yīng)于該命令行子參數(shù)的子程序代碼塊。本發(fā)明亦提供一種解除基本輸入/輸出系統(tǒng)寫(xiě)保護(hù)的系統(tǒng)。利用本發(fā)明解除基本輸入/輸出系統(tǒng)寫(xiě)保護(hù)的系統(tǒng)及方法,避免了作業(yè)的繁瑣及資源的浪費(fèi)。
文檔編號(hào)G06F12/14GK1940802SQ200510100110
公開(kāi)日2007年4月4日 申請(qǐng)日期2005年9月30日 優(yōu)先權(quán)日2005年9月30日
發(fā)明者王飛舟 申請(qǐng)人:鴻富錦精密工業(yè)(深圳)有限公司, 鴻海精密工業(yè)股份有限公司