TWI515660B - 韌體變量更新方法 - Google Patents

韌體變量更新方法 Download PDF

Info

Publication number
TWI515660B
TWI515660B TW103144142A TW103144142A TWI515660B TW I515660 B TWI515660 B TW I515660B TW 103144142 A TW103144142 A TW 103144142A TW 103144142 A TW103144142 A TW 103144142A TW I515660 B TWI515660 B TW I515660B
Authority
TW
Taiwan
Prior art keywords
firmware
update
variable
file
memory
Prior art date
Application number
TW103144142A
Other languages
English (en)
Other versions
TW201624273A (zh
Inventor
謝旻樺
李俊璋
Original Assignee
緯創資通股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 緯創資通股份有限公司 filed Critical 緯創資通股份有限公司
Priority to TW103144142A priority Critical patent/TWI515660B/zh
Application granted granted Critical
Publication of TWI515660B publication Critical patent/TWI515660B/zh
Publication of TW201624273A publication Critical patent/TW201624273A/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1417Boot up procedures
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Description

韌體變量更新方法

本發明關於一種韌體變量更新方法,尤指一種可依需求對韌體變量進行更新之韌體變量更新方法。

基本輸入輸出系統(Basic Input/Output System,BIOS)在電腦系統之開機過程中擔任重要的角色。一般來說,在開機過程中,透過BIOS對電腦系統的每一個硬體進行啟始化設定和測試,以及協助啟動作業系統,將可確保系統能夠正常工作。在實際操作上,BIOS的程式碼通常會被儲存於一儲存裝置中,當電腦系統供應一中央處理器所需的系統電源後,中央處理器會存取並執行儲存裝置中之BIOS的程式碼,以進行電腦系統之開機程序。

由於電腦系統架構更新速度很快,BIOS必須不斷更新,以因應最新的硬體架構。BIOS的程式碼通常包含有一韌體封裝檔案(capsule file)與一變量檔案(variable file)。變量檔案中所儲存的參數通常可作為系統初始化、電器設備參數傳遞及記錄狀態等應用。然而,傳統的更新程序中並沒有對變量檔案進行更新,而是保留原有的變量設定值,如此一來,當BIOS版本有變動時,將會導致變量檔案中的變量數值錯誤而使儲存裝置的映像檔案毀損而無法完成開機程序。

為了解決上述之問題,本發明提供一種韌體變量更新方法,以實現更改或變動變量檔案的目的而能避免造成儲存裝置的映像檔案毀損而無法完成開機程序的問題。

本發明揭露一種韌體變量更新方法,用於一電腦系統之一基本輸 入輸出系統,該方法包含有:依據一第一系統管理中斷訊號將一韌體更新封裝檔案及一韌體更新指令寫入一記憶體,並執行一關機程序,其中該韌體更新指令用以指示執行韌體封裝更新;觸發一第二系統管理中斷訊號,並據以將一變量更新指令寫入該記憶體,其中該變量更新指令用以指示執行韌體變量更新;於該關機程序結束之前,將該電腦系統切換至一休眠狀態並啟始一計時器;於該計時器期滿時,執行一第一重開機程序;於該第一重開機程序期間,根據該韌體更新指令,利用該韌體更新封裝檔案更新該基本輸入輸出系統之一原始韌體封裝檔案;以及執行一第二重開機程序,並於該第二重開機程序期間,根據該變量更新指令,利用一更新變量檔案更新該基本輸入輸出系統之一原始變量檔案。

102‧‧‧處理器

104、106‧‧‧儲存單元

108‧‧‧記憶體

110‧‧‧主要區塊

112‧‧‧變量區塊

20‧‧‧流程

200、202、204、206、208、210、212、214、302、304、306、308、310、312、314、316、318、320‧‧‧步驟

第1圖為本發明實施例一電腦系統之示意圖。

第2圖為本發明實施例之一韌體變量更新流程之示意圖。

第3圖為第2圖之韌體變量更新流程之變化實施例示意圖。

第4圖為本發明實施例之一變量檔案之示意圖。

請參考第1圖,第1圖為本發明實施例一電腦系統10之示意圖。電腦系統10包含一處理器102、儲存單元104、106及記憶體108。儲存單元104耦接於處理器102,用來儲存資料以供處理器102存取與執行。也就是說。資料會先載入到儲存單元104中,處理器102再讀取存於儲存單元104中的資料,並執行相關操作。儲存單元106用來儲存一基本輸入輸出系統(Basic Input/output System,BIOS)。其中,儲存單元106包含一主要區塊110與一變量區塊112。主要區塊110用來儲存BIOS之一原始韌體封裝檔案(original capsule file)。變量區塊112用來儲存BIOS之一原始變量檔案(original variable file)。

儲存單元104可為一隨機存取記憶體(Random Access Memory,RAM)或其他任何儲存裝置。儲存單元106可為一非揮發性記憶體,例如一快閃唯讀記憶體(Flash Read Only Memory,Flash ROM)。儲存單元106也可為一電子可抹除式唯讀記憶體(Electrically Erasable Programmable Read Only Memory,EEPROM),但並不以此為限,儲存單元106可為其他任何可讀寫之儲存裝置。記憶體108可為一實體記憶體,且在進階組態與電源介面(Advanced Configuration and Power Interface,ACPI)之S3休眠狀態下,記憶體108仍維持有電源供應。

關於電腦系統10之運作方式,請參考第2圖,第2圖為本發明實施例之BIOS之韌體變量更新之一流程20之示意圖。第2圖所示流程主要是對應於第1圖之電腦系統10的操作。流程20包含以下步驟:步驟200:開始。

步驟202:依據第一系統管理中斷訊號(System Management Interrupt,SMI)將韌體更新封裝檔案及韌體更新指令寫入記憶體,並執行關機(shutdown)程序。

步驟204:觸發第二系統管理中斷訊號,並據以將變量更新指令寫入記憶體。

步驟206:於關機程序結束之前,將電腦系統切換至休眠狀態並啟始計時器。

步驟208:於計時器期滿時,執行第一重開機(reboot)程序。

步驟210:於第一重開機程序期間,根據韌體更新指令,利用韌體更新封裝檔案更新基本輸入輸出系統之原始韌體封裝檔案。

步驟212:執行第二重開機程序,並於第二重開機程序期間,根據變量更新指令,更新基本輸入輸出系統之原始變量檔案。

步驟214:結束。

根據流程20,於步驟202中,依據一第一系統管理中斷訊號將一 更新韌體封裝檔案及一韌體更新指令寫入記憶體108並執行一關機程序。其中,第一系統管理中斷訊號可為一軟體系統管理中斷訊號(Software SMI),韌體更新指令係用以指示執行韌體封裝更新程序。舉例來說,於本實施例中,可利用BIOS觸發第一系統管理中斷訊號,使得處理單元102進入一系統管理模式(System Management Mode,SMM)。接著,將韌體更新封裝檔案及韌體更新指令寫入記憶體108。於韌體更新封裝檔案及韌體更新指令被寫入記憶體108後,電腦系統10開始執行一關機程序並且將電源狀態切換成一關機狀態(即ACPI之S5關機狀態)。

於本實施例中,可先行驗證韌體更新封裝檔案的合法性,再進行相關更新程序。請參考第3圖,首先執行一更新應用程式(例如Winflash燒錄應用程式),並利用更新應用程式來檢查韌體更新封裝檔案是否為合法的韌體檔案(步驟302及步驟304)。當韌體更新封裝檔案為合法時,觸發第一系統管理中斷訊號(步驟306)。接著,根據第一系統管理中斷訊號,處理單元102進入系統管理模式並將韌體更新封裝檔案及韌體更新指令寫入記憶體108(步驟310)。電腦系統10開始執行關機程序且將電源狀態切換成S5關機狀態(步驟312)。此外,當韌體更新封裝檔案為不合法時,則停止執行更新程序(步驟308)。

於步驟204中,在步驟202中所述之關機程序結束之前,依據一第二系統管理中斷訊號將一變量更新指令寫入記憶體108。其中變量更新指令係用以指示執行韌體變量更新程序。其中,第二系統管理中斷訊號可為一sleep trap系統管理中斷訊號。舉例來說,於本實施例中,可利用BIOS觸發一第二系統管理中斷訊號,使得處理單元102進入系統管理模式。接著,將變量更新指令寫入記憶體108。

關於將變量更新指令寫入記憶體108的詳細運作,請繼續參考第3圖,在前述之關機程序結束之前,利用BIOS觸發一第二系統管理中斷訊號,使得處理單元102進入系統管理模式(步驟314)。接著,檢查BIOS之一識 別資訊並據以判斷是否更新韌體變量,以產生一判斷結果(步驟316)。其中識別資訊包含BIOS之一版本資訊、一建立日期及一產品種類中之至少其中之一。於判斷結果指示需進行更新韌體變量時,將變量更新指令寫入記憶體108(步驟318)。於判斷結果指示不需進行更新韌體變量時,不需將變量更新指令寫入記憶體108。

於步驟206中,在步驟202中所述之關機程序結束之前,電腦系統10切換至ACPI之S3休眠狀態。接著,設定並啟始一計時器開始計數,以觸發後續的第一重開機程序(例如第3圖中之步驟320)。由於電腦系統10在ACPI之S3休眠狀態下,記憶體108仍然具有電源供給而能維持足夠的電量。在此情況下,當電腦系統10切換至ACPI之S3休眠狀態後,儲存在記憶體108中的韌體更新封裝檔案、韌體更新指令及變量更新指令才不會流失而可在後續更新程序中提供使用。此外,於本實施例中,所述計時器可以是一即時喚醒計時器(Real Time Clock wakeup timer,RTC wakeup timer)。所述計時器的計時期間的長度可依需求而做不同的設定。

於步驟208中,當步驟206所啟始的計時器期滿時,電腦系統10執行第一重開機程序。也就是說,透過計時器來喚醒電腦系統10去執行第一重開機程序。

於步驟210中,於第一重開機程序期間根據韌體更新指令來更新BIOS之原始韌體封裝檔案。舉例來說,於第一重開機程序之一可延伸韌體前初始化(Pre-EFI Initialization Environment,PEI)階段,偵測記憶體108是否儲存有韌體更新指令。若偵測到儲存有韌體更新指令的話,表示必須執行韌體封裝更新程序。接著,根據韌體更新指令將BIOS之啟動模式設定成一更新模式,並清除記憶體108中所儲存之韌體更新指令。由於BIOS之啟動模式已被設定成更新模式,於該第一重開機程序之一選擇啟動裝置(Boot Device Select,BDS)階段會載入一更新驅動器。更新驅動器會利用韌體更新封裝檔案來更新儲存在主要區塊110中之原始韌體封裝檔案。例如,更新驅動器會 使用韌體更新封裝檔案來覆寫主要區塊110中之原始韌體封裝檔案。也就是說,更新驅動器會先清除儲存單元106之主要區塊110中的原始韌體封裝檔案,並將韌體更新封裝檔案覆寫至主要區塊110中,以實現韌體封裝更新程序。

於步驟212中,當韌體更新封裝檔案被更新至儲存單元106之主要區塊110後,電腦系統10執行一第二重開機程序。於第二重開機程序期間,偵測記憶體108是否儲存有變量更新指令。若偵測到儲存有變量更新指令的話,表示必須執行韌體變量更新程序。接著,根據變量更新指令利用一更新變量檔案來更新儲存在變量區塊112中之原始變量檔案。例如,使用更新變量檔案來覆寫變量區塊112中之原始變量檔案。也就是說,更新驅動器會先清除儲存單元106之變量區塊112中之原始變量檔案,並將更新變量檔案覆寫至變量區塊112中,以實現韌體變量更新程序。當現韌體變量更新程序完成後,電腦系統10清除記憶體108中所儲存之變量更新指令並執行一正常開機程序以進行正常運作。由於執行步驟210後,原始韌體封裝檔案被更新成韌體更新封裝檔案而原始變量檔案仍然保留原有的設定,本實施例會於第二重開機程序後再做變量檔案的更新而能避免變動後發生的非預期作用。

此外,於步驟212中,若是沒有偵測到儲存有變量更新指令的話,表示必須不需執行韌體變量更新程序,電腦系統10直接執行一正常開機程序。

由於在傳統的韌體更新程序中並不會對BIOS之韌體變量檔案(即第1圖之變量區塊112中所儲存的原始變量檔案)進行更新。於本實施例中,藉由系統管理中斷訊號將韌體更新封裝檔案、韌體更新指令及變量更新指令儲存在記憶體108中,並透過電腦系統10切換至ACPI之S3休眠狀態,使得記憶體108仍然具有電源供給,如此一來,將可確保儲存在記憶體108中的韌體更新封裝檔案、韌體更新指令及變量更新指令不會流失而可在後續更新程序中提供使用。接著,電腦系統10會依據記憶體108中所儲存的韌體更 新指令及變量更新指令來對儲存單元106之主要區塊110所儲存之原始韌體封裝檔案以及變量區塊112所儲存之原始變量檔案進行更新,如此一來,於本實施例中,將可依據需求達到新增或刪除變量檔案的目的。另一方面,由於執行步驟210後,原始韌體封裝檔案被更新成體更新封裝檔案而原始變量檔案仍然保留原有的設定,本實施例會於第二重開機程序後再做變量檔案的更新而能避免變動後發生的非預期作用。

請參考第4圖,第4圖為本發明實施例之BIOS之變量檔案之示意圖。第4圖分別表示BIOS#63版本、BIOS#64版本(以傳統方式更新)以及BIOS#64版本(以本實施例方式更新)的變量檔案內容。相較於BIOS#63版本,BIOS#64版本新增了新變量1與新變量2。其中新變量1的位置在offset 0x39h,新變量2的位置在offset 0x3Ah。在此情況下,原先在位置offset 0x39之後的變量於更新程序後將會順移兩個位置,然而,傳統的更新程序中並沒有對變量檔案進行更新,而是保留原有的設定值。舉例來說,在傳統方式更新後的BIOS#64版本中,變量1的位置在offset 0x3Bh,而變量1的值將會直接沿用BIOS#63版本之位置offset 0x3Bh中所儲存的數值。也就是說,會採用BIOS#63版本之變量3的變量值,依此類推。同時,原先BIOS#63版本之位置offset 0x3Eh和0x3Fh的欄位沒有被定義,其初始值為0。因此當用傳統方式將BIOS#63版本更新成BIOS#64版本後,變量4的值會從2變為0,變量5的值會從1變為0,而原本系統設定將會從容錯式磁碟陣列(Redundant Array of Independent Disks,RAID)模式變成進階主機控制器介面(Advanced Host Controller Interface,AHCI)模式,如此一來,將會造成儲存裝置的映像檔毀損而無法開機。

相較之下,本實施例可以重新建構正確的更新變量檔案並將更新變量檔案覆寫至變量區塊112中,以實現韌體變量更新程序。如第4圖所示,本實施例可於建構好正確的更新變量檔案後(變量4的值為2,變量5的值為1),透過流程20的步驟將更新變量檔案寫入儲存單元106之變量區塊112 而實現韌體變量更新的目的。

值得注意的是,第1圖所示之電腦系統10係為本發明之一實施例,本領域具通常知識者當可根據系統需求做適當之變化。舉例來說,在本發明一實施例中,電腦系統10之BIOS可為相應於統一可延伸韌體介面(Unified Extensible Firmware Interface,UEFI)的BIOS,但本發明並不以此為限。電腦系統10可被實施為一用以存取網際網路之手持或者固定裝置、一桌上型個人電腦、筆記型電腦、個人數位助理,或者任何具有一BIOS、起始韌體或者相等物之其他處理裝置。此外,處理器102也可透過一系統晶片來存取儲存單元104、106及記憶體108中的資料。

綜上所述,由於在傳統的韌體更新程序中並不會對BIOS之韌體變量檔案進行更新。於本實施例中,藉由系統管理中斷訊號將韌體更新封裝檔案、韌體更新指令及變量更新指令儲存在記憶體中,並透過將電腦系統切換至ACPI之S3休眠狀態使得記憶體仍然具有電源供給。接著,電腦系統依據記憶體中所儲存的韌體更新指令及變量更新指令來分別對儲存單元之原始韌體封裝檔案及原始變量檔案進行更新,如此一來,將可依據需求達到新增或刪除變量檔案的目的。

以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。

20‧‧‧流程

200、202、204、206、208、210、212、214‧‧‧步驟

Claims (10)

  1. 一種韌體變量更新方法,用於一電腦系統之一基本輸入輸出系統,該方法包含有:依據一第一系統管理中斷訊號將一韌體更新封裝檔案及一韌體更新指令寫入一記憶體,並執行一關機程序,其中該韌體更新指令用以指示執行韌體封裝更新;觸發一第二系統管理中斷訊號,並據以將一變量更新指令寫入該記憶體,其中該變量更新指令用以指示執行韌體變量更新;於該關機程序結束之前,將該電腦系統切換至一休眠狀態並啟始一計時器;於該計時器期滿時,執行一第一重開機程序;於該第一重開機程序期間,根據該韌體更新指令,利用該韌體更新封裝檔案更新該基本輸入輸出系統之一原始韌體封裝檔案;以及執行一第二重開機程序,並於該第二重開機程序期間,根據該變量更新指令,利用一更新變量檔案更新該基本輸入輸出系統之一原始變量檔案。
  2. 如申請專利範圍第1項所述之方法,其中依據該第一系統管理中斷訊號將該韌體更新封裝檔案及該韌體更新指令寫入該記憶體並執行該關機程序之步驟包含有:檢查該韌體更新封裝檔案是否為合法的韌體檔案;當該韌體更新封裝檔案為合法時,觸發該第一系統管理中斷訊號;依據該第一系統管理中斷訊號,將該韌體更新封裝檔案及該韌體更新指令寫入該記憶體;以及執行該關機程序。
  3. 如申請專利範圍第2項所述之方法,其另包含有: 執行一更新應用程式以檢查該韌體更新封裝檔案是否為合法的韌體檔案。
  4. 如申請專利範圍第1項所述之方法,其中觸發該第二系統管理中斷訊號,並據以將該變量更新指令寫入該記憶體之步驟包含有:於該關機程序結束之前,觸發該第二系統管理中斷訊號;根據該第二系統管理中斷訊號,檢查該基本輸入輸出系統之一識別資訊並據以判斷是否更新韌體變量,以產生一判斷結果;以及於判斷結果指示需進行更新韌體變量時,將該變量更新指令寫入該記憶體。
  5. 如申請專利範圍第4項所述之方法,其中該識別資訊包含該基本輸入輸出系統之一版本資訊、一建立日期及一產品種類中之至少其中之一。
  6. 如申請專利範圍第1項所述之方法,其中根據該韌體更新指令利用該韌體更新封裝檔案更新該基本輸入輸出系統之該原始韌體封裝檔案之步驟包含有:於該第一重開機程序之一可延伸韌體前初始化階段,偵測該記憶體中之該韌體更新指令,並根據該韌體更新指令,將基本輸入輸出系統之啟動模式設定成一更新模式;於該第一重開機程序之一選擇啟動裝置階段,載入一更新驅動器;以及該更新驅動器利用該韌體更新封裝檔案更新該基本輸入輸出系統之該原始韌體封裝檔案。
  7. 如申請專利範圍第6項所述之方法,其中該更新驅動器利用該韌體更新封裝檔案更新該基本輸入輸出系統之該原始韌體封裝檔案之步驟包含有:該更新驅動器利用該韌體更新封裝檔案覆寫該基本輸入輸出系統之該原始韌體封裝檔案。
  8. 如申請專利範圍第6項所述之方法,其另包含有: 清除該記憶體中之該韌體更新指令。
  9. 如申請專利範圍第1項所述之方法,其中執行該第二重開機程序並於該第二重開機程序期間根據該變量更新指令利用該更新變量檔案更新該基本輸入輸出系統之該原始變量檔案之步驟包含有:於該第二重開機程序期間,偵測該記憶體中之該變量更新指令;以及根據該該變量更新指令,利用該更新變量檔案更新該基本輸入輸出系統之該原始變量檔案。
  10. 如申請專利範圍第9項所述之方法,其另包含有:清除該記憶體中之該變量更新指令。
TW103144142A 2014-12-17 2014-12-17 韌體變量更新方法 TWI515660B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW103144142A TWI515660B (zh) 2014-12-17 2014-12-17 韌體變量更新方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
TW103144142A TWI515660B (zh) 2014-12-17 2014-12-17 韌體變量更新方法
CN201410839601.1A CN105808270B (zh) 2014-12-17 2014-12-30 固件变量更新方法
US14/733,956 US9612824B2 (en) 2014-12-17 2015-06-08 Firmware variable update method

Publications (2)

Publication Number Publication Date
TWI515660B true TWI515660B (zh) 2016-01-01
TW201624273A TW201624273A (zh) 2016-07-01

Family

ID=55640288

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103144142A TWI515660B (zh) 2014-12-17 2014-12-17 韌體變量更新方法

Country Status (3)

Country Link
US (1) US9612824B2 (zh)
CN (1) CN105808270B (zh)
TW (1) TWI515660B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10423425B2 (en) * 2016-06-13 2019-09-24 Dell Products, Lp System and method for runtime update of ESRT table for hot-pluggable disks
US10140117B2 (en) 2016-06-30 2018-11-27 Microsoft Technology Licensing, Llc Fault-tolerant variable region repaving during firmware over the air update
US10185553B2 (en) 2016-06-30 2019-01-22 Microsoft Technology Licensing, Llc Fault-tolerant variable region repaving during firmware over the air update
CN106126264B (zh) * 2016-07-05 2020-04-21 河北建筑工程学院 基于amd平台am2接口的cpu移植方法和系统
CN107766066A (zh) * 2016-08-23 2018-03-06 中车株洲电力机车研究所有限公司 一种更新从属模块固件的方法
CN107506217A (zh) * 2017-09-14 2017-12-22 南京百敖软件有限公司 通过BIOS更新Capsule来更新用户输入SMBIOS信息的方法
TWI647617B (zh) * 2018-01-23 2019-01-11 緯創資通股份有限公司 電子裝置與其韌體更新方法
US10503489B1 (en) 2018-05-22 2019-12-10 Quanta Computer Inc. Updating firmware via a remote utility
TWI676933B (zh) * 2018-07-05 2019-11-11 慧榮科技股份有限公司 韌體更新方法
US20200272738A1 (en) * 2019-02-21 2020-08-27 Cisco Technology, Inc. Hybrid firmware code protection

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5333285A (en) * 1991-11-21 1994-07-26 International Business Machines Corporation System crash detect and automatic reset mechanism for processor cards
US6907524B1 (en) * 2000-10-13 2005-06-14 Phoenix Technologies Ltd. Extensible firmware interface virus scan
US6990577B2 (en) * 2001-08-10 2006-01-24 Intel Corporation Updating a BIOS image by replacing a portion of the BIOS image with a portion of another BIOS image
US20040076043A1 (en) * 2002-10-21 2004-04-22 Phoenix Technologies Ltd. Reliable and secure updating and recovery of firmware from a mass storage device
US7337309B2 (en) * 2003-03-24 2008-02-26 Intel Corporation Secure online BIOS update schemes
US20040230963A1 (en) * 2003-05-12 2004-11-18 Rothman Michael A. Method for updating firmware in an operating system agnostic manner
US7222339B2 (en) * 2003-06-13 2007-05-22 Intel Corporation Method for distributed update of firmware across a clustered platform infrastructure
US20050027954A1 (en) * 2003-08-01 2005-02-03 Rothman Michael A. Method and apparatus to support the maintenance and reduction of FLASH utilization as it pertains to unused or infrequently referenced FLASH data
US20070043833A1 (en) * 2005-08-22 2007-02-22 Inventec Corporation Computer platform system program remote upgrading control method and system
US20090006834A1 (en) * 2007-06-29 2009-01-01 Michael Rothman Proxied firmware updates
US7917689B2 (en) * 2007-12-28 2011-03-29 Intel Corporation Methods and apparatuses for nonvolatile memory wear leveling
US8117435B2 (en) * 2008-06-30 2012-02-14 Intel Corporation Method and system for secured dynamic bios update
TW201232401A (en) * 2011-01-20 2012-08-01 Elitegroup Computer Sys Co Ltd BIOS updating system and method, computer readable recording medium having BIOS updating program stored therein, and its computer program products
CN102331942A (zh) * 2011-07-07 2012-01-25 曙光信息产业股份有限公司 一种BIOS与Linux内核自动升级的方法
TWM446936U (zh) * 2012-05-23 2013-02-11 Ite Tech Inc 更新系統韌體或參數之裝置及其電腦系統
US8904162B2 (en) * 2012-08-01 2014-12-02 Intel Corporation Methods and apparatus for performing secure BIOS upgrade
US20140189336A1 (en) * 2012-12-28 2014-07-03 Miguel Ballesteros Methods and apparatus to support authenticated variables
US20140258699A1 (en) * 2013-03-07 2014-09-11 Aspeed Technology Inc. Boot fault tolerant device and method thereof
US9779241B2 (en) * 2013-09-25 2017-10-03 Cisco Technology, Inc. Synchronization of UEFI secure boot variables on a managed server
US9208347B2 (en) * 2013-11-05 2015-12-08 Bank Of America Corporation Updating roles based access
US20160112252A1 (en) * 2014-10-15 2016-04-21 Cisco Technology, Inc. Deployment and upgrade of network devices in a network environment

Also Published As

Publication number Publication date
US20160179500A1 (en) 2016-06-23
TW201624273A (zh) 2016-07-01
CN105808270B (zh) 2019-03-05
CN105808270A (zh) 2016-07-27
US9612824B2 (en) 2017-04-04

Similar Documents

Publication Publication Date Title
US9836606B2 (en) Secure recovery apparatus and method
US9158628B2 (en) Bios failover update with service processor having direct serial peripheral interface (SPI) access
KR101626397B1 (ko) Bios 플래시 어택 보호 및 통지
US6757838B1 (en) Hardware independent implementation of computer system BIOS recovery
US7490177B2 (en) System method for performing a direct memory access for automatically copying initialization boot code in a new memory architecture
US8041988B2 (en) Firmware update for consumer electronic device
US9507604B2 (en) Boot method and boot system
US5987605A (en) Methods and apparatus for dual-boot memory selection, update, and recovery in a programmable device
ES2371995T3 (es) Actualización del firmware de un dispositivo electrónico.
US6205548B1 (en) Methods and apparatus for updating a nonvolatile memory
KR100901903B1 (ko) 네트워크를 통한 펌웨어의 셀프-모니터링 및 업데이팅
US6965989B1 (en) System and method for fast reboot of a file server
US8589730B2 (en) Handling errors during device bootup from a non-volatile memory
US7206971B2 (en) Selectable and updatable computer boot memory
US6308265B1 (en) Protection of boot block code while allowing write accesses to the boot block
US7664923B2 (en) Method and system for updating software
TWI399647B (zh) 回復電腦系統之基本輸出入系統之方法及相關電腦系統
US8341386B2 (en) Method for updating basic input/output system and method for repairing thereof
KR20050028157A (ko) 부팅 및 부트 코드 업데이트 방법 및 시스템
KR20060015329A (ko) 비휘발성 메모리로부터의 부팅
TWI314703B (en) Using system bios to update embedded controller firmware
US9372754B2 (en) Restoring from a legacy OS environment to a UEFI pre-boot environment
US8219793B2 (en) Storage medium to manage a master boot record and a method of booting a computer system using a storage medium
US7219221B2 (en) System and method for automatic booting based on single flash ROM
KR100239585B1 (ko) How to operate a computer system with recoverable basic firmware