JP2020126576A - Biosの復旧と更新の方法およびシステム - Google Patents

Biosの復旧と更新の方法およびシステム Download PDF

Info

Publication number
JP2020126576A
JP2020126576A JP2019147900A JP2019147900A JP2020126576A JP 2020126576 A JP2020126576 A JP 2020126576A JP 2019147900 A JP2019147900 A JP 2019147900A JP 2019147900 A JP2019147900 A JP 2019147900A JP 2020126576 A JP2020126576 A JP 2020126576A
Authority
JP
Japan
Prior art keywords
bios
bmc
flash
bios image
image
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
JP2019147900A
Other languages
English (en)
Inventor
李永富
Yung-Fu Li
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Quanta Computer Inc
Original Assignee
Quanta Computer Inc
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 Quanta Computer Inc filed Critical Quanta Computer Inc
Publication of JP2020126576A publication Critical patent/JP2020126576A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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 OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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 OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

【課題】損傷したBIOSイメージまたは悪意を持って変更されたBIOSイメージを復旧する方法およびシステムを提供する。【解決手段】ベースボードマネジメントコントローラ(BMC)は、BIOSフラッシュ内のBIOSイメージが損傷しているかを検査203、または悪意をもって変更されているかを検査204する。損傷している、または悪意をもって変更されている場合は、BMCがBMCに接続されているBMCフラッシュ内からBIOSイメージを読み出し206、BIOSフラッシュへBIOSイメージを書き込み207、システムを再起動する208。【選択図】図2

Description

本開示はネットワークコンピューティングと、より詳細には、独立して動作するベースボード管理制御装置によるサーバBIOSイメージのファームウェア更新と、に関する。
サーバの電源が再投入された時、中央処理装置(CPU)が最初に取る動作はベーシックインプットアウトプットシステム(BIOS)を起動するためのメッセージを送ることである。BIOSは、次に、システムデバイスが正しく動作しているかを確認するためのPOST(Power On Self−Test)と呼ばれる一連のテストを実行する。BIOSはサーバが動作するための本質的な機能を可能にする。もしBIOSが壊れているならば、CPUは動作できない。
しかしながら、典型的なBIOSは有効なBIOSイメージが壊れた場合に復元できる。
これはシステム内部が書き込み可能でないフラッシュメモリ内に復旧プログラムを格納することによって達成される。これはフラッシュメモリ内の復旧プログラムが壊されないことを保証する。復旧プログラムは通常、フラッシュドライブまたは他の取り外し可能なメディアから新しいコードを回復するための、最小限のシステムハードウェアを初期化する性能を持った単純なコードである。
米国特許出願公開第2012/0011393A1号
本開示の様々な例示は、BMCによりサーバBIOSイメージをBIOSフラッシュへと書き込むためのシステムと方法を対象とする。この方法はBMCフラッシュ内のゴールデンBIOSイメージを受信することを含む。BMCフラッシュはBMCに関連付けられる。この方法はまた、BIOSフラッシュ内のアクティブBIOSイメージが損傷したBIOSイメージまたは悪意を持って変更されたBIOSイメージであることを判定することを含む。損傷または変更に応答して、この方法はゴールデンBIOSを用いて、BIOSフラッシュ内のアクティブBIOSイメージを上書きすることを含む。
本開示の幾つかの実施形態では、この方法はまたBMCフラッシュ内のBIOSイメージを解凍することを含む。この方法はまた、アクティブBIOSイメージ内に格納されたハッシュまたはチェックサムの値が、算出されたハッシュまたはチェックサムの値と一致しないと判定することを含むことができる。
算出されたハッシュまたはチェックサムの値は、BMCにより決定することができる。更に、この方法はまた、BMCはペアとなった公開鍵を使用してアクティブBIOSイメージのBIOSハッシュまたはチェックサムの値を復号することができないと判定することを含むことができる。
本開示はまた、BMCによりサーバBIOSイメージをBIOSフラッシュへと書き込むための追加の方法およびシステムを教示する。
いくつかの実施形態では、方法はBIOSイメージを受信することと、BIOSイメージをBMCフラッシュへと格納することと、BMCフラッシュ内のBIOSイメージをBIOSフラッシュへと書き込むことと、を含む。
いくつかの実施形態では、BMCフラッシュ内のBIOSイメージは解凍される。更に、BMCフラッシュ内のBIOSイメージをBIOSフラッシュへと書き込むための命令はウェブインターフェースの管理者から受信される。
本開示の更なる特徴および利点は、以下の記載中で述べられ、部分的には、記載から明らかになり、またはここで開示された原理の実施によって知ることができる。本開示の特徴と利点は添付の請求項の中で特に指摘された、機械の手段および組み合わせにより実現および獲得される。本開示のこれらの特徴および他の特徴は、以下の説明および添付の請求項から完全に明らかになるか、または本明細書に記載の原理の実施によって知ることができる。
上述の開示ならびにその利点および特徴を得ることができる方法を説明するために、添付の図面に示される特定の例を参照することによって、上述の原理のより具体的な説明を行う。これらの図面は本開示の例示的な態様のみを示しており、したがって、その範囲を限定するものと見なされるべきではない。これらの原理は、以下の図面の使用を通して、さらなる特異性および詳細を伴って記載および説明される。
例示的な実施形態によるシステムの図である。 独立して動作するBMCによるサーバBIOSイメージの更新および書き込みの処理を説明するフローチャートである。 本開示の一実施形態による、ユーザが開始したBIOSイメージの更新のための処理を説明するフローチャートである。
〔詳細な説明〕
本発明は、添付された図を参照して説明され、ここで、同様の参照番号は同様のまたは同等の要素を示すために図面全体で使用される。図面は一定の縮尺で書かれておらず、単に本発明を例示するために提供されている。本発明のいくつかの態様は、図による例示的な応用例としての参照を用いて以下で説明される。本発明の完全なる理解を提供するために、多数の特定の詳細点、関連性、および方法が記載されていることを理解されたい。
しかしながら、本発明が1つ以上の特定な詳細および他の方法を用いることなしに実施されることを、当業者はただちに認識する。他の例では、本発明を不明瞭にすることを避けるため、既知の構造または動作は詳細に示されていない。本発明では、例示された行為または事象の順序に限定されず、いくつかの行為(act)は異なる順序で現れてもよく、および/または、他の行為(act)または事象(event)と同時に表れてもよい。更に全ての図示された行為または事象が、本発明に従った方法を実施するために、必要とされるわけではない。
現在の通常のサーバは、ベースボードマネジメントコントローラー(BMC)とベーシックインプットアウトプットシステム(BIOS)というシステムとの両方を備える。通常、これらの構成物はフラッシュメモリ装置からコードを実行する。BMCとBIOSは通常では、分離したフラッシュ装置に配置された、分離したコードイメージを保持している。
フラッシュの中に含まれる上記イメージは2つのコードセクションを少なくとも有している。ブートブロックセクションとオペレーショナルコードセクションである。
ブートブロックとは通常、書き込み保護されており、フィールド内で更新されない。逆に、オペレーショナルイメージはフィールド内で更新される。
既存のシステムでは、システムがオペレーション・システムにブートされた時だけBIOSイメージは更新される。もしBIOSイメージの更新が破損したり失敗したりしている場合は、システムはオペレーティング・システムにブート出来ず、動作不能になる。本発明はBMCによりサーバBIOSイメージをBIOSフラッシュへと書き込む方法とシステムを教示する。開示された方法は、BMCと関連付けられたBMCフラッシュ内の、認証され破損してないBIOSイメージを管理すること、BIOSフラッシュ内のBIOSイメージが損傷されているか、または悪意を持って変更されたかどうかを判定すること、認証され破損していないBIOSイメージをBMC内からBIOSフラッシュへ書き込むことと、を含む。
図1は例示的なシステム100を図示する。
システム100は中央処理装置(CPU)110を備えてもよい。CPU110は、命令によって特定された基本的な算術、論理、入力/出力(I/O)動作を実行することによって、コンピュータプログラムの命令を実行する電子回路を備えてもよい。CPU110は単一の集積回路(IC)チップ上に収容されることを意図するマイクロプロセッサであってもよいことを理解されたい。CPUを含むICはメモリ、周辺インターフェース、およびコンピュータの他の構成部品をまた含みうる。そのような集積回路はマイクロコントローラまたはチップ上のシステム(SoC)と様々に呼ばれる。そのシステム100は「コア」と呼ばれる2つ以上のCPUを含む、単一チップであるマルチコアプロセッサをまた採用できる。
システム100は、CPU110に接続されたプラットフォームコントローラハブ(PCH)120をまた備えることができる。PCH120は特定のデータ経路を制御し、CPU110と共に使用される機能を補助するために構成されることができる。システム100はBMCフラッシュ140に接続されたBMC150をまた含むことができる。BMC150はBMCフラッシュ140に直接連絡することができる。BMCフラッシュ140は、BMCイメージとシステム100と共に動作することが知られているBIOSイメージ(「ゴールデンBIOS」)を含むことができる。システム100はシステム100によって現在使用されているBIOSイメージを含んだ、BIOSフラッシュ130を備えることができる。
システム100はスイッチ装置160を含むことができる。スイッチ装置160はSPI Mux装置として構成することができる。いくつかの例示的な実施形態中では、スイッチ装置160が2つのSPI(Serial Peripheral Interface)マスタ装置PCH120またはBMC150を、BIOSフラッシュ130内に位置する単一スレーブ装置へと多重化することができる。BMC150はBMC150からスイッチ装置160へと延びる出力ピンによってマスタ装置の選択を制御できる。
ゴールデンBIOSイメージは、BMCフラッシュ140を製造中にBMCフラッシュ140内へと格納され、プログラムされる。代替の実施形態では、BIOSイメージはローカルまたはリモートのソフトウェアプログラム(ツール)によって更新される。このツールはコマンドと新しいゴールデンBIOSイメージをBMC150へと送信するように構成することができる。BMC150は、次にゴールデンBIOSイメージをBMCフラッシュ140メモリへ書き込むことができる。いくつかの実施形態では、ゴールデンBIOSイメージは、完全なファイルまたは圧縮されたファイルであってもよい。
BIOSフラッシュ130が故障または破損したBIOSイメージを含んでいる場合は、BMC150はBIOSフラッシュ130内の損傷したイメージをBMCフラッシュ140内のゴールデンBIOSイメージを用いて復旧することができる。この処理は以下で説明する。
BMC150はBIOSフラッシュ130に格納されたBIOSイメージが破損した、または損傷したかどうかをいくつかの方法で検出することができる。例えば、BMC150は破損した、または損傷したBIOSを、システム100のBIOS POSTまたはブートアップがBIOS損傷のために失敗したかどうかを検証することによって、検出することができる。
BIOS POSTは、ハードウェアまたはチップセット・レジスタの初期化、電力管理の初期化、RAMのテスト、キーボードの有効化、シリアルまたはパラレルポートのテスト、フロッピー(登録商標)ディスクドライブまたはハードディスクコントローラの初期化、および、システムのサマリー情報の表示などの一連のテストを含むことができる。もしBIOS POSTが成功したならば、BMC150はPOST終了を完了した信号をBIOSから受信する。一方で、もしBIOS POSTは不成功ならば、BMC150はPOST終了を完了した信号を受信しない。後者が起きたときは、BIOSフラッシュ130内のBIOSイメージは破損した、または損傷した可能性があるという信号をBMC150へ送る。
この時点で、BMC150はゴールデンBIOSと現在のBIOSフラッシュ内のBIOSを比較し、BIOSが破損したか、または損傷したかどうかを判定することができる。
損傷または破損しているBIOSを検査するための別の処理は、BMC150がBIOSフラッシュ130内のBIOSイメージの完全性と安全性を検査することである。BIOSイメージの完全性は、BIOSイメージがハッシュまたはチェックサムの値、または主要なBIOSコードを含んでいるかどうかをBMC150によって最初に検証することにより、検査することができる。
BMC150は、次に、ハッシュまたはチェックサムの値または主要なBIOSコードを読むことができ、ハッシュまたはチェックサムの値を算出することができる。その後、BMC150は、算出されたハッシュまたはチェックサムの値とBIOSフラッシュ130内のハッシュまたはチェックサムの値を比較することができる。もし算出されたハッシュまたはチェックサムの値と格納されたハッシュまたはチェックサムの値が同一でないならば、BMC150はBIOSフラッシュ130内のBIOSイメージが損傷または破損していると判定することができる。
BIOSイメージの安全性は、またBMC150により検査されることができる。BIOSイメージ内のBIOSハッシュまたはチェックサムの値は、通常、フラッシュメモリ内に格納された秘密鍵により暗号化されている。BMC150は、BIOSハッシュまたはチェックサムの値をペアとなった公開鍵を使用して復号することを試みることができる。もし、BMC150は、ペアとなった公開鍵を使用して、BIOSフラッシュ130内のBIOSハッシュまたはチェックサムの値を復号することができないのならば、BMC150はBIOSフラッシュ130内のBIOSイメージが認証されていないユーザによって構築され、書き込まれたと判定する。
BIOSフラッシュ130内のBIOSイメージが損傷され、破損され、または、完全性または安全性に何らかの損傷を受けたと判定されると、BMC150は、BMCフラッシュ140からBIOSイメージを読み取るように構成される。BMC150は次にBMCフラッシュ140からゴールデンBIOSイメージを解凍し、BIOSフラッシュ130へそれを書き込む。このような方法で、BMC150は、BIOSフラッシュ130内のBIOSイメージをBMCフラッシュ140内のイメージに置き換えることができる。
BMC150は、この処理を本明細書で説明するように自動的なBIOS復旧ためのみに実行することができるだけではなく、この処理をシステム100のためのBIOSイメージの更新を円滑にするために使うことができる。例えば、ユーザは、BMCツール、コマンド、または他のインターフェース(例えばウェブユーザインターフェース)による方法で、BMCフラッシュ140へとBIOSイメージをアップロードし、書き込むことができる。更に、ユーザは、BMCツール、コマンド、または他のインターフェース(例えばウェブユーザインターフェース)を介して、BIOSフラッシュ130内のBIOSイメージを更新することができる。
一実施形態では、BMC150はスイッチ装置160を介して、BIOSフラッシュ130へ動作可能に結合される。SPI以外のインターフェースは、既存の標準接続または専用接続を含め、BMC150によりBIOSフラッシュ130を更新するために使うことが可能である。BMC150と同様に、接続は待機電力を使用して実施されることが可能である。
この実施形態では、システム100は完全に給電されることを必要せず、BMC150によりBIOSフラッシュ130内のBIOSイメージを更新するためにCPU110を実行することを必要としない。別の実施形態では、BIOSフラッシュ130はBMCフラッシュ140と同じ構成部品(またはフラッシュカード)の上に配置することができる。
この実施形態は更新のために完全に給電されたシステム100を必要としない。BIOSイメージが正しく更新されたならば、システム100は起動することができる。もしBIOSは正しく更新されなかったならば、エラーを記録することができ、通知を管理者またはオペレータに送信することができる。
図2は、本開示の一実施形態による、独立して動作するBMCによって、サーバBIOSイメージの更新と書き込みのための処理200のフローチャート示す。ここで示された処理200は、図1のシステム100の構成部品を参照して、詳細に説明される。
最初の問題として、ステップ201において、BMCフラッシュ140は認証され、損傷のないBIOSイメージを格納できる。BMC150はハッシュまたはチェックサムにより、BMCフラッシュ140内のゴールデンBIOSイメージをBIOSフラッシュ130に書き込む前に、ゴールデンBIOSイメージの完全性を検証するように構成することができる。
ステップ202において、システム100は電源を入れることができる。ステップ203においては、上述したように、BIOSフラッシュ130に格納されたBIOSイメージが破損したか、または損傷したかどうかの判定はなされる。もしBIOSイメージが破損していないまたは損傷していないという判定がなされた場合、処理200はステップ204へ進む。ステップ204では、BIOSフラッシュ130に格納されたBIOSイメージは悪意を持って変更されたかどうかをBMC150が判定する。これは、上述したように、ハッシュ、チェックサムまたは鍵検査を使用することにより達成される。もしBIOSイメージは悪意を持って変更されていないとステップ204で判定されたならば、次に処理200はステップ205へ進む。ステップ205では、システム100は適切に機能していると判定される。
あるいは、ステップ203で、BIOSイメージは破損または損傷していると判定されたならば、処理200は、ステップ206へ進む。ステップ206では、BMC150がBMCフラッシュ140内に格納されたゴールデンBIOSイメージを読み込む。同様にして、もしステップ204でBIOSイメージは悪意を持って変更されたと判定されたならば、処理200はまたステップ206へと進む。
その後、ステップ207で、BMC150はゴールデンBIOSイメージをBIOSフラッシュ130へと書き込む。次に、ステップ208で、システム100はリセットされ、現在のBIOSフラッシュ130に格納されているゴールデンBIOSを使用してシステムを再起動させる。処理200は、ステップ205または208のどちらかでステップ202へと戻る。
上述したように、本明細書に記載の方法は、またBMCを介したBIOSの更新方法を提供するためにも使用される。
図3は、本開示の一実施形態による、ユーザが開始するBIOSイメージの更新の処理300を説明するフローチャートを示す。
本明細書に示される処理300は、図1のシステム100の構成部品を参照して詳細に説明される。最初の課題として、ステップ301において、BMCフラッシュ140は、認証され破損していない、BIOSフラッシュ130から取り込まれたBIOSイメージを用いて更新される。あるいは、ステップ302において、ユーザは新しいBIOSイメージをBMC150へとアップロードでき、ステップ303において、BMC150は新しいBIOSイメージをBMCフラッシュ140へと格納する。
望ましいBIOSイメージが一旦、BMCフラッシュ140内に格納されると、ステップ304において、管理者はBIOSイメージを更新するためのコマンドをBMC150に送ることができる。このコマンドは、ユーザ、管理者、または自動的な処理の結果として、リモートの更新用サーバから受信されることを理解されたい。あるいは、この命令はインターフェースからのBMC150において受信されてもよい。インターフェースは管理者に提供されたウェブインターフェースを含むことができ、管理者はBMC150を使って直接対話できる。
その後、ステップ305において、BMC150はBMCフラッシュ140からBIOSイメージを読み込むことができる。次にステップ306において、BIOSイメージはBIOSフラッシュ130へと書き込まれることができる。処理300はステップ306にて終了する。いくつかの代替となる実施形態中では、BMC150はBIOSフラッシュ130内の元のBIOSイメージを記憶装置(例えばBMC SDRAM)にバックアップすることができる。もし新しく書き込まれたBIOSイメージが破損しているか、さもなければ動作しないなら、BMC150はこの元のBIOSイメージをBIOSフラッシュ130へと戻すことができる。
本発明の特定の実施形態を示し、説明してきたが、本発明の広範な態様から逸脱することなく、当業者には変更および修正を行うことができることは明らかである。したがって添付の請求項の範囲の目的は、発明の精神および範囲内にある全ての変更および修正を含むことである。前述の説明および添付の図面に記載された事項は、例示としてのみ提供され、限定されるものではない。本発明の実際の範囲は、先行技術に基づいて適切な観点から見たときに、以下の特許請求の範囲において定義されることが意図される。
本明細書で使用される用語は、特定の実施形態を説明する目的のためのみであり、本発明を限定することを意図するものではない。本明細書で使用されるように、単数形「a」、「an」および「the」は文脈に明確に示さない限りは、複数形も同様に含むことが意図される。さらに、用語である「含んでいる(including)」「含む(include)」「有している(having)」「有する(have)」「を有する(with)」、またはそれらの変形が詳細な説明および/または特許請求の範囲のいずれかで使用される限り、そのような用語は、「備える(comprising)」という用語と同様に包括的であることを意図される。
他に定義されない限り、本書で使用される全ての用語(技術用語および科学用語を含む)は本発明が属する技術分野の当業者によって一般に理解されるものと同じ意味を有する。さらに、一般に使用される辞書の中で定義された用語は、関連技術の文脈の中での一貫した意味合いと解釈されるべきであり、特に定義しない限り、理想化された、または、過度に形式的な意味で解釈されない。
110 ・・・CPU
120 ・・・PCH
130 ・・・BIOSフラッシュ
140 ・・・BMCフラッシュ
150 ・・・BMC
160 ・・・スイッチ装置

Claims (10)

  1. サーバBIOSイメージをBMCによってBIOSフラッシュへ書き込む方法であって、
    BMCに関連付けられたBMCフラッシュの内のゴールデンBIOSイメージを受け取ること、
    BIOSフラッシュの内のアクティブBIOSイメージが、損傷したBIOSイメージおよび悪意を持って変更されたBIOSイメージのうちの少なくとも一つであると判定すること、および
    上記アクティブBIOSイメージが、上記損傷したBIOSイメージおよび上記悪意を持って変更されたBIOSイメージのうちの少なくとも一つであると判定することに応答して、上記BIOSフラッシュ内の上記アクティブBIOSイメージを上記ゴールデンBIOSで上書きすることと、を含む、方法。
  2. 上記BMCフラッシュ内の上記ゴールデンBIOSイメージを解凍することを更に含む、請求項1に記載の方法。
  3. 上記アクティブBIOSイメージは上記損傷したBIOSイメージであると判定することは、上記アクティブBIOSイメージ内に格納したハッシュまたはチェックサムの値が算出されたハッシュまたはチェックサムの値と一致しないと判定することを含む、請求項1に記載の方法。
  4. 上記アクティブBIOSイメージが認証されていないと判定することは、上記BMCが、ペアとなった公開鍵を使って、上記アクティブBIOSイメージのBIOSのハッシュまたはチェックサムの値を復号することが不可能であると判定することを含む、請求項1に記載の方法。
  5. 少なくとも一つの機械によって実行された時に、上記機械に、
    BMCに関連付けられたBMCフラッシュ内のゴールデンBIOSイメージを受け取り、
    上記BIOSフラッシュ内のアクティブBIOSイメージが、損傷したBIOSイメージまたは悪意を持って変更されたBIOSイメージのうち少なくとも一つであると判定し、
    上記アクティブBIOSイメージが損傷したBIOSイメージまたは悪意を持って変更されたBIOSイメージのうち少なくとも一つであると判定することに応答して、上記BIOSフラッシュ内の上記アクティブBIOSを上記ゴールデンBIOSで上書きさせる方法であって、上記機械が実行可能なコードを含んだ方法を実行するための命令を格納した、非一時的な機械で読み込み可能な媒体。
  6. 上記少なくとも一つの機械によって実行された時に、上記機械に上記BMCフラッシュ内の上記ゴールデンBIOSイメージを解凍させるコードであって、上記機械が実行可能なコードを更に備えた、請求項5に記載の非一時的な機械で読み込み可能な媒体。
  7. 上記アクティブBIOSイメージは上記損傷したBIOSイメージであることを判定することは、上記アクティブBIOSイメージ内に格納されたハッシュまたはチェックサムの値が算出されたハッシュまたはチェックサムの値と一致しないと判定することを含む、請求項5に記載の非一時的な機械で読み込み可能な媒体。
  8. 上記アクティブBIOSイメージは認証されていないと判定することは、上記BMCは対となった公開鍵を使用して上記アクティブBIOSイメージのBIOSのハッシュまたはチェックサムの値を復号することが不可能であると判定することを含む、請求項5に記載の非一時的な機械で読み込み可能な媒体。
  9. サーバBIOSイメージをBMCによってBIOSフラッシュへと書き込む方法であって、
    上記BMCにおいてBIOSイメージを受信すること、
    上記BMCを介して上記BIOSイメージをBMCフラッシュへ格納すること、および、
    上記BMCフラッシュ内にある上記BIOSイメージを上記BIOSフラッシュへと書き込むことと、を含む、方法。
  10. 上記BMCフラッシュ内の上記BIOSイメージを解凍することと、
    上記BMCフラッシュ内の上記BIOSイメージを上記BIOSフラッシュへと書き込むためのコマンドを、ウェブインターフェースにおいてユーザからを受信することと、を更に含む、請求項9に記載の方法。
JP2019147900A 2019-01-31 2019-08-09 Biosの復旧と更新の方法およびシステム Pending JP2020126576A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/263,681 2019-01-31
US16/263,681 US20200250313A1 (en) 2019-01-31 2019-01-31 Bios recovery and update

Publications (1)

Publication Number Publication Date
JP2020126576A true JP2020126576A (ja) 2020-08-20

Family

ID=67226140

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019147900A Pending JP2020126576A (ja) 2019-01-31 2019-08-09 Biosの復旧と更新の方法およびシステム

Country Status (5)

Country Link
US (1) US20200250313A1 (ja)
EP (1) EP3690653A1 (ja)
JP (1) JP2020126576A (ja)
CN (1) CN111506454A (ja)
TW (1) TW202030602A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7500400B2 (ja) 2020-11-18 2024-06-17 キヤノン株式会社 情報処理装置、情報処理装置の制御方法及びプログラム

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110795738B (zh) * 2019-09-19 2022-05-13 超聚变数字技术有限公司 一种计算机的启动方法和控制器、存储介质以及系统
US20230195898A1 (en) * 2020-06-24 2023-06-22 Hewlett-Packard Development Company, L.P. Bios backup
CN111949332A (zh) * 2020-08-27 2020-11-17 英业达科技有限公司 基本输入输出系统选项修改方法、系统及装置
CN112506741B (zh) * 2020-12-11 2023-03-10 浪潮电子信息产业股份有限公司 一种服务器开机过程中bios与bmc的通信方法、装置及设备
US20230198775A1 (en) * 2021-12-17 2023-06-22 Micron Technology, Inc. Memory device with secure boot updates and self-recovery
US11687475B1 (en) * 2021-12-22 2023-06-27 Himax Technologies Limited Large touch display integrated circuit and operation method thereof
CN114428963B (zh) * 2022-04-06 2022-07-08 浪潮(山东)计算机科技有限公司 一种服务器启动方法、装置、设备及存储介质
CN115640057A (zh) * 2022-12-10 2023-01-24 深圳市美通视讯科技有限公司 一种行车记录仪的程序保护方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001075812A (ja) * 1999-06-18 2001-03-23 Fiinikkusu Technologies Ltd コンピュータプリ−ブート作動の際にアプリケーションを実行する方法と装置
JP2011158995A (ja) * 2010-01-29 2011-08-18 Nec Corp コンピュータ装置及びそのbiosアップデート方法
JP2011253408A (ja) * 2010-06-03 2011-12-15 Nec Corp サーバシステム及びそのbios復旧方法
JP2012525628A (ja) * 2009-04-29 2012-10-22 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. Biosイメージマネージャ

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100248757B1 (ko) * 1997-12-20 2000-03-15 윤종용 손상된 롬 바이오스 복구 방법
TWI227858B (en) * 2003-04-29 2005-02-11 Via Tech Inc Method for updating BIOS
US7836293B1 (en) * 2007-05-07 2010-11-16 Force 10 Networks, Inc Accelerated deserialized boot implementation for a multiprocessor system
KR100957095B1 (ko) * 2007-12-13 2010-05-13 현대자동차주식회사 플래시 메모리를 복구하는 임베디드 시스템 및 그 방법
US8103909B2 (en) * 2008-09-15 2012-01-24 Juniper Networks, Inc. Automatic hardware-based recovery of a compromised computer
US20100228960A1 (en) * 2009-03-06 2010-09-09 Shih-Yuan Huang Virtual memory over baseboard management controller
US8590040B2 (en) * 2010-12-22 2013-11-19 Intel Corporation Runtime platform firmware verification
CN103488498B (zh) * 2013-09-03 2017-02-22 华为技术有限公司 一种计算机启动方法及计算机
US9846617B2 (en) * 2015-05-07 2017-12-19 Dell Products, Lp System and method for self-healing basic input/output system boot image and secure recovery
US9742568B2 (en) * 2015-09-23 2017-08-22 Dell Products, L.P. Trusted support processor authentication of host BIOS/UEFI
US10055296B2 (en) * 2015-10-30 2018-08-21 Quanta Computer Inc. System and method for selective BIOS restoration
US10133637B2 (en) * 2016-08-04 2018-11-20 Dell Products L.P. Systems and methods for secure recovery of host system code
US10402273B2 (en) * 2016-12-14 2019-09-03 Microsoft Technology Licensing, Llc IoT device update failure recovery
CN106776399A (zh) * 2016-12-30 2017-05-31 郑州云海信息技术有限公司 基于基板管理控制器的bios闪存数据读写系统及方法
CN106897070A (zh) * 2017-02-28 2017-06-27 郑州云海信息技术有限公司 一种基于bmc实现的bios版本升级方法及装置
US10691448B2 (en) * 2018-08-18 2020-06-23 Dell Products, L.P. Method and apparatus to execute BIOS firmware before committing to flash memory

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001075812A (ja) * 1999-06-18 2001-03-23 Fiinikkusu Technologies Ltd コンピュータプリ−ブート作動の際にアプリケーションを実行する方法と装置
JP2012525628A (ja) * 2009-04-29 2012-10-22 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. Biosイメージマネージャ
JP2011158995A (ja) * 2010-01-29 2011-08-18 Nec Corp コンピュータ装置及びそのbiosアップデート方法
JP2011253408A (ja) * 2010-06-03 2011-12-15 Nec Corp サーバシステム及びそのbios復旧方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ORACLE(R) CLI TOOLS FOR ORACLE SOLARIS 11.3 ユーザーズガイド, JPN6020040041, May 2016 (2016-05-01), pages 31 - 34, ISSN: 0004369876 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7500400B2 (ja) 2020-11-18 2024-06-17 キヤノン株式会社 情報処理装置、情報処理装置の制御方法及びプログラム

Also Published As

Publication number Publication date
EP3690653A1 (en) 2020-08-05
TW202030602A (zh) 2020-08-16
US20200250313A1 (en) 2020-08-06
CN111506454A (zh) 2020-08-07

Similar Documents

Publication Publication Date Title
JP2020126576A (ja) Biosの復旧と更新の方法およびシステム
US7558966B2 (en) Notifying remote administrator of platform integrity determination
CN103119554B (zh) 提供平台无关的存储器逻辑
TWI530790B (zh) 系統啓動碼恢復方法、運算系統、及供於系統中使用之控制器
TWI436229B (zh) 用以提供安全開機架構之系統與方法
TWI522838B (zh) 組配系統之技術
US20080184025A1 (en) Booting to a recovery/maintenance environment
US8041936B2 (en) Persisting value relevant to debugging of computer system during reset of computer system
CN111666111B (zh) 多节点储存系统及其固件的更新方法
TW201011531A (en) Computer system and related method of logging BIOS update operation
TW200847021A (en) Automatic backup, restore and update BIOS computer system
CN110069361B (zh) 用于tpm故障切换的方法和装置
CN111694760B (zh) 服务器系统、快闪存储器模块及更新固件映像文件的方法
KR20060005158A (ko) 시스템 응급 복구 장치 및 방법
US8375198B2 (en) Boot system and method having a BIOS that reads an operating system from first storage device via an input/output chip based on detecting a temperature of a second storage device
CN110187922B (zh) 设置并验证bios参数的方法、装置、设备及存储介质
CN105786545B (zh) 基于异构混合内存的断点恢复方法和系统
TW200809489A (en) BIOS damage detection and repair method and the motherboard
TW201716999A (zh) 開機檢查方法及電腦系統
CN106909382B (zh) 输出不同类型系统启动信息的方法及装置
TWI303382B (en) System and method for updating bios
CN116662050A (zh) 一种错误注入支持功能验证方法、装置、终端及介质
JP5992029B2 (ja) 基本入出力システムプログラムコードの書き込み回路及び書き込み方法
CN103677875A (zh) 一种电子设备启动的方法、权限控制方法和电子设备
WO2016000354A1 (zh) 一种实现单板配置的方法及装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190809

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201027

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210114

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20210622