TWI881649B - 組態檔回復方法 - Google Patents
組態檔回復方法 Download PDFInfo
- Publication number
- TWI881649B TWI881649B TW113100271A TW113100271A TWI881649B TW I881649 B TWI881649 B TW I881649B TW 113100271 A TW113100271 A TW 113100271A TW 113100271 A TW113100271 A TW 113100271A TW I881649 B TWI881649 B TW I881649B
- Authority
- TW
- Taiwan
- Prior art keywords
- configuration file
- current
- compared
- current configuration
- check code
- Prior art date
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一種組態檔回復方法中一基板管理控制器執行以下步驟:判定一儲存模組中是否儲存有一當前組態檔、一待比對校驗碼及一備份組態檔;當判定出儲存有該當前組態檔、該待比對校驗碼及該備份組態檔時,獲得一對應於該當前組態檔的當前校驗碼,並判定該當前校驗碼是否與該待比對校驗碼一致;當判定出該當前校驗碼不與該待比對校驗碼一致時,以該備份組態檔作為該當前組態檔;獲得一對應於該當前組態檔的待更新校驗碼,並以該待更新校驗碼作為該待比對校驗碼;及複製該當前組態檔以獲得一複製組態檔,並以該複製組態檔作為該備份組態檔。
Description
本發明是有關於一種回復方法,特別是指一種組態檔回復方法。
基板管理控制器(Baseboard Management Controller,以下簡稱BMC)在電腦開機時系統初始化的過程中會存取相關的參數作爲組態檔(Configuration File),並在系統運行期間隨時更新組態檔。若BMC在將組態檔寫入記憶體時遇到非預期的斷電,便可能會因組態檔資料寫入不完全而造成組態檔異常或損毀,使得下次開機時初始化失敗,進而導致系統出現異常(例如,發生不斷重複開機等不可預期行為)。現有的處理異常組態檔的方式多是將異常的組態檔回復至出廠設定,使組態檔回復為正常狀態,以使系統可以順利初始化。然而由於組態檔回復成了出廠設定,因此用戶在後續使用時便需重新設定系統參數,造成用戶使用上的不便。
因此,如何在保持組態檔正常並使系統順利初始化的同時儘量不影響用戶的使用方便性,已成為相關技術領域所欲解決的議題之一。
因此,本發明之目的,即在提供一種組態檔回復方法,其能克服現有技術至少一個缺點。
於是,本發明所提供的一種組態檔回復方法,利用一基板管理控制器且在該基板管理控制器進行一開機初始化程序時來執行,並包含以下步驟:(A)判定一與該基板管理控制器連接的儲存模組中是否儲存有一當前組態檔、一待比對校驗碼及一備份組態檔;(B)當判定出該儲存模組中儲存有該當前組態檔、該待比對校驗碼及該備份組態檔時,獲得一對應於該當前組態檔的當前校驗碼,並判定該當前校驗碼是否與該待比對校驗碼一致;(C)當判定出該當前校驗碼不與該待比對校驗碼一致時,以該備份組態檔作為該當前組態檔;(D)獲得一對應於該當前組態檔的待更新校驗碼,並以該待更新校驗碼作為該待比對校驗碼;及(E)複製該當前組態檔以獲得一複製組態檔,並以該複製組態檔作為該備份組態檔。
本發明之功效在於:藉由判定此次開機時的該當前組態檔的該當前校驗碼是否與前次開機時的該待比對校驗碼一致來判定該當前組態檔是否發生異常,並在發生異常時以前次開機時的該備份組態檔取代異常的該當前組態檔,從而保證了該當前組態檔的正常,使系統的初始化可以順利進行。此外,由於是以此次開機前最近一次開機產生的組態檔作為回復用的該備份組態檔,因此在使用該備份組態檔進行初始化後用戶並不需重新設定系統參數,從而避免了將該當前組態檔回復出廠設定給用戶帶來的不便。
在本發明被詳細描述之前,應當注意在以下的説明內容中,類似的元件是以相同的編號來表示。
參閱圖1及圖2,本發明實施例的一種組態檔回復方法,利用一電連接於一儲存模組2的基板管理控制器1來執行。在本實施例中,該儲存模組2例如可實施成一快閃記憶體。當設置有該基板管理控制器1的一電腦裝置被開機時,該基板管理控制器1進行一開機初始化程序並同時執行該組態檔回復方法。該組態檔回復方法包含以下步驟S21~S27。
在步驟S21中,該基板管理控制器1判定該儲存模組2中是否儲存有一當前組態檔、一待比對校驗碼及一備份組態檔。該步驟S21係用來判定該電腦裝置是否爲第一次被開機。當該儲存模組2中未儲存有該當前組態檔、該待比對校驗碼及該備份組態檔其中至少一者時,該電腦裝置為第一次被開機,流程進行步驟S22,以獲得該當前組態檔;當該基板管理控制器1判定出該儲存模組2中儲存有該當前組態檔、該待比對校驗碼及該備份組態檔時,該電腦裝置並非第一次被開機,流程進行步驟S23,以判定該當前組態檔是否正常。
在步驟S22中,該基板管理控制器1繼續執行該開機初始化程序以獲得一初始組態檔作為該當前組態檔。由於該基板管理控制器1為第一次被開機,并不存在對應的當前組態檔,因此需等待該開機初始化程序執行完畢後生成該初始組態檔,從而獲得所需的該當前組態檔。在本實施例中,該基板管理控制器1利用一Linux作業系統中的一inotify模組監控該初始組態檔是否被建立。當該初始組態檔被建立時,該inotify模組發出一指示出該初始組態檔已被建立的建立通知。當該基板管理控制器1接收到該建立通知時,該基板管理控制器1將該初始組態檔作為該當前組態檔。此後流程進行步驟S25,以啟用一組態檔監控程序。
在步驟S23中,該基板管理控制器1獲得一對應於該當前組態檔的當前校驗碼,並判定該當前校驗碼是否與該待比對校驗碼一致,以此判定該當前組態檔是否正常。在本實施例中,該當前校驗碼係該基板管理控制器1根據該當前組態檔中的內容,利用一md5sum雜湊演算法產生的。當該基板管理控制器1判定出該當前校驗碼與該待比對校驗碼不一致時,該當前組態檔異常,流程進行步驟S24;當該基板管理控制器1判定出該當前校驗碼與該待比對校驗碼一致時,該當前組態檔正常,流程進行步驟S25,以啟用該組態檔監控程序。
在步驟S24中,該基板管理控制器1以該備份組態檔作為該當前組態檔。利用前次正常開機時使用的組態檔(即該備份組態檔)來取代異常的該當前組態檔,以使該開機初始化程序及該組態檔監控程序能繼續順利執行。
在確保該當前組態檔存在(第一次被開機),或該當前組態檔正常(非第一次被開機)後,該基板管理控制器1執行該組態檔監控程序。該組態檔監控程序被實施成該組態檔回復方法中的以下步驟S25~S27。
在步驟S25中,該基板管理控制器1獲得一對應於該當前組態檔的待更新校驗碼,並以該待更新校驗碼作為該待比對校驗碼。在本實施例中,該待更新校驗碼係該基板管理控制器1根據該當前組態檔中的內容,利用該md5sum雜湊演算法產生的。
在步驟S26中,該基板管理控制器1複製該當前組態檔以獲得一複製組態檔,並以該複製組態檔作為該備份組態檔。藉由此步驟,保證了在下一次開機時用於回復的備份組態檔總是最近一次正常開機時產生的最新的組態檔。
在步驟S27中,該基板管理控制器1判定該當前組態檔是否被更新。在本實施例中,該基板管理控制器1係利用該inotify模組監控該當前組態檔是否被更新。當該當前組態檔被更新時,該inotify模組發出一指示出該當前組態檔已完成更新(即,該當前組態檔已從寫入模式關閉)的更新通知。因此,該基板管理控制器1藉由判定是否接收到該更新通知,以判定該當前組態檔是否被更新。當判定出接收到該更新通知時,流程回到步驟S25;否則,流程再次進行步驟S27。
該基板管理控制器1藉由重複執行步驟S25~S27來重複執行該組態檔監控程序,以達成在該電腦裝置運行時不斷監控並更新該備份組態檔的目的,使得該備份組態檔總是處於最新狀態。
需要注意的是,當該電腦裝置為第一次被開機時,流程僅會依序進行步驟S21、步驟S22及步驟S25~S27;而當該電腦裝置並非第一次被開機時,流程則會依序進行步驟S21、步驟S23、步驟S24(該當前組態檔正常時不執行)及步驟S25~S27。
綜上所述,藉由判定此次開機時的該當前組態檔的該當前校驗碼是否與前次開機時的該待比對校驗碼一致來判定該當前組態檔是否發生異常,並在發生異常時以前次開機時的該備份組態檔取代異常的該當前組態檔,從而保證了該當前組態檔的正常,使系統的初始化可以順利進行。此外,由於是以此次開機前最近一次開機產生的組態檔作為回復用的該備份組態檔,因此在使用該備份組態檔進行初始化後用戶並不需重新設定系統參數,從而避免了將該當前組態檔回復出廠設定給用戶帶來的不便。故確實能達成本發明之目的。
惟以上所述者,僅為本發明之實施例而已,當不能以此限定本發明實施之範圍,凡是依本發明申請專利範圍及專利說明書內容所作之簡單的等效變化與修飾,皆仍屬本發明專利涵蓋之範圍內。
1:基板管理控制器
2:儲存模組
S21~S27:步驟
本發明之其他的特徵及功效,將於參照圖式的實施方式中清楚地呈現,其中:
圖1是一方塊圖,示例性地説明本發明實施例的一種組態檔回復方法所使用的一基板管理控制器及一儲存模組;及
圖2是一流程圖,示例性地説明該實施例的該基板管理控制器如何執行該組態檔回復方法。
S21~S27:步驟
Claims (7)
- 一種組態檔回復方法,利用一基板管理控制器且在該基板管理控制器進行一開機初始化程序時來執行,並包含以下步驟: (A)判定一與該基板管理控制器連接的儲存模組中是否儲存有一當前組態檔、一待比對校驗碼及一備份組態檔; (G)當該儲存模組中未儲存有該當前組態檔、該待比對校驗碼及該備份組態檔其中至少一者時,繼續執行該開機初始化程序以獲得一初始組態檔作為該當前組態檔; (B)當判定出該儲存模組中儲存有該當前組態檔、該待比對校驗碼及該備份組態檔時,獲得一對應於該當前組態檔的當前校驗碼,並判定該當前校驗碼是否與該待比對校驗碼一致; (F)當判定出該當前校驗碼與該待比對校驗碼一致時,進行步驟(D); (C)當判定出該當前校驗碼不與該待比對校驗碼一致時,以該備份組態檔作為該當前組態檔; (D)獲得一對應於該當前組態檔的待更新校驗碼,並以該待更新校驗碼作為該待比對校驗碼;及 (E)複製該當前組態檔以獲得一複製組態檔,並以該複製組態檔作為該備份組態檔。
- 如請求項1所述的組態檔回復方法,在步驟(E)之後還包含以下步驟: (H)判定該當前組態檔是否被更新;及 (I)當判定出該當前組態檔被更新時,流程回到步驟(D)。
- 如請求項2所述的組態檔回復方法,其中: 在步驟(H)中,係藉由判定是否接收到來自一作業系統發出的一指示出該當前組態檔已完成更新的更新通知,以判定該當前組態檔是否被更新;及 在步驟(I)中,當判定出接收到該更新通知時,流程回到步驟(D)。
- 如請求項3所述的組態檔回復方法,在步驟(H)之後還包含以下步驟: (J)當判定出未接收到該更新通知時,流程回到步驟(H)。
- 如請求項1所述的組態檔回復方法,其中,在步驟(B)中,該當前校驗碼係由該基板管理控制器根據該當前組態檔中的內容,利用一md5sum雜湊演算法產生的。
- 如請求項1所述的組態檔回復方法,其中,在步驟(D)中,該待更新校驗碼係由該基板管理控制器根據該當前組態檔中的內容,利用一md5sum雜湊演算法產生的。
- 如請求項1所述的組態檔回復方法,其中,步驟(D)、步驟(E)及步驟(F)共同作爲一組態檔監控程序,并且該組態檔監控程序與該開機初始化程序並行。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW113100271A TWI881649B (zh) | 2024-01-03 | 2024-01-03 | 組態檔回復方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW113100271A TWI881649B (zh) | 2024-01-03 | 2024-01-03 | 組態檔回復方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TWI881649B true TWI881649B (zh) | 2025-04-21 |
| TW202528933A TW202528933A (zh) | 2025-07-16 |
Family
ID=96141958
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW113100271A TWI881649B (zh) | 2024-01-03 | 2024-01-03 | 組態檔回復方法 |
Country Status (1)
| Country | Link |
|---|---|
| TW (1) | TWI881649B (zh) |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI709036B (zh) * | 2019-10-03 | 2020-11-01 | 神雲科技股份有限公司 | 回復基本輸入輸出系統組態參數的方法及伺服系統 |
| US10824517B2 (en) * | 2017-05-08 | 2020-11-03 | American Megatrends International, Llc | Backup and recovery of configuration files in management device |
| CN115712523A (zh) * | 2022-10-28 | 2023-02-24 | 北京东土科技股份有限公司 | 配置文件备份与恢复方法、装置、交换机及存储介质 |
| CN115951949A (zh) * | 2022-12-26 | 2023-04-11 | 超聚变数字技术有限公司 | 一种bios的配置参数的恢复方法、装置及计算设备 |
| CN112559059B (zh) * | 2020-11-19 | 2023-07-14 | 山东云海国创云计算装备产业创新中心有限公司 | 一种bios选项配置方法及相关装置 |
-
2024
- 2024-01-03 TW TW113100271A patent/TWI881649B/zh active
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10824517B2 (en) * | 2017-05-08 | 2020-11-03 | American Megatrends International, Llc | Backup and recovery of configuration files in management device |
| TWI709036B (zh) * | 2019-10-03 | 2020-11-01 | 神雲科技股份有限公司 | 回復基本輸入輸出系統組態參數的方法及伺服系統 |
| CN112559059B (zh) * | 2020-11-19 | 2023-07-14 | 山东云海国创云计算装备产业创新中心有限公司 | 一种bios选项配置方法及相关装置 |
| CN115712523A (zh) * | 2022-10-28 | 2023-02-24 | 北京东土科技股份有限公司 | 配置文件备份与恢复方法、装置、交换机及存储介质 |
| CN115951949A (zh) * | 2022-12-26 | 2023-04-11 | 超聚变数字技术有限公司 | 一种bios的配置参数的恢复方法、装置及计算设备 |
Also Published As
| Publication number | Publication date |
|---|---|
| TW202528933A (zh) | 2025-07-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN106598635B (zh) | 基板管理控制器的恢复方法及基板管理控制器 | |
| US8601255B2 (en) | Approaches for updating bios | |
| US11163886B2 (en) | Information handling system firmware bit error detection and correction | |
| US20070022328A1 (en) | Firmware Update for Consumer Electronic Device | |
| CN101364193A (zh) | 自动恢复bios的方法以及使用该方法的电脑与系统 | |
| TW201520895A (zh) | Bios自動恢復系統及方法 | |
| CN102270144A (zh) | 嵌入式网络设备及其更新固件的方法 | |
| TW201843583A (zh) | 自動回復基本輸入輸出系統映像檔的方法及電腦系統 | |
| US11550655B2 (en) | System and method for monitoring and upgrading a dual-flash device | |
| US11481278B2 (en) | System and method for recovering an operating system after a runtime hang using a dual-flash device | |
| US11797389B2 (en) | System and method for recovering an operating system after an upgrade hang using a dual-flash device | |
| TWI764454B (zh) | 韌體損壞恢復技術 | |
| CN113867807A (zh) | 一种缩短服务器上电时间的方法、装置、设备和存储介质 | |
| US11243780B2 (en) | System and method for operating system installation using a dual-flash device | |
| WO2021103745A1 (zh) | 一种引导程序的保护设计方法 | |
| WO2015184732A1 (zh) | 引导程序的存储方法、故障恢复方法及设备、计算机存储介质 | |
| US20210357298A1 (en) | Recovery via backups of recovery information | |
| TWI881649B (zh) | 組態檔回復方法 | |
| TWI650646B (zh) | 纜線數據機及其操作方法 | |
| CN113050887A (zh) | 闪存分区数据处理方法、装置、计算机设备和存储介质 | |
| KR101850275B1 (ko) | 빠른 부팅을 위한 부트 이미지를 생성하는 방법 및 이를 수행하는 화상형성장치, 부트 이미지를 이용하여 빠른 부팅을 수행하는 방법 및 이를 수행하는 화상형성장치 | |
| TWI786945B (zh) | 可快速更新作業系統的資料儲存裝置及方法 | |
| US11762756B2 (en) | System and method for startup data verification | |
| CN120371598A (zh) | 组态档回复方法 | |
| TWI541724B (zh) | 寫入基本輸入輸出系統程式碼的電路與寫入方法 |