特許第6372335号(P6372335)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電気株式会社の特許一覧

<>
  • 特許6372335-BIOS更新装置、方法及びプログラム 図000002
  • 特許6372335-BIOS更新装置、方法及びプログラム 図000003
  • 特許6372335-BIOS更新装置、方法及びプログラム 図000004
  • 特許6372335-BIOS更新装置、方法及びプログラム 図000005
  • 特許6372335-BIOS更新装置、方法及びプログラム 図000006
  • 特許6372335-BIOS更新装置、方法及びプログラム 図000007
  • 特許6372335-BIOS更新装置、方法及びプログラム 図000008
  • 特許6372335-BIOS更新装置、方法及びプログラム 図000009
  • 特許6372335-BIOS更新装置、方法及びプログラム 図000010
  • 特許6372335-BIOS更新装置、方法及びプログラム 図000011
  • 特許6372335-BIOS更新装置、方法及びプログラム 図000012
  • 特許6372335-BIOS更新装置、方法及びプログラム 図000013
  • 特許6372335-BIOS更新装置、方法及びプログラム 図000014
  • 特許6372335-BIOS更新装置、方法及びプログラム 図000015
  • 特許6372335-BIOS更新装置、方法及びプログラム 図000016
  • 特許6372335-BIOS更新装置、方法及びプログラム 図000017
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6372335
(24)【登録日】2018年7月27日
(45)【発行日】2018年8月15日
(54)【発明の名称】BIOS更新装置、方法及びプログラム
(51)【国際特許分類】
   G06F 8/61 20180101AFI20180806BHJP
【FI】
   G06F8/61
【請求項の数】10
【全頁数】20
(21)【出願番号】特願2014-250834(P2014-250834)
(22)【出願日】2014年12月11日
(65)【公開番号】特開2016-114974(P2016-114974A)
(43)【公開日】2016年6月23日
【審査請求日】2017年11月15日
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100109313
【弁理士】
【氏名又は名称】机 昌彦
(74)【代理人】
【識別番号】100124154
【弁理士】
【氏名又は名称】下坂 直樹
(72)【発明者】
【氏名】湯原 拓朗
【審査官】 塚田 肇
(56)【参考文献】
【文献】 特開2014−115928(JP,A)
【文献】 特開平11−327914(JP,A)
【文献】 特開2013−140536(JP,A)
【文献】 特開2001−356913(JP,A)
【文献】 米国特許出願公開第2014/0208089(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 8/61
(57)【特許請求の範囲】
【請求項1】
BIOS(Basic Input/Output System)設定リストが格納されているデータベースから取得したBIOS設定リストと予め格納されたBIOS設定情報とに差分がある場合、前記BIOS設定情報を前記取得したBIOS設定リストの情報に変更する変更手段と、
前記取得したBIOS設定リストと前記予め格納されたBIOS設定情報とに差分がない場合、OS(Operating System)のインストールを実行するOSインストール手段と、
前記OSインストール実行手段が、OSのインストールに失敗した場合、ウォッチドッグタイマのタイムアウトに基づいて、再起動を指示する制御手段と、
を備えるBIOS更新装置。
【請求項2】
OS情報を選択するOS選択手段と、
選択された前記OS情報を格納する第1記憶部と、第2記憶部とを更に備え、
前記変更手段は、
前記OS情報に一致するBIOS設定リストが前記データベースに存在する場合、前記OS情報と予め前記第2記憶部に格納された装置を識別するための装置情報とに基づいて、前記データベースからBIOS設定リストを取得し、前記OS情報に一致するBIOS設定リストが存在しない場合、前記装置情報に基づき、対象外OSのBIOS設定リストを取得すること
を特徴とする請求項1に記載の自動BIOS更新装置。
【請求項3】
前記データベースが格納するBIOS設定リストは、
情報処理装置とOSの組み合わせにより設定されたBIOS項目の管理情報となるBIOS設定データが、インデックス毎に関連づけられていること
を特徴とする請求項2に記載のBIOS更新装置。
【請求項4】
前記OSのインストールが実行された際にインクリメントするインデックスカウンタをさらに備え、
前記変更手段は、前記インデックスカウンタと、前記取得したBIOS設定リストのインデックスの最大値を比較し、前記インデックスカウンタが前記取得したBIOS設定リストのインデックスの最大値以下である場合、インデックスカウンタに一致するインデックスのBIOS設定リストを取得し、前記取得したBIOS設定リストと、前記予め格納されたBIOS設定情報に差分があるかを判定し、前記インデックスカウンタが前記取得したBIOS設定リストのインデックスの最大値より大きい場合、異常値を前記制御手段に出力する
ことを特徴とする請求項3に記載のBIOS更新装置。
【請求項5】
前記予め格納されたBIOS設定情報は、
第1のBIOS設定情報として前記第1記憶部に格納され、さらにBIOS制御のための第2のBIOS設定情報として前記第2記憶部に格納される
ことを特徴とする請求項4に記載のBIOS更新装置。
【請求項6】
前記制御手段は、前記異常値を受信した場合、取得したBIOS設定リストの全インデックスのインストールを試みたことを通知する
ことを特徴とする請求項5に記載のBIOS更新装置。
【請求項7】
前記制御手段は、
前記OSインストール実行手段がOSのインストールに成功した場合、インストール状態情報を前記第1記憶部に設定し、前記インデックスカウンタを初期化し、且つ前記ウォッチドッグタイマを初期化する
ことを特徴とする請求項6に記載のBIOS更新装置。
【請求項8】
前記変更手段は、
前記インストール状態が設定されておらず、且つ前記第2のBIOS設定情報と、前記第1のBIOS設定情報とに差分がある場合、前記第2のBIOS設定情報を前記第1のBIOS設定情報に変更し、
前記インストール状態が設定されている場合、前記インストール状態情報を初期化する
ことを特徴とする請求項7に記載のBIOS更新装置。
【請求項9】
BIOS設定リストが格納されているデータベースからBIOS設定リストを取得し、
前記取得したBIOS設定リストと予め格納されたBIOS設定情報とに差分がある場合、前記BIOS設定情報を前記取得したBIOS設定リストの情報に変更し、
前記取得したBIOS設定リストと前記予め格納されたBIOS設定情報とに差分がない場合、OSのインストールを実行し、
前記OSのインストールに失敗した場合、ウォッチドッグタイマのタイムアウトに基づき、情報処理装置に再起動を指示するBIOS更新方法。
【請求項10】
BIOS設定リストが格納されているデータベースからBIOS設定リストを取得し、
前記取得したBIOS設定リストと予め格納されたBIOS設定情報とに差分がある場合、前記BIOS設定情報を前記取得したBIOS設定リストの情報に変更し、
前記取得したBIOS設定リストと前記予め格納されたBIOS設定情報とに差分がない場合、OSのインストールを実行し、
前記OSのインストールに失敗した場合、ウォッチドッグタイマのタイムアウトに基づき、情報処理装置に再起動を指示する
ことをコンピュータに実行させるBIOS更新プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、基本入力システムを設定するコンピュータ装置に関する。
【背景技術】
【0002】
コンピュータ装置用のBIOS(Basic Input/Output System)の設定項目の中には、OS(Operating System)毎に設定が異なる項目が存在する。そのような項目の一例として、プロセッサの割り込みコントローラの拡張モードであるx2APIC(The extension of the xAPIC(The extension of the Advanced programmable interrupt controller))機能や、Legacy/UEFI(Unified Extensible Firmware Interface)のBootモードが挙げられる。
【0003】
BIOSにおける各種設定は、例えば、BIOSセットアップを用いて容易に変更できることが知られている。サーバ装置の導入時のOSのインストール時に、ユーザはプラットフォームやOS仕様ごとにBIOSセットアップ等により個別設定を必要とする場合がある。
【0004】
特許文献1には、BIOSセットアップにおいて、複数のOSを切り替えて運用する場合、個々のOS固有のハードウェア環境をOS毎に設定して記録することで、その都度BIOSセットアップを行わずにすむBIOSセットアップシステムが開示されている。
【0005】
また、特許文献2においては、BIOSイメージを現在のもの、以前のもの、破損しているといった、それらの状態に基づいて分類し、BIOSイメージを管理するマシン及び方法が開示されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開平11−143691号公報
【特許文献2】特許第5367159号
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、上述した先行技術では、BIOS設定が適切でないことにより、OSインストールに失敗し、システムが停止してしまう場合に、再度手動でBIOS設定を見直し、OSインストールを試みる必要がある。
【0008】
そこで、本発明の目的は、BIOS設定が適切でないことにより、OSインストールに失敗し、システムが停止してしまう場合でも、自動で停止状態から復帰し、BIOS設定を変更し、OSインストールを実行可能にするBIOS更新装置、方法及びプログラムを提供することである。
【課題を解決するための手段】
【0009】
BIOS(Basic Input/Output System)設定リストが格納されているデータベースから取得したBIOS設定リストと、予め格納されたBIOS設定情報とに差分がある場合、前記BIOS設定情報を前記取得したBIOS設定リストの情報に変更する変更手段と、前記取得したBIOS設定リストと前記予め格納されたBIOS設定情報とに差分がない場合、OS(Operating System)のインストールを実行するOSインストール手段と、前記OSインストール実行手段が、OSのインストールに失敗した場合、ウォッチドッグタイマのタイムアウトに基づいて、再起動を指示する制御手段とを備える。
【発明の効果】
【0010】
本発明によれば、BIOS設定が適切でないことにより、OSインストールに失敗し、システムが停止してしまう場合でも、自動で停止状態から復帰し、BIOS設定を変更し、OSインストールを実行することができる。
【図面の簡単な説明】
【0011】
図1】本発明の第1実施形態に係るBIOS更新装置1の構成を示すブロック図である。
図2】本発明の第1実施形態に係るBIOS更新装置1が行うBIOS設定情報変更処理の動作を示すフローチャートである。
図3】本発明の第1実施形態に係るBIOS更新装置1が行うBIOS更新時の処理Aを表すフローチャートである。
図4】本発明の第1−3実施形態に係るBIOS設定リストデータベース21を概念的に例示する図である。
図5】本発明の第1実施形態に係るBIOS更新装置が行うOS情報保存処理を表すフローチャートである。
図6】本発明の第1実施形態に係るBIOS更新装置1が行うデータベースアクセス処理の動作を示すフローチャートである。
図7】本発明の第1実施形態に係るBIOS更新装置1の処理Bを示すフローチャートである。
図8】本発明の第2実施形態に係るBIOS更新装置10の構成を示すブロック図である。
図9】本発明の第2実施形態に係るBIOS更新装置10が行うBIOS設定情報変更処理の動作を示すフローチャートである。
図10】本発明の第2実施形態の係るBIOS更新装置10が行う処理Cを示すフローチャートである。
図11】本発明の第2実施形態に係るBIOS更新装置10が行うOS情報保存処理を示すフローチャートである。
図12】本発明の第2実施形態に係るBIOS更新装置10が行うBIOS設定リスト取得処理の動作を示すフローチャートである。
図13】本発明の第2実施形態に係るBIOS更新装置の処理Dを示すフローチャートである。
図14】本発明の第3実施形態に係るBIOS更新装置20の構成を示すブロック図である。
図15】本発明の第3実施形態に係るBIOS更新装置20が行うBIOS設定情報更新処理を示すフローチャートである。
図16】本発明の第3実施形態に係るBIOS更新装置20の処理Eを示すフローチャートである。
【発明を実施するための形態】
【0012】
以下、本発明の実施形態について図面を参照して詳細に説明する。
【0013】
<第1実施形態>
図1は、本発明の第1実施形態におけるBIOS更新装置1の構成を示すブロック図である。図1においてBIOS更新装置1は、サーバ装置2と、情報処理装置3によって構成される。サーバ装置2と情報処理装置3は、例えば、有線または無線によって接続される。サーバ装置2は、BIOS設定リストデータベース21と、サーバ制御部22とを含む。
【0014】
BIOS設定リストデータベース21は、情報処理装置毎、OS毎のBIOS設定項目の管理情報となるBIOS設定リスト211を含む。また、BIOS設定リストデータベース21は、適宜更新することで、BIOS設定リスト211を最新化することが可能である。サーバ制御部22はサーバ装置2の動作全体を制御する。
【0015】
情報処理装置3は、BMC(Baseboard Management Controller)4と、BIOS5と、OS選択部6と、管理対象OS情報記憶部7を含む。BMC4は、BIOS5を管理する。さらに、BMC4は、BMC制御部41と、BMC記憶部42と、ウォッチドッグタイマ(以下WDTと呼ぶ)43を含む。また、WDT43は、BMC制御部41に含まれる構成でもよい。なお、WDTにおける動作自体は、一般的な技術を使用することが可能なので、本実施形態における詳細な説明は省略する(以下、各実施形態においても同様)。
【0016】
BMC制御部41は、BMC記憶部42及びWDT43を制御するとともに、BMC4の動作全体を制御する。BMC記憶部42は、ユーザによって選択されたOSを示すOS情報421と、バックアップリストア用の第1のBIOS設定情報422と、インデックスカウンタ423と、インストールフラグ424とを含む。OS情報421は、OSのソフトウェア自体ではなく、OSを情報処理装置が判別可能な情報であればよい。
【0017】
インデックスカウンタ423は、BIOS設定リストデータベース21からBIOS設定リスト211を取得する度にインクリメントする。インデックスカウンタ423及びインストールフラグ424は、初期値として0が設定されている。そして、OSインストールが成功した場合、BMC制御部41によって、1が設定され、OSインストールが失敗した場合、0が設定される。WDT43は、第1のBIOS設定情報422に含まれるWDTタイムアウト値に基づき、タイマーをスタートする。
【0018】
BIOS5は、BMC4と連動して、BIOSの設定情報を格納する。さらに、BIOS5は、BIOS制御部51と、BIOS記憶部52を含む。BIOS制御部51は、BIOS5の動作全体を制御する。BIOS記憶部52は、情報処理装置を識別するための装置情報521と、情報処理装置3に対応するBIOS制御のための第2のBIOS設定情報522を含む。
【0019】
OS選択部6は、ユーザの操作に基づいて、管理対象OS情報記憶部7から選択されたOS情報をBMC制御部41へ送信する。管理対象OS情報記憶部7は、情報処理装置3に対応しているOSの情報を記憶する。
【0020】
以下、第1実施形態に係るBIOS更新装置1の動作について具体的に説明する。
【0021】
図2は、本発明の第1実施形態に係るBIOS更新装置1が行う処理の動作を示すフローチャートである。
【0022】
まず、BIOS制御部51によって、情報処理装置3が起動すると(ステップS301)、BIOS制御部51は、POST(Power On Self Test)処理を実行する。POST処理動作自体は、一般的な技術を採用することができるので、ここでの動作説明は省略する。また、BMC制御部41は、BIOS制御部51の指示に基づき、インストールフラグ424がセットされているかどうか判定する(ステップS302)。インストールフラグ424がセットされている場合(1が設定されている場合)、BMC制御部41は、インストールフラグ424をクリア(0に設定)し(ステップS303)、BIOS制御部51は、処理を終了する。
【0023】
一方、インストールフラグ424がセットされていない場合(0が設定されている場合)、BIOS制御部51は、第2のBIOS設定情報522と、第1のBIOS設定情報422に差分があるかどうかを判定する(ステップS304)。第2のBIOS設定情報522と、第1のBIOS設定情報422に差分がない場合、処理Aへ進む。なお、処理Aの詳細な説明は後述する。
【0024】
一方で、第2のBIOS設定情報522と第1のBIOS設定情報422に差分がある場合、BIOS制御部51は、第2のBIOS設定情報522を、第1のBIOS設定情報422に変更し(ステップS305)、処理Aに進む。
【0025】
これにより、例えば、BIOS更新装置1は、自装置を再起動した際に、インストールフラグ424の設定を確認するだけで、BIOS設定情報が変更されたことが判断できる。
【0026】
また、バックアップリストア用の第1のBIOS設定情報422と、BIOS5に格納されるBIOS制御のための第2のBIOS設定情報522のずれが生じることを防ぐことができる。
【0027】
図3は、上記処理Aの動作を示すフローチャートである。
【0028】
BMC制御部41は、第1のBIOS設定情報422に含まれるWDTタイムアウト値に基づいて、WDT43をスタートさせる(ステップS401)。ここで、BMC制御部41は、ユーザによるOSの選択を待つ。例えば、管理対象OS情報記憶部7に格納されている管理対象OS情報の一覧が、ユーザによって選択可能に表示装置(図示しない)に表示されてもよい。または、一定時間ユーザによる選択がされないと、BMC制御部41は、既定のOSを自動的に選択してもよい。ただし、本実施形態を例に説明する本発明は、これらに限定されない(以下の実施形態についても同様)。
【0029】
ユーザがOSを選択すると、OS選択部6は、管理対象OS情報記憶部7から選択されたOSに関する情報を、BMC制御部41に出力する(ステップS402)。そして、BMC制御部41はOS情報保存処理を行う(ステップS403)。なお、OS情報保存処理の詳細は後述する。さらに、BMC制御部41は、サーバ装置2のBIOS設定リストデータベース21に対し、アクセス処理(データベースアクセス処理)を行う(ステップS404)。なお、データベースアクセス処理の詳細は、後述する。
【0030】
さらに、BMC制御部41は、データベースアクセス処理によって受信されるBIOS設定リストに含まれる値が異常値かどうか判定する(ステップS405)。受信した値が異常値でない場合、BMC制御部41は、取得したBIOS設定リスト(例えば、後述するBIOS設定リスト211)に含まれる任意の1つのBIOS設定リストと、予め格納されていた第1のBIOS設定情報422に差分があるかどうか判定する(ステップS406)。任意の1つのBIOS設定リストと予め格納されていた第1のBIOS設定情報422に差分がない場合、処理Bに進む。なお、処理Bの詳細な説明は後述する。
【0031】
一方、任意の1つのBIOS設定リストと予め格納されていた第1のBIOS設定情報422に差分がある場合、BMC制御部41は、第1のBIOS設定情報422を、取得したBIOS設定リスト21に含まれる任意の1つのBIOS設定リストに変更する(ステップS407)。そして、BMC制御部41は、WDT43をクリアする(ステップS408)。
【0032】
受信した値が異常値である場合、BMC制御部41は、BIOS設定リスト211の全インデックスをインストールした結果を、図示しない表示装置に表示させる(ステップS409)。さらに、BMC制御部41は、情報処理装置3に再起動を指示する(ステップS410)。
【0033】
以上説明した動作によって、BMC制御部41は、OS情報421と装置情報521に基づき、BIOS設定リストデータベース21から、BIOS設定リスト211を取得する。その結果、情報処理装置のバックアップリストア用のBIOS設定情報が、適切なBIOS設定情報に自動で更新される。
【0034】
図4は、本発明の第1実施形態に係るBIOS設定リストデータベース21及び、第2実施形態に係るBIOS設定リスト記憶部13に格納されているBIOS設定リスト211、BIOS設定リスト212を概念的に例示する図である。
【0035】
より具体的に、BIOS設定リストデータベース21は、図4に示す列にOSの種類を含み、行に装置(情報処理装置)の種類を含む。また、BIOS設定リストデータベース21は、対象外OS(OSz)もリストに含む。ここでいう対象外OSとは、情報処理装置3のサポート対象外のOSであることを表す。そして、各装置に対して、OS毎にBIOS設定リストが格納されている。装置は、装置1、装置2、…、装置m(m:自然数)といったように当業者によって任意に格納される。OSは、OS_a、OS_b、・・・、OS_n(n:自然数)といったように、当業者によって任意に格納される。例えば装置mに対して、OSがOS_nである場合のリストは、BIOS設定mnになる。BIOS設定mnの例に示すように、OSの種類と装置の種類ごとにBIOS設定リスト211、212、…が格納されている。また、BIOS設定リスト211の中には、さらにインデックス(Index)ごとに、BIOSの設定項目(Menu)や、その項目の設定値(Parameter)、WDTのタイムアウト値がそれぞれ格納されている(211_1、211_2、…、211_m(m:自然数))。なお、BIOS設定リスト211のインデックスの順番、及び格納されるBIOSの設定項目の種類、BIOSの設定項目の設定値については、当業者が適宜決めるものとする。ただし、本実施形態を例に説明する本発明は、これらに限定されない(以下の実施形態についても同様)。
【0036】
図5は、上記OS情報保存処理を表すフローチャートである。
【0037】
始めに、BMC制御部41は、OS情報421がBMC記憶部42に存在するかどうか判定する(ステップS501)。OS情報421が存在しない場合、ステップS505へ進む。
【0038】
一方で、OS情報421がBMC記憶部42に存在する場合、BMC制御部41は、選択されたOS情報とOS情報421が同じかどうか判定する(ステップS502)。選択されたOS情報とOS情報421が同じである場合、選択されたOS情報は既にBMC記憶部42に保存されていることを表示装置に表示させる(ステップS503)。
【0039】
一方で、選択されたOS情報とOS情報421が同じでない場合、BMC制御部41は、OS情報421を選択されたOS情報によって上書きするかどうか判定する(ステップS504)。例えば、ユーザがOS情報421を選択されたOS情報で上書きするかどうか選択可能に表示装置(図示しない)に表示されてもよい。または、一定時間ユーザによる選択がされないと、BMC制御部41は、上書きするかどうかを自動的に選択してもよい。ただし、本実施形態を例に説明する本発明は、これらに限定されない(以下の実施形態についても同様)。OS情報421がBMC制御部41によって上書きされない場合、ステップS404に進む。
【0040】
一方で、OS情報421がBMC制御部41によって上書きされる場合、BMC制御部41は、選択されたOS情報をOS情報421として保存し(ステップS505)、
インデックスカウンタ423をクリアし(ステップS506)、ステップS404へ進む。
【0041】
これにより、BMC制御部41は、例えば、インデックスカウンタ423をクリアすることで、選択されたOS情報が保存されたOS情報421と異なり、参照するBIOS設定リストが変更されたとしても、適切なIndexを使用し、任意のBIOS設定リストを参照することができる。
【0042】
図6は、ステップS404のデータベースアクセス処理を示すフローチャートである。
【0043】
始めに、BMC制御部41は、OS情報421に一致するOSがBIOS設定リストデータベース21に存在するかどうか判定する(ステップS601)。OS情報421に一致するOSがBIOS設定リストデータベース21に存在する場合、BMC制御部41は、OS情報421と装置情報521に一致するBIOS設定リストを参照する(ステップS602)。
【0044】
一方、OS情報421に一致するOSがBIOS設定リストデータベース21に存在しない場合、BMC制御部41は、装置情報521に一致する対象外OSのBIOS設定リスト(例えば、図3にBIOS設定リスト212)を参照する(ステップS603)。
【0045】
また、BMC制御部41は、インデックスカウンタ423の値がステップS601で一致したBIOS設定リスト(例えば、BIOS設定リスト211)のIndexの最大値以下かどうか判定する(ステップS604)。インデックスカウンタ423の値のほうがBIOS設定リスト211のIndexの最大値より大きい場合、BMC制御部41は、異常値を出力し、ステップS405へ進む。
【0046】
一方で、インデックスカウンタ423の値がBIOS設定リスト211のIndexの最大値以下である場合、BMC制御部41は、インデックスカウンタ423の値に一致するIndexのBIOS設定リスト211の任意のBIOS設定リスト(例えば、BIOS設定リスト211_1)を取得する(ステップS605)。次に、BMC制御部41は、正常値を出力し、ステップS405へ進む。
【0047】
以上説明した動作によって、BMC制御部41は、OS情報421と装置情報521に基づき、BIOS設定リストデータベース21から、適切なBIOS設定リストを取得することができる。また、BIOS設定リストデータベース21は、対象外OSのBIOS設定リストを格納しておくことで、情報処理装置3がサポートしていないOSのBIOS設定を行うことができる。
【0048】
図7は、上述した処理Bの動作を示すフローチャートである。
【0049】
BMC制御部41は、OS情報421に基づき、OSのインストールを実行する(ステップS701)。次に、BMC制御部41は、インデックスカウンタ423をインクリメントする(ステップS702)。そして、BMC制御部41は、OSインストールが成功したかどうか判定する(ステップS703)。OSのインストールが失敗した場合、WDT43がタイムアウトし、それにより、BMC制御部41が、情報処理装置3の再起動を指示し、ステップS301へ進む(ステップS704)。
【0050】
一方で、OSのインストールが成功した場合、BMC制御部41は、インストールフラグ424をセットする(ステップS705)。次に、BMC制御部41は、インデックスカウンタ423をクリアする(ステップS706)。そして、BMC制御部41は、WDT43をクリアする(ステップS707)。
【0051】
これにより、BMC制御部41は、例えば、BIOS設定が適切でないことにより、OSインストールに失敗し、システムが停止してしまう場合でも自動で停止状態から復帰し、BIOS設定を変更し、OSインストールを実行することができる。
【0052】
その理由は、BMC制御部41が、予めWDTのタイムアウト値を設定することで、BIOS設定が適切でないことにより、OSインストールに失敗し、システムが停止してしまう場合でも、対応できるからである。すなわち、WDT43タイムアウト値に達した際に、BMC制御部41が情報処理装置3に再起動を指示することで、自動でシステムの再起動を行い、システムを復帰させることができるためである。
【0053】
<第2実施形態>
次に本発明の第2実施形態に係るBIOS更新装置10について、図8を用いて説明する。本実施形態は、第1実施形態とは異なり、1つの制御部によって動作が制御されている。また、BIOS設定リストがBIOS更新装置内部に格納されている。さらに、管理対象OS情報記憶部7がOS選択部6に含まれる構成となっている。そして、新たにOSインストール部が設定されている。なお、他の実施形態と同様な構成については、同一の符号をつけることにより、重複する説明は省略する(以下実施形態においても同様)。
【0054】
図8は、本実施形態に係るBIOS更新装置10の構成を示すブロック図である。BIOS更新装置10は、OS選択部6と、更新制御部12と、BIOS設定リスト記憶部13と、OSインストール部14と、第1記憶部15と、第2記憶部16と、計時部17とによって構成される。なお、第1実施形態と対比した場合、BIOS設定リスト記憶部13はBIOS設定リストデータベース21に対応し、第1記憶部15はBMC記憶部42に対応している。また、第2記憶部16はBIOS記憶部52に対応し、計時部17はWDT43に対応している。 OS選択部6は、管理対象OS情報記憶部7を有し、ユーザによって選択されたOS情報を管理対象OS情報記憶部7から選択し、更新制御部12へ送信する。
【0055】
更新制御部12は、ユーザによって選択されたOS情報をOS情報421として第1記憶部15に格納する。更新制御部12は、第1のBIOS設定情報422を第1記憶部15に格納する。更新制御部12は、インストール状態を表す状態情報153を第1記憶部15に格納する。更新制御部12は、インデックスカウンタ423を第1記憶部15に格納する。更新制御部12は、現在の情報処理装置10の装置情報を装置情報521として、第2記憶部16に格納する。また、更新制御部12は、現在のBIOS設定情報522を第2記憶部16に格納する。さらに、更新制御部12は、計時部17が任意の時間まで計時したとき、BIOS更新装置10を再起動させる。
【0056】
BIOS設定リスト情報記憶部13は、装置毎、OS毎のBIOS設定項目の管理情報となるBIOS設定リスト211を記憶する。
【0057】
OSインストール部14は、OSのインストールを行う。
【0058】
第1記憶部15は、上述したOS情報421と、第1のBIOS設定情報422と、状態情報153と、インデックスカウンタ423とを有する。状態情報153及びインデックスカウンタ423は、初期値として0が設定されている。そして、初期値として0が設定されている。そして、OSインストールが成功した場合、BMC制御部41によって、1が設定され、OSインストールが失敗した場合、0が設定される。
【0059】
第2記憶部16は、上述した装置情報521と、第2のBIOS設定情報522とを有する。
【0060】
また、第1のBIOS設定情報422と、第2のBIOS設定情報522とは、更新制御部12に含まれてもよい。
【0061】
計時部17は、更新制御部12からの指示に基づいて、第1のBIOS設定情報422に含まれるタイムアウト値に基づいて時間を計測する。例えば、WDTなどが採用されてもよい。
【0062】
以下、第2実施形態に係るBIOS更新装置10の動作について図8を用いて具体的に説明する。
【0063】
図9は、本発明の第2実施形態に係るBIOS更新装置10が行う処理示すフローチャートである。
【0064】
まず、更新制御部12は、BIOS更新装置10を起動させると(ステップS801)、更新制御部12は、POST処理を実行する。POST処理動作自体は、一般的な技術を採用することができるので、ここでの動作説明は省略する。また、更新制御部12は、状態情報153に1が設定されているかどうか判定する(ステップS802)。状態情報153に1が設定されている場合、更新制御部12は、状態情報153を0に設定し(ステップS803)、処理は終了する。
【0065】
一方、状態情報153が1に設定されていない場合、更新制御部12は、第2のBIOS設定情報522と、第1のBIOS設定情報422に差分があるかどうかを判定する(ステップS804)。第2のBIOS設定情報522と、第1のBIOS設定情報422に差分がない場合、処理Cへ進む。なお、処理Cの詳細な説明は後述する。
【0066】
一方で、第2のBIOS設定情報522と第1のBIOS設定情報422に差分がある場合、更新制御部12は、第2のBIOS設定情報522を、第1のBIOS設定情報422に変更し(ステップS805)、処理Cに進む。
【0067】
これにより、例えば、更新制御部12は、自装置を再起動した際に、状態情報の設定を確認するだけで、BIOS設定情報が変更されたことが判断できる。
【0068】
また、更新制御部12は、第1記憶部15に格納されている第1のBIOS設定情報422と、第2記憶部16に格納されている第2のBIOS設定情報522とを比較する。比較の結果に差分が生じた際に、更新制御部12は、第2のBIOS設定情報522を第1のBIOS設定情報422に変更することで、バックアップリストア用のBIOS設定情報と、BIOS設定に使用されるBIOS設定情報のずれが生じることを防ぐことができる。
【0069】
図10は、上述した処理Cの動作を示すフローチャートである。
【0070】
更新制御部12は、第1のBIOS設定情報422に予め格納されている時間に基づいて、計時部17をスタートさせる(ステップS901)。ここで、更新制御部12は、ユーザによるOSの選択を待つ。ユーザがOSを選択すると、更新制御部12は、OS選択部6から管理対象OS情報記憶部7から選択されたOSに関する情報を受信する(ステップS902)。そして、更新制御部12は、OS情報保存処理を行う(ステップS903)。なお、このOS情報保存処理の詳細は後述する。さらに、更新制御部12は、BIOS設定リスト取得処理を行う(ステップS904)。なお、このBIOS設定リスト取得処理の詳細は、後述する。
【0071】
さらに、更新制御部12は、BIOS設定情報取得処理によって受信される値が異常値かどうか判定する(ステップS905)。受信した値が異常値でない場合、更新制御部12は、取得したBIOS設定リスト(例えば、BIOS設定リスト211)に含まれる任意の1つのBIOS設定リストと、予め格納されていた第1のBIOS設定情報422に差分があるかどうか判定する(ステップS906)。任意の1つのBIOS設定リストと予め格納されていた第1のBIOS設定情報422に差分がない場合、処理Dに進む。なお、処理Dの詳細な説明は後述する。
【0072】
一方、任意の1つのBIOS設定リストと予め格納されていた第1のBIOS設定情報422に差分がある場合、更新制御部12は、第1のBIOS設定情報422を、取得したBIOS設定リスト211に含まれる任意の1つのBIOS設定リストに変更する(ステップS907)。そして、更新制御部12は、計時部17を初期化する(ステップS908)。
【0073】
受信した値が異常値である場合、更新制御部12は、取得したBIOS設定リスト211の全Indexをインストールした結果を、図示しない表示装置に表示させる(ステップS909)。さらに、更新制御部12は、BIOS更新装置10に再起動を指示し(ステップS910)、ステップS801へ進む。
【0074】
以上説明した動作によって、更新制御部12は、OS情報421と装置情報521に基づき、BIOS設定リスト記憶部13から、適切なBIOS設定リストを取得することで、自動で情報処理装置のバックアップリストア用のBIOS設定情報が、適切なBIOS設定情報に更新することができる。
【0075】
図11は、上述したOS情報保存処理を表すフローチャートである。
【0076】
始めに、更新制御部12は、OS情報421が第1記憶部15に存在するかどうか判定する(ステップS1001)。OS情報421が第1記憶部15に存在しない場合、ステップS1005へ進む。
【0077】
一方で、OS情報421が第1記憶部15に存在する場合、更新制御部12は、選択されたOS情報とOS情報421とが同じかどうか判定する(ステップS1002)。選択されたOS情報とOS情報421とが同じである場合、選択されたOS情報とOS情報421が同じである場合、更新制御部12は、選択されたOS情報は既に第1記憶部15に保存されていることを表示装置に表示させる(ステップS1003)。
【0078】
一方で、選択されたOS情報とOS情報421が同じでない場合、更新制御部12は、OS情報421を選択されたOS情報で上書きするかどうか判定する(ステップS1004)。そして、OS情報421が更新制御部12によって上書きされない場合、ステップS904に進む。
【0079】
一方で、OS情報421が更新制御部12によって上書きされる場合、更新制御部12は、選択されたOS情報をOS情報421として保存し(ステップS1005)、
インデックスカウンタ423をクリアし(ステップS1006)、ステップS904へ進む。
【0080】
これにより、更新制御部12は、例えば、インデックスカウンタ423をクリアすることで、選択されたOS情報が保存されたOS情報421と異なり、参照するBIOSリストが変更されたとしても、適切なIndexを使用し、任意のBIOS設定リストを参照することができる。
【0081】
図12は、ステップS904のBIOS設定リスト取得処理を示すフローチャートである。
【0082】
始めに、更新制御部12は、OS情報421に一致するOSがBIOS設定リスト記憶部13に存在するかどうか判定する(ステップS1101)。OS情報421に一致するOSがBIOS設定リスト記憶部13に存在する場合、更新制御部12は、OS情報421と装置情報521に一致する任意のBIOS設定リスト(例えば、BIOS設定リスト211)を参照する(ステップS1102)。
【0083】
一方、OS情報421に一致するOSがBIOS設定リスト記憶部13に存在しない場合、更新制御部12は、装置情報521に一致する対象外OSの任意のBIOS設定リスト(例えば、BIOS設定リスト212)を参照する(ステップS1103)。
【0084】
また、更新制御部12は、インデックスカウンタ423の値がステップS1101で一致したBIOS設定リスト(例えば、BIOS設定リスト211)のIndexの最大値以下かどうか判定する(ステップS1104)。インデックスカウンタ423の値がBIOS設定リスト211のIndexの最大値より大きい場合、更新制御部12は、異常値を出力し、ステップS905へ進む。
【0085】
一方で、インデックスカウンタ423の値がBIOS設定リスト211のIndexの最大値以下である場合、更新制御部12は、インデックスカウンタ423の値に一致するIndexのBIOS設定リスト211の任意のBIOS設定リスト(例えば、BIOS設定リスト211_1)を取得する(ステップS1105)。次に、更新制御部12は、正常値を出力し、ステップS905へ進む。
【0086】
以上説明した動作によって、更新制御部12は、OS情報421と装置情報521に基づき、BIOS設定リスト記憶部13から、適切なBIOS設定リストを取得することができる。また、更新制御部12は、BIOS設定リスト記憶部13に対象外OSのBIOS設定リストを格納しておくことで、BIOS更新装置10がサポートしていないOSのBIOS設定情報の変更を行うことができる。
【0087】
図13は、上述した処理Dの動作を示すフローチャートである。
【0088】
更新制御部12は、OSのインストールを実行する(ステップS1201)。次に、更新制御部12は、インデックスカウンタ423をインクリメントする(ステップS1202)。そして、更新制御部12は、OSインストールが成功したかどうか判定する(ステップS1203)。OSのインストールが失敗だった場合、WDT43がタイムアウトし、それにより、BMC制御部41が、BIOS更新装置10の再起動を指示し(ステップS1204)、S801へ進む。
【0089】
一方で、OSのインストールが成功だった場合、更新制御部12は、状態情報153に1を設定し(ステップS1205)、次に、インデックスカウンタ423をクリアし(ステップS1206)、そして、更新制御部12は、計時部17を初期化する(ステップS1207)。
【0090】
以上説明した動作により、更新制御部12は、例えば、BIOS設定が適切でないことにより、OSインストールに失敗し、システムが停止してしまう場合でも自動で停止状態から復帰し、BIOS設定を変更し、OSインストールを実行することができる。
【0091】
その理由は、更新制御部12が予め計時部のタイムアウト値を設定し、計時部がタイムアウト値に達した際でも、更新制御部12がBIOS更新装置10に再起動を指示することで、自動でシステムの再起動を行い、システムを復帰させることができるためである。
【0092】
<第3実施形態>
次に本発明の第3実施形態に係るBIOS更新装置20について、図を用いて説明する。第3の実施形態は、第1実施形態及び第2実施形態の基本的な構成に対応する。
【0093】
図14は、本実施形態に係るBIOS更新装置20の構成を示すブロック図である。BIOS更新装置20は、制御部121と、変更部122と、OSインストール部14と、BIOS設定リストデータベース21(以降データベースとも称する)と、WDT43と、BIOS設定情報622とによって構成される。なお、制御部121と、変更部122とは、第2実施形態の更新制御部12に含まれる。また、第1実施形態のBMC制御部41と、BIOS制御部51とが有する機能は、この制御部121及び変更部122によって実現される。
【0094】
また、BIOS設定情報622は、第2のBIOS設定情報522に相当する。さらに、BIOS設定情報622は、第1の設定情報422であってもよい。
【0095】
BIOS設定リストデータベース21はBIOS設定リスト211を有する。
【0096】
変更部122は、BIOS設定リストが格納されているデータベースにアクセスして、BIOS設定リスト(例えばBIOS設定リスト211)を取得し、BIOS更新装置20が予め格納しているBIOS設定情報622と差分があるかどうか判定する。変更部122は、取得したBIOS設定リストとBIOS設定情報622に差分がある場合、BIOS設定情報622を、取得したBIOS設定リストの情報に変更する。
【0097】
また、制御部121は、取得したBIOS設定リストとBIOS設定情報622に差分がない場合、OSインストール部14にOSのインストールを指示する。
【0098】
さらに、制御部121は、OSのインストールに失敗した場合、WDT43のタイムアウトに基づいて、BIOS更新装置20を再起動させる。
【0099】
図15は、本発明の第3実施形態に係るBIOS更新装置20が行う処理示すフローチャートである。
【0100】
まず、制御部121は、BIOS更新装置20を起動させると(ステップS1301)、WDT43をスタートさせる(ステップS1302)。また変更部122は、BIOS設定リストデータベース21から、BIOS設定リスト211を取得する(ステップS1303)。
【0101】
さらに、変更部122は、取得したBIOS設定リスト211とBIOS設定情報622に差分があるかどうか判定(ステップS1304)し、取得したBIOS設定リスト211とBIOS設定情報622に差分がない場合、処理Eへ進む。なお、処理Eの詳細な説明は後述する。
【0102】
一方、取得したBIOS設定リスト211とBIOS設定情報622に差分がある場合、変更部122は、BIOS設定情報622をBIOS設定リスト211の情報に変更する(ステップS1305)。そして、制御部121は、WDT43を初期化し(ステップS1306)、さらにBIOS更新装置20に再起動を指示する(ステップS1307)。
【0103】
図16は、上述した処理Eを示すフローチャートである。
【0104】
OSインストール部14がOSのインストールを実行すると(ステップS1401)、制御部121は、OSのインストールが成功かどうか判定する(ステップS1402)。OSのインストールが成功の場合、制御部121は、WDT43を初期化し(ステップS1403)、処理を終了する。
【0105】
一方、OSのインストールが失敗の場合、WDT43のタイムアウトに基づき、制御部121は、BIOS更新装置20に再起動を指示する(S1404)。
【0106】
上記構成によって、BIOS設定が適切でないことにより、OSインストールに失敗し、BIOS更新装置20が停止してしまう場合でも、制御部121が、WDTのタイムアウトに基づき、BIOS更新装置20を再起動させる。これにより変更部122が、BIOS設定を変更し、OSインストール部14がOSのインストールを実行することができる。
【0107】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【0108】
1 BIOS更新装置
2 サーバ装置
3 情報処理装置
4 BMC
5 BIOS
6 OS選択部
7 管理対象OS情報記憶部
10 BIOS更新装置
12 更新制御部
13 BIOS設定リスト記憶部
14 OSインストール部
15 第1記憶部
16 第2記憶部
17 計時部
20 BIOS更新装置
21 BIOS設定リストデータベース
22 サーバ制御部
41 BMC制御部
42 BMC記憶部
43 WDT
51 BIOS制御部
52 BIOS記憶部
121 制御部
122 変更部
153 状態情報
211 BIOS設定リスト
212 BIOS設定リスト
421 OS情報
422 第1のBIOS設定情報
423 インデックスカウンタ
424 インストールフラグ
521 装置情報
522 第2のBIOS設定情報
622 BIOS設定情報
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16