TWI478061B - 更新韌體的方法 - Google Patents
更新韌體的方法 Download PDFInfo
- Publication number
- TWI478061B TWI478061B TW101111869A TW101111869A TWI478061B TW I478061 B TWI478061 B TW I478061B TW 101111869 A TW101111869 A TW 101111869A TW 101111869 A TW101111869 A TW 101111869A TW I478061 B TWI478061 B TW I478061B
- Authority
- TW
- Taiwan
- Prior art keywords
- firmware
- server
- updating
- unit
- file
- Prior art date
Links
Landscapes
- Stored Programmes (AREA)
Description
本發明是有關於一種韌體更新方法,且特別是有關於一種在開機階段的更新韌體的方法。
一般來說,電腦系統在使用者按下電源鍵後必須經過一連串的硬體初始化動作,待檢測無誤後才能正常啟動。具體而言,在開啟電腦系統的電源後,基本輸入輸出系統(Basic Input/Output System,BIOS)將被載入記憶體並開始執行開機自我測試(Power On Self Test,POST)程序,以對電腦系統的硬體元件進行初始化及檢測動作,進而確保這些硬體元件可以正常工作。據此,BIOS在電腦系統中扮演著相當重要的角色。
而倘若需要更新BIOS時,使用者必須先開機進入作業系統。之後,自行連線至韌體服務商的平台,尋找到對應的BIOS,再下載至自己的電腦。最後,按照一定的燒錄程序來更新BIOS。然,如此作法不僅步驟繁複,而且當使用者的電腦無法開機至作業系統時,便無法更新BIOS。
本發明提供一種更新韌體的方法,可在開機階段進行韌體的更新。
本發明提出一種更新韌體的方法,適用於具有韌體單元的電子裝置。在此,接收開機訊號,以執行開機程序。在執行開機程序的過程中,安裝網卡驅動程式以透過電子裝置的網路卡進行連線,進而透過網際網路連線至一伺服器。並且,自伺服器中下載韌體檔案,而將韌體檔案更新至韌體單元。
在本發明之一實施例中,上述在執行開機程序的過程中,可接收一更新指令,而讀取韌體單元中所儲存的網卡驅動程式以進行安裝。
在本發明之一實施例中,上述更新韌體的方法可在開機程序執行至開機自我測試(Power On Self Test,POST)程序時,接收更新指令。而上述更新指令可以是由熱鍵所發送。
在本發明之一實施例中,上述在自伺服器中下載更新韌體的步驟中,可透過網際網路傳送電子裝置的主機板型號至伺服器,以下載主機板型號對應的韌體檔案。
在本發明之一實施例中,上述在透過網際網路傳送電子裝置的主機板型號至伺服器之後,可自伺服器接收回報通知。並且,依據回報通知來判斷伺服器中是否存在有主機板型號對應的韌體檔案。若判定伺服器中存在有主機板型號對應的韌體檔案,自伺服器下載此韌體檔案。相反地,若判定伺服器中不存在主機板型號對應的韌體檔案,便可繼續往下執行開機程序。
在本發明之一實施例中,上述在下載韌體檔案之後,還可進一步比較燒錄在韌體單元中之原有韌體與韌體檔案的版本。
在本發明之一實施例中,上述在透過網際網路傳送電子裝置的主機板型號至伺服器的步驟中,可將目前燒錄在韌體單元中之原有韌體的韌體版本號傳送至伺服器,使得伺服器搜尋是否有新版的韌體檔案。
在本發明之一實施例中,上述自伺服器中下載韌體檔案之後,可將韌體檔案儲存至記憶單元中。
在本發明之一實施例中,上述網卡驅動程式儲存在韌體單元中。
基於上述,在韌體單元執行開機程序的過程中建立可連線至網際網路的功能,以自動尋找可更新的韌體檔案,並自動下載而進行更新。據此,使得更新韌體更為方便。
為讓本發明之上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
圖1是依據本發明一實施例之韌體更新系統的方塊圖。請參照圖1,在此韌體更新系統中,電子裝置100包括處理單元110、控制晶片120、韌體單元130、記憶單元140以及網路卡150。在此,電子裝置100例如為個人電腦、筆記型電腦或平板電腦等。上述處理單元110可透過控制晶片120耦接至韌體單元130、記憶單元140以及網路卡150。
處理單元110例如為中央處理單元(Central Processing Unit,CPU),其用以執行電子裝置100中的硬體、韌體以及處理軟體中的資料。控制晶片120則為處理單元110對外訊息交換的橋樑。在本實施例中,控制晶片120包括北橋晶片與南橋晶片。而在其他實施例中,控制晶片120例如為南橋晶片,而北橋晶片則與處理單元110互相整合。
韌體單元130用以儲存韌體。在此,韌體單元130例如為唯讀記憶體(Read Only Memory,ROM)或快閃記憶體(flash memory)。在本實施例中,韌體單元130中所儲存的韌體以基本輸入輸出系統(Basic Input or Output System,BIOS)131為例。而在其他實施例中,韌體單元130中所儲存的韌體亦可以是可延伸韌體介面(Extensible Firmware Interface,EFI)BIOS或聯合可延伸韌體介面(Unified Extensible Firmware Interface,UEFI)BIOS等。另外,在本實施例中,韌體單元130還儲存了網卡驅動程式133。
記憶單元140例如為隨機存取記憶體(Random Access Memory,RAM)。在此,電子裝置100中所有構件的驅動程式以及作業系統等等,都會先載入(load)到記憶單元140上面,以供處理單元110讀取。例如,透過記憶體映射(Shadow RAM)的方式將燒錄在韌體單元130中的BIOS 131載入至記憶單元140中(即,BIOS 141),以供處理單元110來存取。另外,記憶單元140還可用來儲存自遠端的伺服器170下載的韌體檔案181。在此,以虛線框表示BIOS 141與韌體檔案181並不是一直存在於記憶單元140中。
網路卡150用以連線至網際網路160,使得電子裝置100得以透過網際網路160而連線至伺服器170。網路卡150可以是內建在控制晶片120,或者為獨立單元而與控制晶片120耦接。在此,伺服器170例如為韌體單元130的提供商所提供的服務平台。電子裝置100可利用網路卡150連線至伺服器170,藉以下載伺服器170中的韌體檔案180並儲存至其記憶單元140中,即,儲存在記憶單元140的韌體檔案181。
具體而言,電子裝置100在開機時,處理單元110會去讀取韌體單元130中的BIOS 131。之後,由BIOS 131來執行開機程序。而當BIOS 131將其韌體碼載入至記憶單元140之後,便由記憶單元140中的BIOS 141來進行網卡驅動程式133的安裝,並且透過網路卡150連線至伺服器170,以下載韌體檔案180。其中,BIOS 141為載入至記憶體單元140中的韌體碼,而韌體檔案181即為韌體檔案180,在此使用不同標號以表示所存在的位置不同。
底下即搭配上述電子裝置100進一步說明更新韌體的各步驟。圖2是依照本發明一實施例之更新韌體的方法流程圖。請同時參照圖1及圖2,在步驟S205,處理單元110接收開機訊號,以執行開機程序。
舉例來說,當電子裝置100的開機鈕被致能(例如,使用者按下開機鈕)時,處理單元110會接收到一開機訊號,進而使得BIOS 131執行開機程序。而在本實施例中,開機程序包括:啟動處理器(Bootstrap Processor,BSP)初始化、記憶體測試(memory test)、將燒錄在韌體單元130的BIOS 131複製到記憶單元140(即,BIOS 141),以及由記憶單元140中的BIOS 141來啟動開機自我測試(Power-On Self Test,POST)程序。
接著,在BIOS 141執行開機程序的過程中,如步驟S210所示,由BIOS 141來安裝網卡驅動程式133,以透過網路卡150來進行連線。由於在開機階段的網路卡150尚不具有連線功能,因而在執行開機程序的過程中,BIOS 141會去讀取韌體單元130中所儲存的網卡驅動程式133以進行安裝。在本實施例中,在開機階段所載入的網卡驅動程式133(例如為UEFI驅動程式)與在作業系統底下所載入的網卡驅動程式兩者為不相同,但其功能為相同。然,在此僅為舉例說明,並不以此為限。
在開機階段載入網卡驅動程式133之後,如步驟S215所示,在開機階段時,電子裝置100便可透過網際網路160連線至伺服器170。然後,在步驟S220中,電子裝置100自伺服器170中下載韌體檔案180。進一步地說,BIOS 141會連線至伺服器170來下載韌體檔案180,並且儲存至記憶單元140中,即,韌體檔案181。
之後,在步驟S225中,電子裝置100便能夠將儲存在記憶單元140的韌體檔案181更新至韌體單元130,以取代原有的BIOS 131。例如,處理單元110藉由指令“flash.exe BIOSfile”來呼叫BIOS 141中的更新套件(flash utility),藉以實現燒錄韌體的動作。
底下再舉另一實施例來說明更新韌體的方法。圖3是依照本發明另一實施例之更新韌體的方法流程圖。請同時參照圖1及圖3,在步驟S305中,處理單元110接收開機訊號。而處理單元110會去讀取韌體單元130中的BIOS 131,而由BIOS 131來執行開機程序。舉例來說,BIOS 131例如執行BSP初始化與記憶體測試,之後,將燒錄在韌體單元130的BIOS 131複製到記憶單元140,即,BIOS 141。接著,再由記憶單元140中的BIOS 141來啟動開機自我測試程序,藉以初始化電子裝置100的周邊裝置。
接著,在步驟S310中,處理單元110會去偵測是否接收到更新指令。在此,可設定一熱鍵來產生一更新指令,當此熱鍵被致能(例如,使用者按壓此熱鍵)時,則發送更新指令至處理單元110。並且,還可進一步設定在開機程序執行至POST程序時,熱鍵方可被致能。而在其他實施例中,亦可設定在初始化記憶單元140、周邊元件介面(Peripheral Component Interface,PCI)、鍵盤、滑鼠之後,才提供更新韌體的功能。
倘若處理單元110並未接收到更新指令,執行步驟S315,BIOS 141繼續執行開機程序,藉以載入作業系統。另一方面,倘若處理單元110接收到更新指令,執行步驟S320,BIOS 141自韌體單元130讀取網卡驅動程式133以進行安裝。例如,BIOS 141將網卡驅動程式133載入至記憶單元140,藉以驅動網路卡150。並且,透過BIOS 141自動設定好一切連網設定。
在安裝好網卡驅動程式133之後,在步驟S325中,BIOS 141便可透過網際網路160連線至伺服器170。並且,在步驟S330中,BIOS 141可透過網際網路160將電子裝置100的主機板型號傳送至伺服器170。
接著,在步驟S335中,BIOS 141可判斷伺服器170中是否存在主機板型號對應的韌體檔案180。例如,BIOS 141可依據自伺服器170所接收到回報通知來判斷伺服器170中是否存在主機板型號對應的韌體檔案180。
舉例來說,假設BIOS 141透過網路卡150傳送一下載請求至伺服器170,其中,上述下載請求中包括主機板型號。當伺服器170接收到此下載請求時,會依據主機板型號來進行搜尋是否有對應的韌體檔案180。之後,伺服器170會傳送一回報通知給BIOS 141。而BIOS 141在自伺服器170接收到回報通知之後,便能夠依據回報通知來判斷伺服器170中是否存在有主機板型號對應的韌體檔案180。
若判定伺服器170中存在有主機板型號對應的韌體檔案180,執行步驟S340,BIOS 141自動從伺服器170下載韌體檔案180,並儲存至記憶單元140,即,韌體檔案181。相反地,若判定伺服器170中不存在主機板型號對應的韌體檔案180,執行步驟S315,BIOS 141繼續往下執行其他開機程序而不進行韌體更新。
而後,執行步驟S345,BIOS 141利用更新套件將韌體檔案181更新至韌體單元130,以取代原先所燒錄之BIOS 131(原有韌體)。在更新完畢之後,執行步驟S350,將電子裝置100重新開機,重新執行步驟S310。
另外,在將韌體檔案180下載至記憶單元140之後(即步驟S340之後),處理單元110還可進一步比較燒錄在韌體單元130中之BIOS 131(原有韌體)與韌體檔案181的版本。若韌體檔案181的版本比BIOS 131的版本還新,執行步驟S345,將韌體檔案181更新至韌體單元130,藉以取代原先所燒錄之BIOS 131。若韌體檔案181的版本較BIOS 131的版本還舊,則不執行更新動作。
綜上所述,在韌體單元執行開機程序的過程中建立可連線至網際網路的功能,以在自動尋找可更新的韌體檔案時,自動下載並進行更新。據此,使得更新韌體更為方便,並且,即便電子裝置無法開機至作業系統,亦可在開機階段進行韌體的更新。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,故本發明之保護範圍當視後附之申請專利範圍所界定者為準。
100...電子裝置
110...處理單元
120...控制晶片
130...韌體單元
131、141...BIOS
133...網卡驅動程式
140...記憶單元
150...網路卡
160...網際網路
170...伺服器
180、181...韌體檔案
S205~S225...本發明一實施例之更新韌體的方法各步驟
S305~S350...本發明另一實施例之更新韌體的方法各步驟
圖1是依據本發明一實施例之韌體更新系統的方塊圖。
圖2是依照本發明一實施例之更新韌體的方法流程圖。
圖3是依照本發明另一實施例之更新韌體的方法流程圖。
S205~S225...本發明一實施例之更新韌體的方法各步驟
Claims (10)
- 一種更新韌體的方法,適用於具有一韌體單元的一電子裝置,該方法包括:接收一開機訊號,以執行一開機程序;在執行該開機程序的過程中,安裝一網卡驅動程式以透過該電子裝置之一網路卡進行連線,其中該網卡驅動程式所儲存的位置,不同於該電子裝置在作業系統下的作業系統網卡驅動程式所儲存的位置;透過一網際網路連線至一伺服器;自該伺服器中下載一韌體檔案;以及將該韌體檔案更新至該韌體單元。
- 如申請專利範圍第1項所述之更新韌體的方法,其中在執行該開機程序的過程中,更包括:接收一更新指令,而讀取該韌體單元中所儲存的該網卡驅動程式以進行安裝。
- 如申請專利範圍第2項所述之更新韌體的方法,其中接收該更新指令的步驟包括:在該開機程序執行至一開機自我測試程序時,接收該更新指令。
- 如申請專利範圍第2項所述之更新韌體的方法,其中該更新指令是由一熱鍵所發送。
- 如申請專利範圍第1項所述之更新韌體的方法,其中在自該伺服器中下載該更新韌體的步驟包括:透過該網際網路傳送該電子裝置的一主機板型號至該 伺服器;以及下載該主機板型號對應的該韌體檔案。
- 如申請專利範圍第5項所述之更新韌體的方法,其中在透過該網際網路傳送該電子裝置的該主機板型號至該伺服器的步驟之後,更包括:自該伺服器接收一回報通知;依據該回報通知判斷該伺服器中是否存在有該主機板型號對應的該韌體檔案;若判定該伺服器中存在有該主機板型號對應的該韌體檔案,自該伺服器下載該韌體檔案;以及若判定該伺服器中不存在該主機板型號對應的該韌體檔案,繼續執行該開機程序。
- 如申請專利範圍第5項所述之更新韌體的方法,其中在下載該韌體檔案的步驟之後,更包括:比較燒錄在該韌體單元中之一原有韌體與該韌體檔案的版本。
- 如申請專利範圍第5項所述之更新韌體的方法,其中在透過該網際網路傳送該電子裝置的該主機板型號至該伺服器的步驟更包括:傳送該韌體單元目前的一韌體版本號至該伺服器,使得該伺服器搜尋是否有新版的韌體檔案。
- 如申請專利範圍第1項所述之更新韌體的方法,其中自該伺服器中下載該韌體檔案的步驟之後,更包括:將該韌體檔案儲存至一記憶單元中。
- 如申請專利範圍第1項所述之更新韌體的方法,其中該網卡驅動程式儲存在該韌體單元中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW101111869A TWI478061B (zh) | 2012-04-03 | 2012-04-03 | 更新韌體的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW101111869A TWI478061B (zh) | 2012-04-03 | 2012-04-03 | 更新韌體的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201342236A TW201342236A (zh) | 2013-10-16 |
TWI478061B true TWI478061B (zh) | 2015-03-21 |
Family
ID=49771469
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW101111869A TWI478061B (zh) | 2012-04-03 | 2012-04-03 | 更新韌體的方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI478061B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI720468B (zh) * | 2019-04-30 | 2021-03-01 | 神雲科技股份有限公司 | 周邊元件快速互連切換器的韌體更新方法 |
TWI740159B (zh) * | 2018-06-19 | 2021-09-21 | 日商基索股份有限公司 | 機器的控制方法、控制裝置及系統 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI762744B (zh) * | 2018-11-30 | 2022-05-01 | 技嘉科技股份有限公司 | 計算機裝置的網路連接方法 |
CN112463466B (zh) * | 2019-09-09 | 2022-06-24 | 英业达科技有限公司 | 电脑测试方法 |
US11397593B1 (en) | 2021-03-19 | 2022-07-26 | Quanta Computer Inc. | Loadable BIOS preset configurations |
CN116366639B (zh) * | 2023-06-01 | 2023-11-14 | 深圳市七彩虹禹贡科技发展有限公司 | 一种在uefi下联网更新主板bios的方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1428698A (zh) * | 2001-12-24 | 2003-07-09 | 财团法人资讯工业策进会 | 可由多重连接通道进行作业系统版本更新的方法及装置 |
CN1170220C (zh) * | 2001-09-27 | 2004-10-06 | 英业达股份有限公司 | 键盘基本输入输出系统的自动更新方法 |
US7197634B2 (en) * | 2004-01-16 | 2007-03-27 | Dell Products L.P. | System and method for updating device firmware |
CN100543676C (zh) * | 2003-12-18 | 2009-09-23 | 大同股份有限公司 | 固件更新的方法 |
-
2012
- 2012-04-03 TW TW101111869A patent/TWI478061B/zh active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1170220C (zh) * | 2001-09-27 | 2004-10-06 | 英业达股份有限公司 | 键盘基本输入输出系统的自动更新方法 |
CN1428698A (zh) * | 2001-12-24 | 2003-07-09 | 财团法人资讯工业策进会 | 可由多重连接通道进行作业系统版本更新的方法及装置 |
CN100543676C (zh) * | 2003-12-18 | 2009-09-23 | 大同股份有限公司 | 固件更新的方法 |
US7197634B2 (en) * | 2004-01-16 | 2007-03-27 | Dell Products L.P. | System and method for updating device firmware |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI740159B (zh) * | 2018-06-19 | 2021-09-21 | 日商基索股份有限公司 | 機器的控制方法、控制裝置及系統 |
TWI720468B (zh) * | 2019-04-30 | 2021-03-01 | 神雲科技股份有限公司 | 周邊元件快速互連切換器的韌體更新方法 |
Also Published As
Publication number | Publication date |
---|---|
TW201342236A (zh) | 2013-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11169819B2 (en) | Information handling system (IHS) and method to proactively restore firmware components to a computer readable storage device of an IHS | |
TWI478061B (zh) | 更新韌體的方法 | |
AU2011329330B2 (en) | Method of provisioning firmware in an operating system (OS) absent services environment | |
US9501289B2 (en) | Method of a UEFI firmware and computer system thereof | |
JP5368947B2 (ja) | プラットフォームの高速リスタートを可能にする方法およびシステム | |
TWI335536B (en) | Information handling system (ihs) method and for updating a non-volatile memory (nvm) included in an information handling system | |
US7660913B2 (en) | Out-of-band platform recovery | |
US7797526B2 (en) | Service processor host flash update over LPC | |
US7146512B2 (en) | Method of activating management mode through a network for monitoring a hardware entity and transmitting the monitored information through the network | |
TW201915723A (zh) | 計算機實施方法、系統、以及非暫時性計算機可讀儲存媒體 | |
CN107766084B (zh) | 启动装载及安装方法及其计算系统 | |
US20110055540A1 (en) | Pre-Boot Loader for Reducing System Boot Time | |
TWI590044B (zh) | 測試系統及其測試方法 | |
US20070005949A1 (en) | Method for Booting a Computer System | |
US11030047B2 (en) | Information handling system and method to restore system firmware to a selected restore point | |
US7900033B2 (en) | Firmware processing for operating system panic data | |
CN107135462B (zh) | Uefi固件的蓝牙配对方法及其计算系统 | |
EP2645239A1 (en) | Electronic apparatus and booting method | |
JP2015060411A (ja) | 情報処理装置のファームウェア更新方法 | |
JP2021507353A (ja) | 複数のバイナリイメージのファームウェア公開 | |
US11675601B2 (en) | Systems and methods to control software version when deploying OS application software from the boot firmware | |
CN102455919A (zh) | 基本输入输出系统自动最佳化设定方法 | |
TWI486876B (zh) | 更新週邊設備的連接管理程式的方法及主機 | |
CN113821264B (zh) | 操作系统安装控制方法、安装控制系统及计算设备 | |
Kyöstilä | Reducing the boot time of embedded Linux systems |