TWI482015B - 於裝置初始化期間備份韌體之技術 - Google Patents
於裝置初始化期間備份韌體之技術 Download PDFInfo
- Publication number
- TWI482015B TWI482015B TW101149544A TW101149544A TWI482015B TW I482015 B TWI482015 B TW I482015B TW 101149544 A TW101149544 A TW 101149544A TW 101149544 A TW101149544 A TW 101149544A TW I482015 B TWI482015 B TW I482015B
- Authority
- TW
- Taiwan
- Prior art keywords
- firmware
- backup
- computing device
- memory
- initialization
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1417—Boot up procedures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/16—Protection against loss of memory contents
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Stored Programmes (AREA)
- Retry When Errors Occur (AREA)
Description
本發明係有關於裝置初始化期間備份韌體之技術。
計算裝置,像是膝上型電腦和桌上型電腦被全世界的使用者使用。這些計算裝置中的一些是以包含一製造商之軟體套件的系統被銷售。舉例而言,一膝上型電腦裝置可能有一附隨之附加軟體的作業系統映像。當裝置首次運行時,一基本輸入/輸出系統可被使用來啟動系統開始執行作業系統映像的指令。
依據本發明之一實施例,係特地提出一種計算裝置,包含:一包括韌體的第一非依電性記憶體;一初始化一作業系統的初始化模組,其中在初始化程序期間,該初始化模組設定一旗標以備份韌體;一啟動模組,經由基於該第一非依電性記憶中之韌體的啟動程序啟動計算裝置;以及一備份模組,如果旗標已被設定在啟動程序期間將韌體備份到一第二非依電性記憶體。
100a,100b‧‧‧計算裝置
110‧‧‧韌體
112‧‧‧初始化模組
114‧‧‧啟動模組
116‧‧‧備份模組
118‧‧‧非依電性記憶體
120‧‧‧儲存單元
130‧‧‧處理器
132‧‧‧記憶體
134‧‧‧輸入/輸出介面
140‧‧‧輸入裝置
142‧‧‧輸出設備
200‧‧‧方法
300‧‧‧方法
400‧‧‧計算裝置
410‧‧‧處理器
420‧‧‧機器可讀儲存媒體
422‧‧‧初始化指令
424‧‧‧作業系統(OS)指令
440‧‧‧機器可讀儲存媒體
442‧‧‧啟動指令
444‧‧‧備份指令
以下的詳細描述參照附圖,其中:圖1A和1B是計算裝置的方塊圖,如果一旗標在初始化期間被設定,該計算裝置能在啟動程序期間將韌體備份到一儲存器;圖2是依據一實例,根據在初始化程序期間設定之請求備份韌體的方法的一流程圖;圖3是依據一實例,使用一解捆綁程序備份一基本輸入/輸出系統之方法的一流程圖;以及圖4是依據一實例之計算裝置的方塊圖,該計算裝置能夠根據一非依電性記憶體的設定在初始化一作業系統期間產生該計算裝置之韌體的備份。
消費者現今有許多裝置,像是筆記型電腦、桌上型電腦、單體全備個人電腦,等等。這些裝置能被一使用者購買且由一製造商製造。製造商可加入諸如一韌體介面、一作業系統、其他配套軟體、一處理器或者多個處理器、記憶體,等等組件來實施裝置。
在製造期間,各個裝置的各種不同組件可包括不同的建置或編碼層級。舉例而言,一韌體介面,諸如一基本輸入/輸出系統(BIOS),可以在一編碼層級,而一硬碟上的軟體映像在另一編碼層級。因此,升級可以成為獨立的。當每一個組件的某些建置層級被制定時,裝置可視為準備
好出貨給使用者。
可以增加裝置的備份及/或復原功能。備份及/或復原功能的實例包括被一儲存在儲存器,諸如硬碟、韌體備份,或同類之上的系統復原映像。在一個實例中,一BIOS的備份可被儲存在硬碟上。因此,如果BIOS後來發生問題,備份能被用來恢復BIOS及/或啟動裝置。在出貨給顧客的裝置上有備份BIOS在硬碟上是有利的,如此使得如果BIOS將來升級失敗,如果BIOS毀壞,等等,一已知、良好的備份能被使用。
然而,將BIOS的一複本放在與一諸如包含一作業系統的軟體映像一同出貨的產品之硬碟上可能對開發者和製造商是一種挑戰。可能出現的挑戰是,製作映像檔的硬碟將需要等到最終BIOS被開發和驗證之後才被製作映像檔。BIOS改變對於改正多種問題及/或多種改進是有幫助的。因此,等待直到軟體映像檔以外最終化BIOS可能是有利的。
因此,在此揭露的各種不同實施例與在一儲存單元,諸如一硬碟之上儲存備份韌體有關。儲存器舉例而言可以是一具有軟體映像,諸如一安裝之作業系統映像的硬碟。當一使用者,諸如一顧客執行映像上的軟體時作業系統可被初始化。在作業系統的初始化期間,一記憶體,諸如一旗標,可被設定。此記憶體可能是一與BIOS有關的非依電性記憶體,一與BIOS,等等有關的記憶體位置。此外,記憶體可被用來指示在下一次啟動時BIOS應備備到儲存單
元。
在啟動程序期間,BIOS能檢查記憶體位置以確定記憶體是否已設定。如果已設定,BIOS使裝置將BIOS備份到一位置,舉例而言,儲存單元的一記憶體位置。在某些實例中,該位置是根據規格及/或標準。舉例而言,位置及/或儲存單元可對應於或被關聯於統一可擴展韌體介面(UEFI)規格、EFI規格、專屬規格或同類。在某些實例中,在一硬碟或儲存單元上的一位置預期內被提供來儲存BIOS。在其他實例中,備份的位置可變且在備份之後儲存在與BIOS有關的一非依電性記憶體中。藉由上述的方法,製造商可在裝置的硬碟映像已被設定後更新裝置的BIOS且仍有能力將BIOS的備份隨同儲存在硬碟上的系統出貨。
圖1A與1B是依據各種不同實施例之計算裝置的方塊圖,如果在初始化期間一旗標已被設定計算裝置在一啟動程序期間能夠備份韌體到一儲存器。計算裝置100a,100b包括能被利用來備份韌體至一儲存單元的組件。各別的計算裝置100a,100b可為筆記型電腦、桌上型電腦、平板計算裝置、無線設備、伺服器、工作站或任何其他使用韌體啟動及將計算裝置之操作轉移到另一作業系統的的計算裝置。在某些實例中,計算裝置100a可包括韌體110、初始化模組112、啟動模組114、備份模組116,以及非依電性記憶體118。計算裝置100b可進一步包括儲存單元120、處理器130、記憶體132、輸入/輸出介面134、一或多個輸入裝置140、一或多個輸出設備142,等等。
計算裝置100可包括韌體110。韌體110能儲存在計算裝置100a的一非依電性記憶體118中。非依電性記憶體118可能是電子、磁性、光學,或使用另外的物理儲存技術。此外,非依電性記憶體118可被實施為電子可抹除可程式化唯讀記憶體(EEPROM)、快閃記憶體、可程式唯讀記憶體(PROM)、非依電性隨機存取記憶體(NVRAM)或同類。此外,韌體110能遵從一標準或規格,諸如EFI或UEFI,一專屬規格或同類。此外,韌體110,舉例而言,一BIOS,可包括能由處理器130執行的指令。在某些方案中,非依電性記憶體118的某些部份可被使用於BIOS韌體指令,而其他相關的非依電性記憶體118使用於儲存變數及/或與韌體110關聯地被使用的旗標。指令可被使用來初始化計算裝置100且將計算裝置的執行轉換到一作業系統。
在某些實例中,在初始化執行期間,舉例而言,計算裝置100的第一次執行,韌體110將計算裝置100之執行轉換到初始化模組112。初始化模組112能包括指令,當由處理器130執行時初始化作業系統及/或計算裝置100上的其他應用程式。因此,初始化模組112可能是製造商或計算裝置100的或者另一使用者安裝到計算裝置100上的第一次執行機構的一部分。此外,作業系統的初始化可包括對一使用者定制一或多個程式及/或驅動程式。舉例而言,初始化可被用來設置一初始使用者名稱及/或密碼,計算裝置100之一註冊,等等。更進一步,初始化可包括解捆綁、註冊、及/或其他應用程式之設置。
初始化模組112,舉例而言,能以一置於計算裝置100的一儲存單元120上的軟體映像加到計算裝置100。在計算裝置100的初始化期間,初始化模組112能在計算裝置100的非依電性記憶體118中設定一旗標或者其他記憶體以將韌體110備份。初始化模組112可使用一管理儀表,諸如視窗管理儀表(WMI)、專屬管理儀表,或此類者以設定非依電性記憶體118。在某些實例中,一管理儀表是一能被使用來與高階程式介面連接的程式,諸如一在具有儀表應用組件之作業系統上運行的應用程式,像是一與韌體110關聯的非依電性記憶體。在某些方案中,在初始化程序期間及/或在初始化程序已經完成之後,計算裝置100能被再啟動。
當計算裝置100被啟動,一啟動模組114可初始化在處理器130上執行的一啟動程序。啟動程序初始化計算裝置100的介面,諸如輸入/輸出介面134、儲存介面,或同類。舉例而言,一計算裝置100的輸入介面能被連接到一輸入裝置140,諸如鍵盤、滑鼠、遙控器、鍵盤、觸控介面、麥克風或同類。再者,一輸出介面可被連接到一輸出設備142,諸如顯示器、揚聲器、放大器,投影機、列印機、訊息裝置或同類。在啟動程序期間,啟動模組114可決定是否指示韌體應備份之記憶體或旗標已被設定。如果記憶體或旗標已經被設定,啟動程序可使備份模組116將韌體110備份。
因此,如果旗標或記憶體已經被設定,備份模組116在啟動程序期間備份韌體110至一儲存單元120。在某些實例中,韌體110包括BIOS或者用於計算裝置100或計算裝
置100之一組件的或其他啟動韌體的二進制資訊。該二進制資訊可包括由BIOS使用的指令及/或內定設定資訊。在某些方案中,其他設定資訊可根據儲存在儲存單元120上的韌體建立一備份韌體且造成備份韌體之儲存。在某些方案中,備份韌體的位置是根據一標準或規格,諸如UEFI、一專屬規格等。當產生備份韌體時備份模組116能進一步修改韌體110。舉例而言,此一修改可清除與韌體110有關之一或多個記憶體變數,該記憶體變數也可以備份。在某些方案中,修改可被用來以內定設定資訊設定備份韌體,該內定設定資訊可能已經在一先前的啟動期間被儲存及/或在韌體110上被更新。
在某些實例中,儲存單元120是一固定儲存單元諸如一硬碟,一可移式裝置諸如通用序列匯流排(USB)儲存驅動機、或外部儲存器諸如在一網路裝置上的儲存器。在某些實例中,一固定儲存系統是一要被利用作為永久記憶體方案的記憶體。一固定儲存系統可包括一或多個為了此一永久記憶體方案而成組的儲存裝置。舉例而言,固定儲存器可包括非可移式儲存器。措詞「固定的」和「非可移式」可以反映儲存方案的預期目的。因此,「固定的」和「非可移式」兩者皆可因修理、維護、升級,等等而被移動。此種固定儲存裝置的實例包括硬碟、固態磁碟機、儲存陣列或包括磁碟機或磁碟中至少一者的圍封件,或同類。更進一步,在一些實例中,這些儲存裝置可根據移動、更換或修理儲存裝置的困難而決定為固定式的。此外,措詞「固
定的」和「非可移式」可利用來區分此種裝置和「可移式」儲存媒體諸如磁帶、軟式磁片、光碟,抽取式USB隨身碟,等等。
在某些實施例中,一固定或非可移式儲存裝置,諸如一內部硬碟,一內部固態驅動器、一內部或外部的圍封件或同類可包括一組包含初始化模組112之指令的軟體或軟體映像。而且,備份韌體在啟動程序期間能被儲存在同一儲存裝置中。舉例而言,計算裝置100的初始化可包括在儲存單元120上建立分區。備份韌體可被儲存在分區上。
A一處理器130,諸如一中央處理單元(CPU)或一適合用來擷取和執行指令及/或電子電路的微處理器可配置成執行本文中描述之模組112,114,116中任一者的功能性。在某些方案中,指令及/或其他資訊,諸如二進制韌體資訊,在備份程序期間能被儲存在記憶體132或其他記憶體中。此外,在某些實施例中,一些組件可被利用來實施本文描槌之其他組件的功能性。
每一模組112,114,116舉例而言可包括包含用以實施本文描述之功能性之電子電路的硬體裝置。另外或選擇替代地,每一模組112,114,116可被實施為被編碼在計算裝置100的機器可讀儲存媒體上且可由處理器130執行的一系列指令。應注意的,在一些實施例中,一些模組被實施為硬體裝置,而其他模組被實施為可執行指令。
圖2是依據一實例在初始化程序期間基於一請求備份韌體之方法的一流程圖。方法200的執行可由一計算裝
置實施,舉例而言,計算裝置100或另一計算裝置,諸如計算裝置400。方法200可能以儲存在一機器可讀的儲存媒體上之可執行指令的形式,及/或以電子電路的形式被實施。
方法200可自202開始且進行到204,在該處一計算裝置初始化一作業系統在計算裝置上執行。在某些實例中,計算裝置是膝上型電腦、桌上型電腦、工作站、伺服器或另一包括啟動計算裝置之韌體和一單獨的作業系統的電腦。作業系統的初始化可用來使作業系統作好在電腦上運行的準備。更進一步,初始化可用來針對一新使用者定制電腦。在個人電腦的實例中,一新使用者可從製造商或零售店購買電腦。個人電腦可包括一包含作業系統及/或其他程式的一軟體映像。舉例而言,當使用者第一次打開電腦時,電腦可啟動執行軟體映像上的指令以預備電腦供使用者來使用。舉例而言,預備可包括個人電腦、個人電腦之作業系統的註冊,其他程式的註冊,等等。此外,預備可包括建立使用者的使用者名稱及/或密碼。
在206,在初始化程序期間,電腦可設定一記憶體,諸如一非依電性記憶體,指示對電腦之韌體的備份請求。韌體舉例而言可包括一BIOS、UEFI,等等。因此韌體可在208被使用來啟動電腦。電腦能被再啟動或不然被重新設定。再啟動指令可能是在初始化程序期間使用的軟體暖啟動。另外或選擇替代地,電腦可被關閉並啟動。在某些實例中,記憶體可在能在在一暖啟動期間未設定的依電性記憶體中被設定。
在啟動程序期間,在210,電腦可檢查非依電性記憶體以確定是否備份請求存在。如果備份請求不存在,電腦可繼續啟動。在某些方案中,如果備份請求不存在,電腦可繼續啟動。
如果備份請求存在,電腦在212備份與請求有關的韌體至一儲存單元。在某些實例中,與請求有關的韌體可視為可用韌體。在某些實施例中,可用韌體是位於電腦之一記憶體,諸如NVRAM上的韌體,可用韌體在此可被執行其預定功能。在一些實例中,一可用韌體可能是包括儲存在第一記憶體上由處理器執行之資訊的BIOS。如上所述,儲存單元可以是固定或可移動的儲存裝置。更進一步地,儲存單元可能是一固定磁碟,諸如一硬碟,其包括一軟體映像,舉例而言,關於一能被使用來啟動初始化程序的作業系統的資訊。韌體的備份可包括建立一備份韌體映像。韌體映像可以是被包含在韌體中之資訊的二進制映像。另外或選擇替代地,韌體映像的一些可能包含可變資料的部份可被清除或設置為一內定狀態。在某些方案中,一部分的韌體可包括內定值及/或清除狀態及/或可能需要被清除的記憶體。然後,備份韌體映像能被儲存在儲存單元上。在某些實例中,儲存單元是一固定磁碟,而且備份韌體被儲存在分區上。分區可專門用於保存備份韌體。而且,在某些方案中,備份韌體可根據一標準或規格,諸如UEFI規格、專屬規格,或同類者被儲存在一位置。
電腦能繼續執行其他功能,諸如繼續啟動到作業
系統。另外,電腦可清除備份請求。藉由此一途徑,當作業系統或者系統軟體第一次初始化時,備份被執行一次。而且,在某些方案中,在韌體備份一次之後,替換備份韌體的選項在韌體中可被禁止。
圖3是依據一實例,一種用於使用一解捆綁程序備份一基本輸入/輸出系統之方法的流程圖。方法300的執行能藉一電腦來實施,舉例而言,計算裝置100或另一計算裝置,諸如計算裝置400。方法300可能以儲存在一機器可讀的儲存媒體上之可執行指令的形式,及/或以電子電路的形式被實施。
方法300在302開始,電腦在此是一準備要被設定的狀態。在某些方案中,電腦可以是在一具有安裝但未對針對使用者定制之作業系統的狀態。舉例而言,電腦可能是在一使用者從製造商或零售店買了電腦,但電腦還沒有被使用者初始化的狀態。電腦能預載一軟體映像,舉例而言,包括一作業系統及/或其他可能需要被設定或初始化的捆綁軟體的一映像。如上所述,製造商可能想要有一韌體映像,諸如備份BIOS映像,儲存在諸如一與電腦有關之硬碟的儲存器上。然而,在保有改變BIOS或韌體的靈活性的同時要將BIOS或者韌體映像有效率地放在一預載的儲存器上是具有挑戰性的。
當顧客買電腦時,顧客可以打開電腦。在304,電腦從一系統映像啟動一解捆綁程序。系統映像可包括一作業系統及/或其他能被電腦之處理器執行的軟體。解捆綁
程序可包括作業系統及/或一或多個套裝軟體的初始化。解捆綁程序也能被使用來註冊電腦、作業系統、套裝軟體,等等。此外,解捆綁程序可被使用來設定使用者名稱、密碼,等等。
軟體可以為了電腦的銷售被捆綁在一起。將軟體捆綁在一起對製造商的利益是製造商可將包含電腦作業系統與套裝軟體的軟體映像預載到電腦帶有的儲存器上。此一程序允許一更精簡的製造程序。在解捆綁程序期間,在306,一管理儀表,諸如WMI或一專屬儀表能被使用來設定一非依電性記憶體旗標。在某些實例中,旗標是一或多個位元,用於儲存一個二進制值或具有指定意義的編碼。在此一方案中,當旗標被設定時,指定意義是如果旗標被設定,在啟動程序期間,電腦備份韌體,舉例而言電腦的BIOS。
在308,電腦可建立及/或驗證儲存一備份韌體,諸如一BIOS的分區存在。建立/驗證程序可在解捆綁程序期間發生,舉例而言,當旗標被設定時。另外或選擇替代地,建立/驗證程序可在被電腦的一韌體控制的啟動程序期間發生。
在310,電腦被再啟動。再啟動可能是用一軟體再啟動的解捆綁程序的一部份及/或可被視為電腦下次的關機、啟動循環。當電腦被啟動時,一啟動程序能使用一韌體或BIOS被執行。電腦可檢查記憶體位置以確定是否記憶體位置被設定。
如果旗標被設定,電腦在312產生並儲存一備份BIOS或韌體至分區。在某些實施例中,備份包括建立韌體及/或BIOS的一韌體映像。接著韌體映像被儲存在分區上。在某些實施例中,韌體映像可以是目前BIOS或韌體的一個二進制複本。在其他實施例中,韌體映像可能是目前BIOS或韌體的一有修改的複本。修改舉例而言可包括清除或將一或多個記憶體位置設定成一內定狀態。此一資訊可被包含在用來備份的一或多個韌體指令之中。此外,在某些方案中,電腦可清除當備份進行時所設定的記憶體位置。另外或選擇替代地,為了增加安全,記憶體位置能被設定成另一狀態,因此一個新的BIOS不能取代被儲存在分區上的備份BIOS。
電腦可繼續其他的處理。舉例而言,電腦可繼續啟動作業系統。藉由此一方法,一備份BIOS或韌體可被儲存在與電腦相關的一儲存器上而不需使用者介入,且不需製造商在製造期間將備份放置在儲存器上。
圖4是依據一實例之計算裝置的方塊圖,該計算裝置能夠根據作業系統的初始化期間一非依電性記憶體的設定建立計算裝置的一韌體備份。計算裝置400,舉例而言,包括處理器410,包含用於初始化計算裝置400以供使用之指令442,444的機器可讀儲存媒體420,以及包含用於啟動計算裝置400且備份韌體之指令442,444的第二機器可讀儲存媒體440。在某些方案中,第二機器可讀儲存媒體440包括韌體,諸如一BIOS,用以啟動計算裝置400、備份韌體至
一儲存器、將計算裝置400的控制移交給一作業系統,及/或執行其他計算程序。計算裝置400,舉例而言,可能是韌筆記型電腦、桌上型電腦、伺服器、工作站、平板計算裝置,或啟動韌體與作業系統分開的任何其他計算裝置。在某些實施例中,啟動韌體,諸如一BIOS,可視為第一編碼,其由一計算裝置執行繼而使計算裝置的執行轉移到另一軟體,諸如一作業系統。啟動韌體也能用來初始化並驗證系統裝置。
處理器410可能是,至少一中央處理單元(CPU)、至少一以半導體為基礎的微處理器、至少一圖形處理裝置(GPU),其他適合擷取與執行儲存在機器可讀儲存媒體420或440、或其組合中之指令的硬體裝置。舉例而言,處理器410可在包括多核心晶片,包含在多個晶片上的多個核心,在多個裝置(例如,如果計算裝置400包括多個節點裝置)上的多個核心,或其組合。處理器410可提取、解碼、及執行指令422,424,442,444以實施執行各種不同的任務,舉例而言,方法200和300。作為檢索與執行指令之選擇替代或者附加地,處理器410可包括至少一積體電路(IC),其他控制邏輯、其他電子電路,或其包含用於執行指令422,424,442,444之功能性的一些電子組件的組合。
機器可讀儲存媒體420,440可能是任何電子、磁性、光學、或者包含或儲存可執行指令的其他物理儲存裝置。機器可讀儲存媒體的實例包括隨機存取記憶體(RAM)、電子可抹除可程式化唯讀記憶體(EEPROM)、儲存驅動機、
光碟唯讀記憶體(CD-ROM),和同類。因此,機器可讀儲存媒體可以是非暫時性的。如本文中詳述,機器可讀儲存媒體420,440可用一系列用來啟動計算裝置400、初始化計算裝置400上之軟體,及自動地備份計算裝置400之韌體的可執行指令編碼。
在一實例中,機器可讀儲存媒體440可包括與計算裝置400的一啟動韌體有關的指令。此外,啟動指令442能被執行而啟動計算裝置400成為可用狀態。在啟動指令442的執行期間,處理器能夠查看是否備份旗標被設定在計算裝置400之一非依電性記憶體中。如果備份旗標未被設定,計算裝置400的執行能被轉移到被儲存在機器可讀儲存媒體420上的軟體。在某些實例中,機器可讀儲存媒體420可載入一作業系統及/或其他軟體。
在一實例中,軟體可包括初始化指令422。在某些實例中,初始化指令422被執行以針對一新實體,諸如一使用者定制計算裝置400。初始化指令422可用來初始化計算裝置400的作業系統。此一初始化的實例包括決定使用者的一使用者名稱及/或密碼、註冊計算裝置400及/或作業系統、註冊另一套裝軟體、載入驅動程式,或同類。作為計算裝置400的初始化的一部份,處理器410可在非依電性記憶體中設定備份旗標。設定備份旗標致使計算裝置,在下一次啟動建立韌體的備份至一儲存單元。在某些實例中,韌體可包括被包含在機器可讀儲存媒體440中的資訊。此外,在某些方案中,初始化指令422能致使計算裝置400重置。
在其他方案中,作業系統(OS)指令424能引起重置,或計算裝置400可被關機和開機。
在一後繼啟動時,啟動指令442被執行以實施啟動程序。此時,當處理器410檢查是否旗標已被設定時,可確定旗標已經被設定。旗標已被設定之確定致使備份指令444被執行。備份指令可用來建立韌體的備份。如上所述,一備份可包括韌體的二進制資訊。此外,備份的韌體可被視為可用韌體。備份指令444也可使用來將備份儲存到儲存單元。在某些方案中,儲存單元可以是機器可讀儲存媒體420。舉例而言,機器可讀儲存媒體420可以是允許供作此一儲存的固定磁碟。在一些實例中,初始化指令422及/或備份指令444可被用來建立及/或驗證儲存單元上之一該備份可被儲存的分區。分區的建立及/或驗證可以根據一標準或規格,舉例而言,EFI、UEFI,專屬規格,或同類。因此,備份可用來復原一韌體映像及/或啟動計算裝置400。
200‧‧‧方法
202,204,206,208,210,212‧‧‧步驟
Claims (15)
- 一種計算裝置,包含:包括韌體的一第一非依電性記憶體;初始化一作業系統的一初始化模組,其中在初始化程序期間,該初始化模組設定一備份該韌體的旗標;一啟動模組,經由基於該第一非依電性記憶中之該韌體的啟動程序來啟動該計算裝置;以及一備份模組,如果旗標已被設定,在該啟動程序期間將該韌體備份至一第二非依電性記憶體。
- 如申請專利範圍第1項的計算裝置,其中該韌體包括一基本輸入/輸出系統的二進制資訊,且該第一非依電性記憶體與該基本輸入/輸出系統相關聯。
- 如申請專利範圍第2項的計算裝置,其中該備份模組在備份期間建立一備份韌體儲存在該第二非依電性記憶體上。
- 如申請專利範圍第3項的計算裝置,其中該備份模組修改該備份韌體以包含預設設定資訊。
- 如申請專利範圍第3項的計算裝置,其中初始化進一步包括在該第二非依電性記憶體上建立一分區,其中該第二非依電性記憶體是一固定磁碟,且其中該備份韌體被儲存在該分區上。
- 如申請專利範圍第1項的計算裝置,其中一管理儀表被 用來在作業系統的初始化期間設定該旗標。
- 如申請專利範圍第1項的計算裝置,其中初始化進一步包括解捆綁一或多個應用程式。
- 一種方法,包含:初始化一計算裝置的作業系統;在初始化程序期間,設定一記憶體指示一備份請求;啟動該計算裝置,包括檢查記憶體以確定是否該備份請求存在;以及如果該備份請求存在,將該計算裝置的一可用韌體備份至一儲存單元。
- 如申請專利範圍第8項的方法,進一步包含:在備份期間建立一備份韌體映像,其中該儲存單元是一固定磁碟,以及其中該備份韌體映像被儲存在該固定磁碟的一分區上。
- 如申請專利範圍第9項的方法,其中該初始化程序經由包括該作業系統的一軟體映像而被啟動。
- 如申請專利範圍第10項的方法,其中該軟體映像被包括在該固定磁碟上。
- 一種非暫時性機器可讀儲存媒體,包含有至少一非暫時性機器可讀儲存媒體,其儲存有當被一裝置的至少一處理器執行時,致使該裝置執行下列動作之指令:初始化該裝置的一作業系統;以及 在初始化程序期間,設定該裝置的一非依電性記憶體,其中該非依電性記憶體的設定致使該裝置在下一次啟動時,將該裝置之一可用韌體的備份建立至一儲存單元。
- 如申請專利範圍第12項的非暫時性機器可讀儲存媒體,進一步包含當被該至少一處理器執行時,致使該裝置執行下列動作之指令:經由一啟動程序啟動該裝置;以及在該啟動程序期間,檢查該非依電性記憶體以確定該非依電性記憶體是否已被設定,其中,該備份的建立是基於該非依電性記憶體是否已被設定。
- 如申請專利範圍第13項的非暫時性機器可讀儲存媒體,其中該初始化程序包括建立該儲存單元的一分區,且其中該備份被儲存在該分區上。
- 如申請專利範圍第14項的非暫時性機器可讀儲存媒體,其中該儲存單元是一硬碟且其中該作業系統被儲存在該硬碟上。
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/US2012/020061 WO2013103335A1 (en) | 2012-01-03 | 2012-01-03 | Backing up firmware during initialization of device |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW201333684A TW201333684A (zh) | 2013-08-16 |
| TWI482015B true TWI482015B (zh) | 2015-04-21 |
Family
ID=48745330
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW101149544A TWI482015B (zh) | 2012-01-03 | 2012-12-24 | 於裝置初始化期間備份韌體之技術 |
Country Status (9)
| Country | Link |
|---|---|
| US (2) | US9672112B2 (zh) |
| KR (1) | KR101856284B1 (zh) |
| CN (1) | CN103999041B (zh) |
| BR (1) | BR112014014815B1 (zh) |
| DE (1) | DE112012005118T5 (zh) |
| GB (1) | GB2511998B (zh) |
| IN (1) | IN2014CN03796A (zh) |
| TW (1) | TWI482015B (zh) |
| WO (1) | WO2013103335A1 (zh) |
Families Citing this family (22)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9563497B2 (en) * | 2012-12-19 | 2017-02-07 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Correcting a failure associated with a current firmware image |
| CN105144185B (zh) | 2013-04-23 | 2018-06-05 | 惠普发展公司,有限责任合伙企业 | 验证控制器代码和系统启动代码 |
| EP2989583B1 (en) * | 2013-04-23 | 2018-10-10 | Hewlett-Packard Development Company, L.P. | Configuring a system |
| US9990255B2 (en) | 2013-04-23 | 2018-06-05 | Hewlett-Packard Development Company, L.P. | Repairing compromised system data in a non-volatile memory |
| CN104142838A (zh) * | 2014-07-02 | 2014-11-12 | 青岛海信移动通信技术股份有限公司 | 一种移动通信终端开机启动的方法和设备 |
| US20160188414A1 (en) * | 2014-12-24 | 2016-06-30 | Intel Corporation | Fault tolerant automatic dual in-line memory module refresh |
| CN105843631B (zh) * | 2015-01-12 | 2019-02-15 | 芋头科技(杭州)有限公司 | 一种提高系统固件烧写速度的方法 |
| CN104598334B (zh) * | 2015-01-13 | 2018-02-27 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
| JP6600240B2 (ja) * | 2015-12-08 | 2019-10-30 | キヤノン株式会社 | 情報処理装置、ファームウェア更新方法、およびプログラム |
| CN107273241B (zh) * | 2016-04-06 | 2021-02-26 | 北京航天发射技术研究所 | 一种重要参数的冗余备份和自动恢复方法 |
| CN107797642B (zh) * | 2016-09-07 | 2019-12-06 | 华为技术有限公司 | 一种备电方法及装置 |
| US10725792B2 (en) * | 2016-12-15 | 2020-07-28 | Western Digital Technologies, Inc. | Non-volatile storage device with multiple boot partitions |
| US11163643B2 (en) | 2017-04-13 | 2021-11-02 | Hewlett-Packard Development Company, L.P. | Boot data validity |
| US10061933B1 (en) * | 2018-01-09 | 2018-08-28 | Booz Allen Hamilton Inc. | System and method for controlling the power states of a mobile computing device |
| CN108762785A (zh) * | 2018-05-29 | 2018-11-06 | 四川斐讯信息技术有限公司 | 一种固件升级过程中恢复出厂的方法和系统 |
| WO2020159533A1 (en) | 2019-02-01 | 2020-08-06 | Hewlett-Packard Development Company, L.P. | Security credential derivation |
| US10726133B1 (en) * | 2019-02-04 | 2020-07-28 | Dell Products L.P. | Securely loading UEFI images at runtime |
| US11520662B2 (en) | 2019-02-11 | 2022-12-06 | Hewlett-Packard Development Company, L.P. | Recovery from corruption |
| US11169819B2 (en) * | 2019-05-01 | 2021-11-09 | Dell Products L.P. | Information handling system (IHS) and method to proactively restore firmware components to a computer readable storage device of an IHS |
| US11347856B2 (en) * | 2019-05-24 | 2022-05-31 | Dell Products L.P. | Bios method to block compromised preboot features |
| WO2021262160A1 (en) * | 2020-06-24 | 2021-12-30 | Hewlett-Packard Development Company, L.P. | Bios backup |
| CN113190256B (zh) * | 2021-05-27 | 2023-03-28 | 新华三技术有限公司 | 一种升级方法、装置及设备 |
Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5269022A (en) * | 1990-03-28 | 1993-12-07 | Kabushiki Kaisha Toshiba | Method and apparatus for booting a computer system by restoring the main memory from a backup memory |
| US20040123086A1 (en) * | 2002-12-18 | 2004-06-24 | Rothman Michael A. | Technique for reconstituting a pre-boot firmware environment after launch of an operating system |
| TW200713037A (en) * | 2005-09-06 | 2007-04-01 | Benq Corp | System and method for updating firmware |
| TW200805083A (en) * | 2006-07-12 | 2008-01-16 | Inventec Corp | Method of reading OpROM image from storage device |
| TW200844794A (en) * | 2007-04-30 | 2008-11-16 | Hewlett Packard Development Co | System and method of tamper-resistant control |
| US20090007089A1 (en) * | 2007-06-26 | 2009-01-01 | Rothman Michael A | Method and Apparatus to Enable Dynamically Activated Firmware Updates |
| TW201013534A (en) * | 2008-09-26 | 2010-04-01 | Insyde Software Corp | Method for executing fast booting and general booting in BIOS stage |
Family Cites Families (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP1293904A1 (en) * | 2001-09-14 | 2003-03-19 | Hewlett-Packard Company | Method of initiating a backup procedure |
| TWI251771B (en) * | 2001-12-28 | 2006-03-21 | Asustek Comp Inc | Module and method for automatic restoring BIOS device, and the computer-readable recording media of storing the program codes thereof |
| KR20040008007A (ko) | 2002-07-15 | 2004-01-28 | 에임텍 주식회사 | 무선단말기 펌웨어 업그레이드 방법 |
| US7143275B2 (en) | 2002-08-01 | 2006-11-28 | Hewlett-Packard Development Company, L.P. | System firmware back-up using a BIOS-accessible pre-boot partition |
| US7136994B2 (en) * | 2003-05-13 | 2006-11-14 | Intel Corporation | Recovery images in an operational firmware environment |
| TWM241755U (en) | 2003-07-01 | 2004-08-21 | Key Technology Corp | Small storage device with built-in BIOS |
| US7313685B2 (en) | 2004-07-23 | 2007-12-25 | Hewlett-Packard Development Company, L.P. | Unattended BIOS recovery |
| CN1983204A (zh) | 2005-12-15 | 2007-06-20 | 英业达股份有限公司 | 使用lpc接口且能修复bios功能之除错装置及其除错方法 |
| US8495415B2 (en) | 2006-05-12 | 2013-07-23 | International Business Machines Corporation | Method and system for maintaining backup copies of firmware |
| TW200847021A (en) * | 2007-05-17 | 2008-12-01 | Asustek Comp Inc | Automatic backup, restore and update BIOS computer system |
| US7987353B2 (en) | 2008-01-09 | 2011-07-26 | International Business Machines Corporation | Remote BIOS for servers and blades |
| KR20090124073A (ko) * | 2008-05-29 | 2009-12-03 | (주)이노튜브 | 사용자 설정 장비의 펌웨어 업그레이드와 초기화 방법 및시스템 |
| TWI359378B (en) | 2008-07-03 | 2012-03-01 | Asustek Comp Inc | Booting method of computer system |
| WO2010066008A1 (en) | 2008-12-10 | 2010-06-17 | The University Of Queensland | Multi-parametric analysis of snore sounds for the community screening of sleep apnea with non-gaussianity index |
| US8983870B2 (en) * | 2010-08-18 | 2015-03-17 | Snap-On Incorporated | Apparatus and method for managing software applications using partitioned data storage devices |
| KR20120050062A (ko) * | 2010-11-10 | 2012-05-18 | 주식회사 히타치엘지 데이터 스토리지 코리아 | 솔리드 스테이트 드라이브의 펌웨어 구동 방법 |
-
2012
- 2012-01-03 WO PCT/US2012/020061 patent/WO2013103335A1/en not_active Ceased
- 2012-01-03 KR KR1020147018312A patent/KR101856284B1/ko not_active Expired - Fee Related
- 2012-01-03 DE DE112012005118.1T patent/DE112012005118T5/de not_active Withdrawn
- 2012-01-03 IN IN3796CHN2014 patent/IN2014CN03796A/en unknown
- 2012-01-03 BR BR112014014815-5A patent/BR112014014815B1/pt not_active IP Right Cessation
- 2012-01-03 GB GB1411931.7A patent/GB2511998B/en not_active Expired - Fee Related
- 2012-01-03 CN CN201280063935.3A patent/CN103999041B/zh not_active Expired - Fee Related
- 2012-01-03 US US14/359,067 patent/US9672112B2/en not_active Expired - Fee Related
- 2012-12-24 TW TW101149544A patent/TWI482015B/zh not_active IP Right Cessation
-
2017
- 2017-04-18 US US15/490,121 patent/US10613773B2/en not_active Expired - Fee Related
Patent Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5269022A (en) * | 1990-03-28 | 1993-12-07 | Kabushiki Kaisha Toshiba | Method and apparatus for booting a computer system by restoring the main memory from a backup memory |
| US20040123086A1 (en) * | 2002-12-18 | 2004-06-24 | Rothman Michael A. | Technique for reconstituting a pre-boot firmware environment after launch of an operating system |
| TW200713037A (en) * | 2005-09-06 | 2007-04-01 | Benq Corp | System and method for updating firmware |
| TW200805083A (en) * | 2006-07-12 | 2008-01-16 | Inventec Corp | Method of reading OpROM image from storage device |
| TW200844794A (en) * | 2007-04-30 | 2008-11-16 | Hewlett Packard Development Co | System and method of tamper-resistant control |
| US20090007089A1 (en) * | 2007-06-26 | 2009-01-01 | Rothman Michael A | Method and Apparatus to Enable Dynamically Activated Firmware Updates |
| TW201013534A (en) * | 2008-09-26 | 2010-04-01 | Insyde Software Corp | Method for executing fast booting and general booting in BIOS stage |
Also Published As
| Publication number | Publication date |
|---|---|
| KR20140109401A (ko) | 2014-09-15 |
| GB201411931D0 (en) | 2014-08-20 |
| WO2013103335A1 (en) | 2013-07-11 |
| BR112014014815B1 (pt) | 2021-11-03 |
| US10613773B2 (en) | 2020-04-07 |
| IN2014CN03796A (zh) | 2015-10-16 |
| US20170220278A1 (en) | 2017-08-03 |
| BR112014014815A2 (pt) | 2017-06-13 |
| KR101856284B1 (ko) | 2018-06-25 |
| GB2511998B (en) | 2020-10-21 |
| GB2511998A (en) | 2014-09-17 |
| TW201333684A (zh) | 2013-08-16 |
| CN103999041B (zh) | 2018-03-27 |
| CN103999041A (zh) | 2014-08-20 |
| US9672112B2 (en) | 2017-06-06 |
| US20140325203A1 (en) | 2014-10-30 |
| DE112012005118T5 (de) | 2014-10-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI482015B (zh) | 於裝置初始化期間備份韌體之技術 | |
| TWI335536B (en) | Information handling system (ihs) method and for updating a non-volatile memory (nvm) included in an information handling system | |
| US10139876B2 (en) | Efficient reboot of an operating system executed in a virtual machine | |
| TWI459294B (zh) | Bios程式的更新方法與其電腦系統 | |
| US9626181B2 (en) | Systems and methods to securely inject binary images and code into firmware | |
| CN105814541B (zh) | 计算机设备及计算机设备内存启动的方法 | |
| CN110088731A (zh) | 使用非易失性ram的内核软重置 | |
| US11106457B1 (en) | Updating firmware runtime components | |
| CN105579953A (zh) | 灵活引导程序代码架构 | |
| CN107533441B (zh) | 创建操作系统卷 | |
| US20130061090A1 (en) | Partial rebooting recovery apparatus and method | |
| US9348603B2 (en) | Electronic apparatus and booting method | |
| CN102880478B (zh) | 软件更新方法 | |
| US9672047B1 (en) | Systems and methods for accessing a bootable partition on a serial peripheral interface device | |
| US10586048B2 (en) | Efficient reboot of an operating system | |
| WO2018014687A1 (zh) | 一种参数传递方法、装置及计算机存储介质 | |
| TW201314574A (zh) | 用於電腦系統之基本輸入輸出系統程式更新方法及更新裝置 | |
| US8499142B1 (en) | UEFI boot loader for loading non-UEFI compliant operating systems | |
| US10838737B1 (en) | Restoration of memory content to restore machine state | |
| US11120166B1 (en) | Generation of a firmware configured for use in restricting the use of a firmware tool | |
| US9778936B1 (en) | Booting a computing system into a manufacturing mode | |
| US11354109B1 (en) | Firmware updates using updated firmware files in a dedicated firmware volume | |
| CN105988831A (zh) | 系统启动方法、装置及电子设备 | |
| CN115129384A (zh) | 一种电子设备的启动程序的运行方法和电子设备 | |
| US10691444B1 (en) | Launching updated firmware files stored in a dedicated firmware volume |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| MM4A | Annulment or lapse of patent due to non-payment of fees |