TWI556172B - 電腦裝置及其開機方法 - Google Patents
電腦裝置及其開機方法 Download PDFInfo
- Publication number
- TWI556172B TWI556172B TW104129439A TW104129439A TWI556172B TW I556172 B TWI556172 B TW I556172B TW 104129439 A TW104129439 A TW 104129439A TW 104129439 A TW104129439 A TW 104129439A TW I556172 B TWI556172 B TW I556172B
- Authority
- TW
- Taiwan
- Prior art keywords
- code
- main
- backup
- processor
- sec
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 41
- 230000015654 memory Effects 0.000 claims description 54
- 230000006870 function Effects 0.000 description 5
- 241000700605 Viruses Species 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 150000002016 disaccharides Chemical class 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Landscapes
- Stored Programmes (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
本發明是關於一種電腦裝置及其開機方法,特別是關於具有通用可延伸式韌體介面基本輸入輸出系統(Unified Extensible Firmware Interface Basic Input/Output System;UEFI BIOS)的電腦裝置及其開機方法。
BIOS在電腦裝置的開機過程中扮演極為關鍵的角色,一般來說,BIOS燒錄於電腦裝置的主機板上的唯讀記憶體(Read Only Memory;ROM)中,用以作為硬體與作業系統(Operating Sysyem;OS)之間相互溝通的橋樑,在使用者按下電腦系統的開機電源之後,BIOS會對電腦裝置的硬體依序進行初始化設定和測試,舉例來說,BIOS將中央處理器的晶片組、主機板及記憶體依序初始化,並確定前述初始化皆正確,並且,BIOS亦協助啟動作業系統來實現開機程序。
然而,BIOS可能受病毒侵害導致BIOS毀損而不完整,BIOS也可能因電腦裝置在更新BIOS未完成時被關閉電源而導致BIOS毀損,倘若BIOS毀損將會導致電腦裝置無法順利運作,因此,為避免前述情形發生,習知的技術係利用多個記憶體來存放多個BIOS,也就是說,除了原先用來開機的主要BIOS之外,還儲存有備份BIOS,當主要BIOS毀損時,電腦系統即執行備份BIOS來順利開機。
儲存備用BIOS雖可解決BIOS毀損無法開機的問題,但使用額外的唯讀記憶體會導致硬體成本上升,再者,若備份BIOS也毀損時,電腦系統亦無法執行備份BIOS來完成開機程序,若增加更多的備份BIOS來確保全部備份BIOS不會同時毀損,使用多個唯讀記憶體將導致硬體成本大幅上升。
有鑑於此,本發明提供一種電腦裝置及其開機方法。
在一實施例中,電腦裝置包含記憶體及處理器。記憶體,包含第一位址空間與第二位址空間,第一位址空間儲存唯讀之備份BIOS,備份BIOS包含備份SEC程式碼,第二位址空間儲存主BIOS,主BIOS包含主SEC程式碼。處理器電性連接於記憶體,處理器自第一位址空間讀取備份SEC程式碼後,處理器自第二位址空間讀取主SEC程式碼,且處理器加總主SEC程式碼以判斷主SEC程式碼是否錯誤,若主SEC程式碼錯誤,處理器執行備份BIOS。
在一實施例中,其中備份SEC程式碼包含跳躍指令,主BIOS更包含一主PEI程式碼,處理器讀取備份SEC程式碼之跳躍指令後,處理器根據跳躍指令由第一位址空間轉址至第二位址空間讀取主SEC程式碼及主PEI程式碼,處理器加總主SEC程式碼並產生一總和,且處理器加總主PEI程式碼並產生另一總和,處理器比較此些總和與預設總和以判斷主SEC程式碼與主PEI程式碼是否錯誤,若主SEC程式碼與主PEI程式碼任一者錯誤,處理器執行備份SEC程式碼。
在一實施例中,其中備份BIOS更包含備份PEI程式碼與備份DXE程式碼,若主SEC程式碼與主PEI程式碼任一者錯誤,處理器執行備份SEC程式碼、備份PEI程式碼與備份DXE程式碼。
在一實施例中,前述主BIOS為可寫入,記憶體接收寫入保護訊號,使主BIOS根據寫入保護訊號由可寫入轉換為唯讀。
在一實施例中,電腦裝置的開機方法包含處理器自記憶體之第一位址空間讀取備份BIOS之備份SEC程式碼,且備份BIOS為唯讀、處理器自記憶體之第二位址空間讀取主BIOS之主SEC程式碼、處理器加總主SEC程式碼以判斷主SEC程式碼是否錯誤、以及若主SEC程式碼錯誤,處理器執行備份BIOS。
在一實施例中,備份SEC程式碼包含跳躍指令,主BIOS更包含主PEI程式碼,前述開機方法更包含,於處理器讀取備份SEC程式碼後,處理器根據跳躍指令自第一位址空間轉址至第二位址空間,於處理器讀取主SEC程式碼後,處理器自第二位址空間讀取主PEI程式碼,於處理器加總主SEC程式碼後,處理器加總主PEI程式碼以判斷主PEI程式碼是否錯誤,若主SEC程式碼與主PEI程式碼任一者錯誤,處理器執行備份BIOS之備份SEC程式碼。
在一實施例中,前述主BIOS為可寫入,於記憶體接收寫入保護訊號後,主BIOS根據寫入保護訊號由可寫入轉換為唯讀。
在一實施例中,備份BIOS更包含一備份PEI程式碼與一備份DXE程式碼,若主SEC程式碼與主PEI程式碼任一者錯誤,處理器執行備份SEC程式碼、備份PEI程式碼與備份DXE程式碼。
綜上所述,根據本發明之電腦裝置係由一個記憶體中的不同位址空間同時儲存BIOS與備份BIOS,且在BIOS毀損時,電腦裝置可透過執行備份BIOS而成功開機,並且,備份BIOS為唯讀,如此一來,至少備份BIOS不可能因毀損而導致電腦裝置無法開機,且電腦裝置使用一記憶體而降低硬體成本。
請參閱第1圖,為根據本發明之電腦裝置之一實施例之方塊示意圖,揭露一電腦裝置1。電腦裝置1包含處理器11及記憶體12。
在本實施例中,電腦裝置1可為個人電腦、平板電腦或手機。本實施例之記憶體12為唯讀記憶體(Read-only memory;ROM)而可為序列介面(Serial Peripheral Interface;SPI)快閃式記憶體、可規化唯讀記憶體(PROM)或電可擦可規化唯讀記憶體(EEPROM)。處理器11可為嵌入式控制器(Embedded controller)、微處理器(Microprocessor)、I/O控制器(I/O controller)或任何具有類似功能的元件。
以記憶體12之位址空間來看,記憶體12被規劃為至少包含兩個位址空間(為方便描述,以下稱之為第一位址空間與第二位址空間),第一位址空間與第二位址空間分別用以儲存備份BIOS121及主BIOS120。於此,處理器11電性連接於記憶體12,處理器11可執行記憶體12中所儲存之備份BIOS121及主BIOS120來完成電腦裝置1的開機程序,主BIOS120之程式碼若未毀損,處理器11執行主BIOS120來完成開機程序,倘若主BIOS120之程式碼毀損,處理器11可執行備份BIOS121來完成開機程序。
於此,備份BIOS121之程式碼係作為主BIOS120之程式碼的備份,在電腦裝置1出廠時,記憶體12中所儲存的主BIOS120之程式碼與備份BIOS121之程式碼因經出廠設定而相同,倘若電腦裝置1之使用者自行變更主BIOS120之出廠設定或是使用者將出廠後的主BIOS120進行版本更新後,主BIOS120之程式碼與備份BIOS121之程式碼會不相同,即便主BIOS120與備份BIOS120不相同,當主BIOS120毀損時,使用者還是可依照出廠設定之備份BIOS121將電腦裝置1順利開機。
然而,為避免備份BIOS121毀損而導致當主BIOS120毀損時,處理器11無法執行備份BIOS121來完成開機程序,記憶體12包含寫入保護端(圖未示)而具有寫入保護功能,記憶體12可根據寫入保護端接收之訊號來設定儲存於其部分位址空間中的資料為唯讀。舉例而言,以記憶體12的位址空間位於0x000000~0xFFFFFF之範圍為例,且儲存於記憶體12的總位址空間中的二分之一之位址空間(即,0x000000~0x7FFFFF或0x800000~0xFFFFFF)中的資料可被設定為唯讀,在此的字首“0x”意指16進制的常數,故可將位址空間0x000000~0x7FFFFF規畫為第一位址空間,如此一來,備份BIOS121可被設定為唯讀,也就是說,電腦裝置1的使用者無法藉由更新備份BIOS121或更改備份BIOS121的原設定來改變備份BIOS121,且備份BIOS121亦不因受病毒侵害而毀損。
在實作上,處理器11產生寫入保護訊號來開啟記憶體12的寫入保護功能,藉由通用型輸出輸入裝置(General purpose I/O;GPIO)電性連接於處理器11與記憶體12之間,以韌體控制處理器11來產生寫入保護訊號,且處理器11將寫入保護訊號傳送至記憶體12之寫入保護端。寫入保護訊號係根據記憶體12之寫入保護功能的邏輯觸發準位來產生,舉例來說,若寫入保護功能為低準位觸發(active low),處理器11即產生邏輯「0」之寫入保護訊號。
本實施例之記憶體12中可被設定為唯讀的部分位址空間係以總位址空間的二分之一為例,然而本發明並不限於此,根據記憶體12的規格(specification),部分位址空間亦可為四分之一、八分之一或是位址空間中任意指定的範圍間。
在本實施例中,記憶體12之第一位址空間與第二位址空間中更分別儲存有微控制碼(Microcode)1204、1214,電腦裝置1之設計者可透過設計微控制碼1204、1214以經由韌體來控制處理器11。
主BIOS120與備份BIOS121係屬於UEFI BIOS,UEFI BIOS之開機程序可分為第一開機階段與第二開機階段,第一開機階段包含安全性(Security;SEC)開機階段與前EFI(Pre-EFI;PEI)開機階段,第二開機階段包含PEI開機階段後的開機階段,例如:驅動程式執行環境(Driver Execution Environment;DXE)開機階段與啟動裝置選擇(Boot Device Selection;BDS)開機階段。
於此,主BIOS120包含主SEC程式碼1201、主PEI程式碼1202及主DXE程式碼1203,備份BIOS121包含備份SEC程式碼1211、備份PEI程式碼1212及備份DXE程式碼1213。處理器11可執行主SEC程式碼1201或備份SEC程式碼1211來完成SEC開機階段,且處理器11可執行主PEI程式碼1202或備份PEI程式碼1212完成PEI開機階段以完成第一開機階段,處理器11可執行主DXE程式碼1203或備份DXE程式碼1213以執行第二開機階段。
電腦裝置1通電後,為避免主BIOS120毀損而無法完成開機程序,處理器11由記憶體12的第一位址空間中儲存備份SEC程式碼1211之位址讀取備份SEC程式碼1211來開始執行SEC開機階段。備份SEC程式碼1211中包含跳躍指令(jump),在處理器11讀取備份SEC程式碼1211後,處理器11根據跳躍指令中位址偏移之資訊由第一位址空間轉址至第二位址空間來讀取主SEC程式碼1201並判斷主SEC程式碼1201是否錯誤,在處理器11讀取備份SEC程式碼1211後,處理器11亦讀取主PEI程式碼1202並判斷主PEI程式碼1202是否錯誤。
處理器11藉由進行總和檢查(checksum)來判斷主SEC程式碼1201與主PEI程式碼1202是否錯誤,也就是說,處理器11加總主SEC程式碼1201與主PEI程式碼1202中的韌體檔案系統(Firmware file system;FFS)的位元組以分別產生兩總和,處理器11分別將兩總和與預設總和相比較以檢驗主SEC程式碼1201與主PEI程式碼1202是否錯誤。
在實作上,可以韌體控制處理器11執行總和檢查且控制處理器11將兩總和與預設總和進行比對,預設總和可預先寫入韌體中,處理器11即時將兩總和與預設總和進行比對,若處理器11判斷兩總和與預設總和相等則表示主SEC程式碼1201與主PEI程式碼1202不具錯誤,若處理器11判斷兩總和中之任一者與預設總和不相等則表示主SEC程式碼1201或主PEI程式碼1202錯誤。舉例來說,假設預設總和為1,處理器11分別加總主SEC程式碼1201與主PEI程式碼1202並分別產生第一總和與第二總和,若第一總和及第二總和為0則表示主SEC程式碼1201與主PEI程式碼1202錯誤,反之,若第一總和及第二總和為1則表示主SEC程式碼1201與主PEI程式碼1202不具有錯誤。
於此,處理器11可在產生第一總和及第二總和後判斷主SEC程式碼1201及主PEI程式碼1202是否錯誤,或者處理器11亦可在產生第一總和後即判斷主SEC程式碼1201是否錯誤,此時,若主SEC程式碼1201錯誤,處理器11可不加總主PEI程式碼1202而直接進行後續開機程序。
在正常的開機程序中,處理器11讀取備份SEC程式碼1211與備份PEI程式碼1212後,因主SEC程式碼1201與主PEI程式碼1202不具有錯誤,處理器11即執行主SEC程式碼1201與主PEI程式碼1202來完成第一開機階段。並且,於處理器11執行主SEC程式碼1201與主PEI程式碼1202時,處理器11讀取主DXE程式碼1203並判斷主DXE程式碼1203是否錯誤,處理器11加總主DXE程式碼1203中的韌體檔案系統(Firmware file system;FFS)的位元組以進行總和檢查。總和檢查已詳述於前,於此不再贅述。於第一開機階段完成後,若主DXE程式碼1203不具錯誤,處理器11即執行主DXE程式碼1203來進行第二開機階段。
然而,在不正常的開機程序中,若處理器11判斷主SEC程式碼1201與主PEI程式碼1202中之任一者錯誤即表示主BIOS120錯誤,此時,處理器11依序執行備份BIOS121之備份SEC程式碼1211、備份PEI程式碼1212及備份DXE程式碼1213以執行第一開機階段與第二開機階段。倘若處理器11判斷主SEC程式碼1201與主PEI程式碼1202不具錯誤而主DXE程式碼1203錯誤,處理器11即執行備份BIOS121之備份DXE程式碼1213以進行第二開機階段,也就是說,處理器11執行主SEC程式碼1201與主PEI程式碼1202進行第一開機階段,接著,處理器11執行備份DXE程式碼1213以進行第二開機階段。在實作上,可藉由在微控制碼1204中設定旗標(flag)使處理器11由第二位址空間轉址至第一位址空間來讀取備份DXE程式碼1213以執行第二開機階段。
因此,當主SEC程式碼1201、主PEI程式碼1202或主DXE程式碼1203三者中之任一者錯誤時,處理器11可執行備份BIOS121經由BDS階段啟動作業系統,以使電腦裝置1成功地開機而不需要開機資訊表,並且,電腦裝置1可包含指示燈(圖未示),指示燈之燈號可用來顯示主BIOS120毀損,電腦裝置1之使用者可藉由指示燈得知主BIOS120毀損而更新主BIOS120以執行正常的開機程序。
請參閱第2圖,為根據本發明之電腦裝置的開機方法之一實施例之流程圖。處理器11由記憶體12之第一位址空間讀取備份SEC程式碼1211(步驟S01)以開始電腦裝置1的開機程序後,處理器11根據備份SEC程式碼1211轉址至記憶體12之第二位址空間讀取主SEC程式碼1201與主PEI程式碼1202(步驟S02);在執行主BIOS120以繼續開機程序之前,處理器11先判斷主SEC程式碼1201與主PEI程式碼1202是否錯誤(步驟S03),若判斷結果為「否」,表示主SEC程式碼1201與主PEI程式碼1202均不具錯誤,則處理器11執行主SEC程式碼1201與主PEI程式碼1202(步驟S04)以繼續開機程序。於處理器11執行完步驟S04後,處理器11由記憶體12之第二位址空間讀取主DXE程式碼1203(步驟S05)以判斷主DXE程式碼1203是否錯誤(步驟S06),若判斷結果為「否」,則處理器11執行主DXE程式碼1203(步驟S07)以繼續執行開機程序而進入UFEI BIOS之BDS開機階段以啟動作業系統。
簡言之,若主BIOS120未毀損而不具錯誤時,處理器11依序執行主SEC程式碼1201、主PEI程式碼1202及主DXE程式碼1203來進行電腦裝置1正常的開機程序。
接著,以下說明主BIOS120錯誤的情況,主BIOS120錯誤的情況有兩種,其一是主SEC程式碼1201與主PEI程式碼錯誤1202,在處理器11判斷主SEC程式碼1201與主PEI程式碼1202是否錯誤(步驟S03)之後,若判斷結果為「是」,表示主SEC程式碼1201與主PEI程式碼1202中之任一者錯誤,處理器11則依序執行備份SEC程式碼1211及備份PEI程式碼1212(步驟S08)及備份DXE程式碼1213(步驟S09)以進行開機程序;另一可能是主SEC程式碼1201及主PEI程式碼1202均不具錯誤而主DXE程式碼1203錯誤,在處理器11執行步驟S04及步驟S05之後,處理器11判斷主DXE程式碼1203是否錯誤(步驟S06),若判斷結果為「是」,處理器11則執行備份BIOS121之備份DXE程式碼1213以繼續電腦裝置1的開機程序。簡言之,當處理器11判斷主SEC程式碼1201、主PEI程式碼1202與主DXE程式碼1203任一者錯誤時,處理器11執行備份BIOS121來進行開機程序以使電腦裝置1順利運作,並且,只要主SEC程式碼1201或主PEI程式碼1202錯誤,處理器即執行備份BIOS121進行開機程序而不再判斷主DXE程式碼1203是否錯誤。
在本實施例中, 主DXE程式碼1203、主PEI程式碼1202、主SEC程式碼1201、備份DXE程式碼1213、備份PEI程式碼1212及備份SEC程式碼1211係由記憶體12之低位址空間依序儲存至高位址空間,然而本發明不以此為限,只要處理器11可根據本實施例之開機方法執行記憶體12中之主BIOS120及備份BIOS121中的各程式碼即可。
綜上所述,根據本發明之電腦裝置係由一個記憶體中的不同位址空間同時儲存BIOS與備份BIOS,且在BIOS毀損時,電腦裝置可透過執行備份BIOS而成功開機,並且,備份BIOS為唯讀,如此一來,至少備份BIOS不可能因毀損而導致電腦裝置無法開機,且電腦裝置使用一記憶體而降低硬體成本。
雖然本發明已以實施例揭露如上然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,故本發明之保護範圍當視後附之專利申請範圍所界定者為準。
1‧‧‧電腦裝置
11‧‧‧處理器
12‧‧‧記憶體
120 ‧‧‧主BIOS
1201‧‧‧主SEC程式碼
1202‧‧‧主PEI程式碼
1203‧‧‧主DXE程式碼
1204‧‧‧主BIOS之微控制碼
121‧‧‧備份BIOS
1211‧‧‧備份SEC程式碼
1212‧‧‧備份PEI程式碼
1213‧‧‧備份DXE程式碼
1214‧‧‧備份BIOS之微控制碼
步驟S01‧‧‧讀取備份SEC程式碼
步驟S02‧‧‧讀取主SEC程式碼與主PEI程式碼
步驟S03‧‧‧判斷主SEC程式碼與主PEI程式碼是否錯誤
步驟S04‧‧‧執行主SEC程式碼與主PEI程式碼
步驟S05‧‧‧讀取主DXE程式碼
步驟S06‧‧‧判斷主DXE程式碼是否錯誤
步驟S07‧‧‧執行主DXE程式碼
步驟S08‧‧‧執行備份SEC程式碼與備份PEI程式碼
步驟S09‧‧‧執行備份DXE程式碼
11‧‧‧處理器
12‧‧‧記憶體
120 ‧‧‧主BIOS
1201‧‧‧主SEC程式碼
1202‧‧‧主PEI程式碼
1203‧‧‧主DXE程式碼
1204‧‧‧主BIOS之微控制碼
121‧‧‧備份BIOS
1211‧‧‧備份SEC程式碼
1212‧‧‧備份PEI程式碼
1213‧‧‧備份DXE程式碼
1214‧‧‧備份BIOS之微控制碼
步驟S01‧‧‧讀取備份SEC程式碼
步驟S02‧‧‧讀取主SEC程式碼與主PEI程式碼
步驟S03‧‧‧判斷主SEC程式碼與主PEI程式碼是否錯誤
步驟S04‧‧‧執行主SEC程式碼與主PEI程式碼
步驟S05‧‧‧讀取主DXE程式碼
步驟S06‧‧‧判斷主DXE程式碼是否錯誤
步驟S07‧‧‧執行主DXE程式碼
步驟S08‧‧‧執行備份SEC程式碼與備份PEI程式碼
步驟S09‧‧‧執行備份DXE程式碼
[第1圖] 為根據本發明之電腦裝置之一實施例之方塊示意圖。 [第2圖] 為根據本發明之電腦裝置之開機方法之一實施例之流程圖。
1‧‧‧電腦裝置
11‧‧‧處理器
12‧‧‧記憶體
120‧‧‧主BIOS
1201‧‧‧主SEC程式碼
1202‧‧‧主PEI程式碼
1203‧‧‧主DXE程式碼
1204‧‧‧主BIOS之微控制碼
121‧‧‧備份BIOS
1211‧‧‧備份SEC程式碼
1212‧‧‧備份PEI程式碼
1213‧‧‧備份DXE程式碼
1214‧‧‧備份BIOS之微控制碼
Claims (8)
- 一種電腦裝置,包含:一記憶體,包含一第一位址空間與一第二位址空間,該第一位址空間與該第二位址空間分別用以儲存一備份BIOS及一主BIOS,該備份BIOS為唯讀,該備份BIOS包含一備份SEC程式碼,該主BIOS包含一主SEC程式碼;及一處理器,電性連接於該記憶體,該處理器於一開機程序中先自該第一位址空間讀取該備份SEC程式碼,該處理器接著自該第二位址空間讀取該主SEC程式碼,且該處理器加總該主SEC程式碼以判斷該主SEC程式碼是否錯誤,若該主SEC程式碼錯誤,該處理器執行該備份BIOS。
- 如請求項1所述之電腦裝置,其中該備份SEC程式碼包含一跳躍指令,該主BIOS更包含一主PEI程式碼,該處理器讀取該備份SEC程式碼之該跳躍指令後,該處理器根據該跳躍指令由該第一位址空間轉址至該第二位址空間讀取該主SEC程式碼及該主PEI程式碼,該處理器加總該主SEC程式碼並產生一總和,且該處理器加總該主PEI程式碼並產生另一總和,該處理器比較該些總和與一預設總和以判斷該主SEC程式碼與該主PEI程式碼是否錯誤,若該主SEC程式碼與該主PEI程式碼任一者錯誤,該處理器執行該備份BIOS之該備份SEC程式碼。
- 如請求項2所述之電腦裝置,其中該備份BIOS更包含一備份PEI程式碼與一備份DXE程式碼,若該主SEC程式碼與該主PEI程式碼任一者錯誤,該處理器執行該備份SEC程式碼、該備份PEI程式碼與該備份DXE程式碼。
- 如請求項1所述之電腦裝置,其中該記憶體包含一寫入保護端,該備份BIOS根據該寫入保護端所接收之一寫入保護訊號而設定為唯讀。
- 一種電腦裝置的開機方法,包含:一處理器於一開機程序中先自一記憶體之一第一位址空間讀取一備份BIOS之一備份SEC程式碼,該備份BIOS為唯讀;於該處理器讀取該備份SEC程式碼後,該處理器自該記憶體之一第二位址空間讀取一主BIOS之一主SEC程式碼;該處理器加總該主SEC程式碼以判斷該主SEC程式碼是否錯誤;及若該主SEC程式碼錯誤,該處理器執行該備份BIOS。
- 如請求項5所述之電腦裝置的開機方法,其中該備份SEC程式碼包含一跳躍指令,該主BIOS更包含一主PEI程式碼,該開機方法更包含,於該處理器讀取該備份SEC程式碼後,該處理器根據該跳躍指令自該第一位址空間轉址至該第二位址空間,於該處理器讀取該主SEC程式碼後,該處理器自該第二位址空間讀取該主PEI程式碼,於該處理器加總該主SEC程式碼後,該處理器加總該主PEI程式碼以判斷該主PEI程式碼是否錯誤,若該主SEC程式碼與該主PEI程式碼任一者錯誤,該處理器執行該備份BIOS之該備份SEC程式碼。
- 如請求項5所述之電腦裝置的開機方法,其中該記憶體包含一寫入保護端,該開機方法更包含,該記憶體之該寫入保護端接收一寫入保護訊號,使該備份BIOS根據該寫入保護訊號而設定為唯讀。
- 如請求項6所述之電腦裝置的開機方法,其中該備份BIOS更包含一備份PEI程式碼與一備份DXE程式碼,若該主SEC程式碼與該主PEI程式碼任一者錯誤,該處理器執行該備份SEC程式碼、該備份PEI程式碼與該備份DXE程式碼。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW104129439A TWI556172B (zh) | 2015-09-04 | 2015-09-04 | 電腦裝置及其開機方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW104129439A TWI556172B (zh) | 2015-09-04 | 2015-09-04 | 電腦裝置及其開機方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TWI556172B true TWI556172B (zh) | 2016-11-01 |
| TW201710888A TW201710888A (zh) | 2017-03-16 |
Family
ID=57851447
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW104129439A TWI556172B (zh) | 2015-09-04 | 2015-09-04 | 電腦裝置及其開機方法 |
Country Status (1)
| Country | Link |
|---|---|
| TW (1) | TWI556172B (zh) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10620879B2 (en) | 2017-05-17 | 2020-04-14 | Macronix International Co., Ltd. | Write-while-read access method for a memory device |
| US10445088B2 (en) | 2018-01-11 | 2019-10-15 | Macronix International Co., Ltd. | System boot code clone |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TW201319942A (zh) * | 2011-11-04 | 2013-05-16 | Asrock Inc | 更新韌體方法與開機方法及使用其之電子裝置 |
| CN103729220A (zh) * | 2013-12-25 | 2014-04-16 | 合肥联宝信息技术有限公司 | 一种利用ec rom恢复bios rom的方法及装置 |
| US20150074386A1 (en) * | 2013-09-09 | 2015-03-12 | Insyde Software Corp. | Boot method and boot system |
| TW201533569A (zh) * | 2014-02-26 | 2015-09-01 | Wistron Corp | 電腦系統與控制方法 |
-
2015
- 2015-09-04 TW TW104129439A patent/TWI556172B/zh active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TW201319942A (zh) * | 2011-11-04 | 2013-05-16 | Asrock Inc | 更新韌體方法與開機方法及使用其之電子裝置 |
| US20150074386A1 (en) * | 2013-09-09 | 2015-03-12 | Insyde Software Corp. | Boot method and boot system |
| CN103729220A (zh) * | 2013-12-25 | 2014-04-16 | 合肥联宝信息技术有限公司 | 一种利用ec rom恢复bios rom的方法及装置 |
| TW201533569A (zh) * | 2014-02-26 | 2015-09-01 | Wistron Corp | 電腦系統與控制方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| TW201710888A (zh) | 2017-03-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8601255B2 (en) | Approaches for updating bios | |
| CN110032405B (zh) | 系统开机码存储器管理方法、存储器装置与应用其的电子系统 | |
| CN103377063B (zh) | 从遗留操作系统环境恢复到uefi预启动环境的方法和系统 | |
| US9507604B2 (en) | Boot method and boot system | |
| TWI515660B (zh) | 韌體變量更新方法 | |
| US20040255106A1 (en) | Recovery of operating system configuration data by firmware of computer system | |
| CN113064637B (zh) | 从分离的bios映像文件启动的方法及系统 | |
| KR101640207B1 (ko) | 부트로더 및 임베디드 시스템 업그레이드 방법 | |
| US7908469B2 (en) | Method for executing power on self test on a computer system and updating SMBIOS information partially | |
| WO2020062887A1 (zh) | 基于闪存微控制器的固件升级方法和系统及闪存微控制器 | |
| US11163886B2 (en) | Information handling system firmware bit error detection and correction | |
| US10437580B2 (en) | Software updating methods and systems | |
| US20090271660A1 (en) | Motherboard, a method for recovering the bios thereof and a method for booting a computer | |
| CN110865830A (zh) | 固件更新方法及电脑系统 | |
| CN106325903A (zh) | 启动处理方法及装置 | |
| CN105589699A (zh) | 序列号信息的更新方法、装置及终端 | |
| US9218249B2 (en) | Electronic apparatus, method of restoring guid partition table (GPT) and computer-readable recording medium | |
| CN102880478B (zh) | 软件更新方法 | |
| US10977050B2 (en) | Method for managing system boot code memory, memory device and electronic system using the same | |
| WO2015184732A1 (zh) | 引导程序的存储方法、故障恢复方法及设备、计算机存储介质 | |
| TWI556172B (zh) | 電腦裝置及其開機方法 | |
| US7428635B2 (en) | Method of writing non-volatile memory that avoids corrupting the vital initialization code | |
| CN103106086B (zh) | 操作系统处理方法以及系统 | |
| WO2021012170A1 (zh) | 固件启动方法、设备及计算机可读存储介质 | |
| US20190146804A1 (en) | Method for synchronization of system management data |