專利名稱::將操作系統(tǒng)集成到bios芯片的方法及啟動該操作系統(tǒng)的方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及一種將操作系統(tǒng)集成到BIOS芯片的方法以及啟動BIOS芯片內(nèi)集成的操作系統(tǒng)的方法。
背景技術(shù):
:當(dāng)今電腦大都是通過基本輸入輸出系統(tǒng)(BasicInputOutputSystem,BIOS)引導(dǎo)進(jìn)入外部存儲設(shè)備(如硬盤)中的操作系統(tǒng)進(jìn)行工作。當(dāng)用戶遇到硬盤中的操作系統(tǒng)損壞時(shí),通常需要通過光驅(qū)讀取操作系統(tǒng)光盤進(jìn)行系統(tǒng)修復(fù)或者重新安裝操作系統(tǒng)。但是,對于當(dāng)前流行的迷你型筆記本電腦,其并沒有提供光驅(qū)等啟動設(shè)備,一旦其硬盤中的操作系統(tǒng)損壞,則需要專業(yè)人員進(jìn)行維修或者外接光驅(qū)等啟動設(shè)備進(jìn)行維修,如此給用戶帶來諸多不便。
發(fā)明內(nèi)容鑒于以上內(nèi)容,有必要提供一種將操作系統(tǒng)集成到BIOS芯片的方法,還有必要提供一種該操作系統(tǒng)的啟動方法。一種將操作系統(tǒng)集成到BIOS芯片的方法,包括如下步驟生成一操作系統(tǒng)的鏡像文件,該鏡像文件為可啟動的;編寫虛擬磁盤代碼;以及將所述操作系統(tǒng)的鏡像文件及虛擬磁盤代碼導(dǎo)入到BIOS芯片中。一種利用上述方法將操作系統(tǒng)集成到BIOS芯片之后,所述操作系統(tǒng)的啟動方法包括如下步驟執(zhí)行BIOS程序;執(zhí)行加電自檢程序;判斷是否需要啟動到BIOS芯片內(nèi)集成的操作系統(tǒng);若需要啟動到BIOS芯片內(nèi)集成的操作系統(tǒng),則調(diào)用并執(zhí)行虛擬磁盤代碼,以在內(nèi)存的指定區(qū)域虛擬出一個(gè)磁盤區(qū)域;提供一引導(dǎo)向量給BIOS芯片,所述引導(dǎo)向量指向所述內(nèi)存的指定區(qū)域的起始地址處;將BIOS芯片內(nèi)集成的操作系統(tǒng)鏡像文件進(jìn)行解壓縮處理,并將處理之后的操作系統(tǒng)復(fù)制到所述內(nèi)存的指定區(qū)域處;以及BIOS芯片執(zhí)行引導(dǎo)向量所指向的地址處的指令,以啟動所述操作系統(tǒng)。上述方法可使得用戶在外部存儲設(shè)備中的操作系統(tǒng)損壞時(shí),從BIOS芯片內(nèi)部集成的操作系統(tǒng)啟動電腦。圖1是本發(fā)明將操作系統(tǒng)集成到BIOS芯片的方法的較佳實(shí)施方式的流程圖。圖2是圖1中鏡像文件的生成步驟的流程圖。圖3是圖1中操作系統(tǒng)的啟動方法的較佳實(shí)施方式的流程圖。具體實(shí)施例方式下面結(jié)合附圖及較佳實(shí)施方式對本發(fā)明作進(jìn)一步詳細(xì)描述請參考圖1,本發(fā)明將操作系統(tǒng)集成到BIOS芯片的方法的較佳實(shí)施方式包括以下步驟步驟Sll生成一操作系統(tǒng)的鏡像文件,且該鏡像文件為可啟動的。該操作系統(tǒng)可以為迷你Linux操作系統(tǒng)。得到操作系統(tǒng)的鏡像文件之后執(zhí)行步驟S12。下面將給出生成操作系統(tǒng)鏡像文件的詳細(xì)步驟,如圖2所示所謂鏡像文件,是將特定的一系列文件按照一定的格式制作成單一的文件,以方便用戶下載和使用,例如一個(gè)測試版的操作系統(tǒng)、游戲等。在鏡像文件中還可以包括更多的信息,如系統(tǒng)文件、引導(dǎo)文件如MBR(MasterBootRecord)、分區(qū)表信息等,這樣鏡像文件就可以包含一個(gè)分區(qū)甚至是一塊硬盤的所有信息。步驟S21在外部存儲設(shè)備(如硬盤)的默認(rèn)系統(tǒng)啟動盤,如C盤上安裝一個(gè)Linux操作系統(tǒng),并刪除其中部分功能組件,如媒體播放組件等,以盡量減小該操作系統(tǒng)的大小。步驟S22利用(ihost軟件或具有類似功能的鏡像軟件對處理之后的操作系統(tǒng)進(jìn)行鏡像,以得到該操作系統(tǒng)的鏡像文件。由于該操作系統(tǒng)安裝于默認(rèn)系統(tǒng)啟動盤上,因此該鏡像文件為可啟動的。另外,其他實(shí)施方式中,鏡像文件也可以通過修改現(xiàn)成的鏡像文件來得到。例如通過WinImage軟件修改網(wǎng)絡(luò)上下載得到的操作系統(tǒng)的鏡像文件。如此即可得到操作系統(tǒng)的鏡像文件。步驟S12對該操作系統(tǒng)的鏡像文件進(jìn)行處理,以盡量壓縮該鏡像文件的大小。在得到操作系統(tǒng)的鏡像文件之后,用戶可根據(jù)鏡像文件的大小需要,將鏡像文件中沒有數(shù)據(jù)的空間刪除,并將最終得到的鏡像文件進(jìn)行壓縮,從而得到最小數(shù)據(jù)大小的鏡像文件。當(dāng)然,如果BIOS芯片的空間足夠大,該步驟即可省略。步驟S13編寫虛擬磁盤代碼。所謂虛擬磁盤,是指在內(nèi)存中虛擬出一個(gè)或多個(gè)磁盤的技術(shù)。當(dāng)該虛擬磁盤代碼被執(zhí)行時(shí),即可將內(nèi)存中的某一指定區(qū)域虛擬為一個(gè)磁盤。步驟S14將上述處理之后的鏡像文件及虛擬磁盤代碼導(dǎo)入到BIOS芯片中。其中,所述BIOS芯片中本身還裝載有BIOS程序,其主要包括自檢及初始化程序、硬件中斷處理程序以及服務(wù)請求程序。請參考圖3,完成上述將操作系統(tǒng)集成到BIOS芯片之后,該操作系統(tǒng)的啟動方法包括如下步驟步驟S31按下電腦的電源開關(guān)之后,電源開始給主板和其它設(shè)備供電。當(dāng)電源穩(wěn)定供電之后,CPU執(zhí)行跳轉(zhuǎn)指令,該跳轉(zhuǎn)指令會使得CPU執(zhí)行BIOS芯片中的啟動代碼,即使得CPU開始執(zhí)行BIOS程序。步驟S32開始執(zhí)行加電自檢(POST,PowerOnSelfTest)程序。所謂加電自檢程序,是指檢測電腦中的一些關(guān)鍵設(shè)備如顯卡等是否存在以及是否能正常工作。步驟S33在完成對關(guān)鍵設(shè)備的檢測之后,電腦將提示用戶是否要啟動BIOS芯片內(nèi)置的操作系統(tǒng)。若用戶需要啟動BIOS芯片內(nèi)置的操作系統(tǒng),則執(zhí)行步驟S34。若用戶不需要啟動BIOS芯片內(nèi)置的操作系統(tǒng),則執(zhí)行步驟S38。該步驟S33中,也可以通過檢測用戶是否有按下預(yù)定義啟動BIOS芯片內(nèi)置操作系統(tǒng)的熱鍵來確認(rèn)用戶是否需要啟動BIOS芯片內(nèi)置的操作系統(tǒng)。步驟S34調(diào)用并執(zhí)行虛擬磁盤代碼,將內(nèi)存中的一塊內(nèi)存區(qū)域虛擬為一個(gè)磁盤。該塊內(nèi)存區(qū)域被記作0S_MEM。本實(shí)施方式中,該塊內(nèi)存區(qū)域0S_MEM被設(shè)定為BIOS專用。通過修改BIOS數(shù)據(jù)區(qū)(BIOSDataArea,BDA)的數(shù)據(jù)、BIOS提供的中斷表格(E820table)以及高級配置禾口電源管理接口(AdvancedConfigurationandPowerManagementInterface,ACPI)的數(shù)據(jù)即可將內(nèi)存區(qū)域0S_MEM設(shè)定為BIOS專用。步驟S35所述虛擬磁盤代碼執(zhí)行完成之后,提供一BEV(BootEntryVector,引導(dǎo)向量)給BIOS芯片,該引導(dǎo)向量指向內(nèi)存區(qū)域0S_MEM的起始地址。步驟S36將BIOS芯片內(nèi)置的操作系統(tǒng)鏡像文件進(jìn)行解壓縮處理,并將處理之后的操作系統(tǒng)復(fù)制到內(nèi)存區(qū)域0S_MEM處。步驟S37:BI0S芯片執(zhí)行引導(dǎo)向量所指向的地址處的指令。由于內(nèi)存區(qū)域0S_MEM存放有經(jīng)解壓縮處理的操作系統(tǒng),因此,所述BIOS即開始執(zhí)行存放于該內(nèi)存區(qū)域0S_MEM的操作系統(tǒng)的起始代碼,如此,該操作系統(tǒng)即得以啟動。該啟動過程與從硬盤中啟動操作系統(tǒng)類似。步驟S38=BIOS芯片從其它可啟動設(shè)備,如硬盤啟動操作系統(tǒng)。根據(jù)上述描述,可將操作系統(tǒng)集成到BIOS芯片,當(dāng)外部存儲設(shè)備(如硬盤)中的操作系統(tǒng)損壞時(shí),用戶可直接利用BIOS芯片內(nèi)部集成的操作系統(tǒng)啟動電腦。權(quán)利要求1.一種將操作系統(tǒng)集成到BIOS芯片的方法,包括如下步驟生成一操作系統(tǒng)的鏡像文件,該鏡像文件為可啟動的;編寫虛擬磁盤代碼;以及將所述操作系統(tǒng)的鏡像文件及虛擬磁盤代碼導(dǎo)入到BIOS芯片中。2.如權(quán)利要求1所述的將操作系統(tǒng)集成到BIOS芯片的方法,其特征在于步驟“生成一操作系統(tǒng)的鏡像文件”之后還包括如下步驟壓縮該鏡像文件的大小。3.如權(quán)利要求1所述的將操作系統(tǒng)集成到BIOS芯片的方法,其特征在于步驟“生成一操作系統(tǒng)的鏡像文件”還包括如下步驟在硬盤的默認(rèn)系統(tǒng)啟動盤上安裝所述操作系統(tǒng);以及利用鏡像軟件對安裝完成的操作系統(tǒng)進(jìn)行鏡像,以得到該操作系統(tǒng)的鏡像文件。4.如權(quán)利要求3所述的將操作系統(tǒng)集成到BIOS芯片的方法,其特征在于所述鏡像軟件為(ihost軟件。5.如權(quán)利要求1所述的將操作系統(tǒng)集成到BIOS芯片的方法,其特征在于所述操作系統(tǒng)的鏡像文件是通過修改網(wǎng)絡(luò)上下載得到的操作系統(tǒng)的鏡像文件而得到的。6.如權(quán)利要求1所述的將操作系統(tǒng)集成到BIOS芯片的方法,其特征在于所述操作系統(tǒng)為Linux操作系統(tǒng)。7.一種啟動BIOS芯片內(nèi)集成的操作系統(tǒng)的方法,包括如下步驟執(zhí)行BIOS程序;執(zhí)行加電自檢程序;判斷是否需要啟動BIOS芯片內(nèi)集成的操作系統(tǒng);若需要啟動BIOS芯片內(nèi)集成的操作系統(tǒng),則調(diào)用并執(zhí)行虛擬磁盤代碼,以在內(nèi)存的指定區(qū)域虛擬出一磁盤;提供一引導(dǎo)向量給BIOS芯片,所述引導(dǎo)向量指向所述內(nèi)存的指定區(qū)域的起始地址;將BIOS芯片內(nèi)集成的操作系統(tǒng)鏡像文件進(jìn)行解壓縮處理,并將處理之后的操作系統(tǒng)復(fù)制到所述內(nèi)存的指定區(qū)域;以及BIOS芯片啟動內(nèi)存的指定區(qū)域中的所述操作系統(tǒng)。8.如權(quán)利要求7所述的啟動方法,其特征在于若不需要啟動BIOS芯片內(nèi)集成的操作系統(tǒng),則從其他可啟動設(shè)備啟動操作系統(tǒng)。9.如權(quán)利要求8所述的啟動BIOS芯片內(nèi)集成的操作系統(tǒng)的方法,其特征在于所述其他可啟動設(shè)備為硬盤。全文摘要一種將操作系統(tǒng)集成到BIOS芯片的方法,包括如下步驟生成一操作系統(tǒng)的鏡像文件,該鏡像文件為可啟動的;編寫虛擬磁盤代碼;以及將所述操作系統(tǒng)的鏡像文件及虛擬磁盤代碼導(dǎo)入到BIOS芯片中。本發(fā)明還提供了一種啟動BIOS芯片內(nèi)集成的操作系統(tǒng)的方法。上述方法可使得用戶在外部存儲設(shè)備中的操作系統(tǒng)損壞時(shí),從BIOS芯片內(nèi)部集成的操作系統(tǒng)啟動電腦。文檔編號G06F9/445GK102135923SQ201010300510公開日2011年7月27日申請日期2010年1月21日優(yōu)先權(quán)日2010年1月21日發(fā)明者折美鵬,王霞,董德遠(yuǎn),薛冬海申請人:鴻富錦精密工業(yè)(深圳)有限公司,鴻海精密工業(yè)股份有限公司