JP5305473B2 - エラーコード出力装置及びエラーコード出力方法 - Google Patents

エラーコード出力装置及びエラーコード出力方法 Download PDF

Info

Publication number
JP5305473B2
JP5305473B2 JP2010263746A JP2010263746A JP5305473B2 JP 5305473 B2 JP5305473 B2 JP 5305473B2 JP 2010263746 A JP2010263746 A JP 2010263746A JP 2010263746 A JP2010263746 A JP 2010263746A JP 5305473 B2 JP5305473 B2 JP 5305473B2
Authority
JP
Japan
Prior art keywords
bios
error code
operating
computer
recovery
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.)
Expired - Fee Related
Application number
JP2010263746A
Other languages
English (en)
Other versions
JP2012113616A (ja
Inventor
剛 島田
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.)
NEC Platforms Ltd
Original Assignee
NEC Infrontia Corp
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 NEC Infrontia Corp filed Critical NEC Infrontia Corp
Priority to JP2010263746A priority Critical patent/JP5305473B2/ja
Publication of JP2012113616A publication Critical patent/JP2012113616A/ja
Application granted granted Critical
Publication of JP5305473B2 publication Critical patent/JP5305473B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、テストプログラムで発生したエラーコードを出力するエラーコード出力装置及びエラーコード出力方法に関し、特に、BIOS ROM(Basic Input Output System Read Only Memory)を多重化してPOST(Power On Self Test)不具合をリカバリする際に好適なエラーコード出力装置及び方法に関するものである。
従来のコンピュータ装置の主な構成を図3に示す。BIOS ROM904には装置のBIOSが記録されている。電源を投入すると、CPU(Central Processing Unit)901はBIOS ROM904からBIOSを読み込み、BIOSにより各種のデバイスの初期化が行われる。ハードウェア障害が発生するとPOSTで停止するが、従来は致命的なハードウェア障害の場合、起動する方法はない。なお、図3において、902は制御回路、903はRAM(Random Access Memory)、905は補助記憶装置を示す。
一方、BIOSプログラムの破壊対策としては、例えば、特許文献1に記載されているようにROMに2つのBIOSプログラムを用意し、一方のBIOSプログラムのブートブロックが壊れると、他方のBIOSプログラムを起動させてシステムの起動ができるようにしたものがある。
特開2004−038529号公報
従来は、一般的に図3のような構成でCPU901、制御回路902が接続されているが、この構成においてはBIOS ROM904が破壊された場合やその他ハードウェアに問題が発生した場合の復旧手段はない。
BIOS起動時にPOSTで起動不具合が発生した際の復旧手段としては、ウォッチ・ドッグ・タイマを使用し、システムリセットを出力する方法がある。しかし、BIOSが格納されているROM破壊やハードウェア不具合が発生していた場合に関しては復旧することはできない。
BIOSが格納されているROM破壊の対策としては、例えば、特許文献1等に記載されているようにBIOSを2つ実装する方法がある。しかし、2つのBIOS ROMには同一のBIOSプログラムが記録されているため、BIOS ROM破壊以外のハードウェア要因によりPOSTで停止している場合には復旧することはできない。
また、起動するBIOS ROMは自動的に変更できなかったり、起動不具合が発生した時にユーザによる操作が必要の場合がある。そのような場合には、BIOSでROM変更処理を行っているため、BIOSが全く動作しない場合にはROMの変更が出来ないこともある。POSTでの起動不具合で起動不能となった装置は回路規模が大きく、原因の特定が難航するため、ユーザはメモリを含んだ形でマザーボード交換を行う以外の方法はなかった。
本発明の目的は、BIOSを利用しての起動不良が発生し、BIOSに伴うPOSTで生ずるエラーコードを通常ならば出力できない場合であっても、そのエラーコードを出力することを可能とするエラーコード出力装置及び方法を提供することにある。
本発明に係るエラーコード出力装置は、稼働用BIOS(Basic Input Output System)を利用してのコンピュータの起動不良が所定回数以上連続して発生した後に、前記稼働用BIOSの実行に伴うテストプログラムで発生したエラーコードを出力するエラーコード出力装置であって、前記稼働用BIOSの実行に伴うテストプログラムで発生したエラーコードを記憶するエラーコード記憶手段と、前記エラーコード記憶手段に記憶されているエラーコードを出力するために必要な命令群しか含まないリカバリ用BIOSと、前記稼働用BIOSを利用してのコンピュータの起動不良が所定回数以上連続して発生した時に、前記稼働用BIOSに替えて前記リカバリ用BIOSを利用してコンピュータを起動させる切替手段と、を備え、前記稼働用BIOSを利用してのコンピュータの起動不良が所定回数以上連続して発生してから、前記リカバリ用BIOSを利用して起動されたコンピュータは、少なくとも前記エラーコード記憶手段に記憶されているエラーコードを出力することを特徴とする。
また、本発明に係るエラーコード出力方法は、稼働用BIOS(Basic Input Output System)を利用してのコンピュータの起動不良が所定回数以上連続して発生した後に、前記稼働用BIOSの実行に伴うテストプログラムで発生したエラーコードを出力するエラーコード出力方法であって、稼働用BIOSの実行に伴うテストプログラムで発生したエラーコードを記憶するエラーコード記憶ステップと、前記稼働用BIOSを利用してのコンピュータの起動不良が所定回数以上連続して発生した時に、前記稼働用BIOSに替えて、前記エラーコード記憶ステップで記憶したエラーコードを出力するために必要な命令群しか含まないリカバリ用BIOSを利用してコンピュータを起動させる切替ステップと、を備え、前記稼働用BIOSを利用してのコンピュータの起動不良が所定回数以上連続して発生してから、前記リカバリ用BIOSを利用してコンピュータが起動した後に、少なくとも前記エラーコード記憶ステップで記憶したエラーコードを出力することを特徴とする。
本発明によれば、BIOSを利用しての起動不良が発生し、BIOSに伴うPOSTで生ずるエラーコードを通常ならば出力できない場合であっても、そのエラーコードを出力することが可能であるので、通常ならばユーザが起動不良の原因がわからない場合であっても、ユーザが起動不良の原因を知ることができる。
本発明の一実施形態を示すブロック図である。 図1の動作を説明するフローチャートである。 従来例のコンピュータ装置を示すブロック図である。
以下、図面を参照して本発明を実施するための形態について詳細に説明する。まず、本発明に係るエラーコード出力装置(以下の実施形態では、本発明をBIOS ROM多重化によるPOST不具合リカバリシステムに適用した例を説明する)は、演算を行う演算装置(CPU)101、基本入出力プログラムであるBIOSを記録している稼働用ROM104、基本入出力プログラムのうちの画面表示に必要な部分のみ又は画面表示に必要な部分及び入力装置有効化に必要な部分のみからなるリカバリ用BIOSを記録しているリカバリ用ROM107、補助記憶装置105等を制御する制御回路(チップセット)102、BIOSの POST CODEをデコードするPOST CODEデコード回路109、デコードされたPOST CODEを保存する領域を有するRAM110とそれをデコードするデコード回路、稼働用BIOS ROM104又はリカバリ用BIOS ROM107を選択するBIOS ROMセレクタ回路106、稼働用BIOSの実行が正常に行われたか否かを判断するためのウォッチ・ドッグ・タイマ108等を有する。
本発明では、起動不良により連続的にウォッチ・ドッグ・タイマがタイムアウトした際に利用するBIOSを稼働用BIOSからリカバリ用BIOSに切り替える。ROMの選択はBIOS ROMが破壊した場合を考慮し、BIOSの処理で行うのではなくハードウェアで行う。リカバリ用BIOSではPOSTでのハードウェアチェックは最小限の初期化処理(画面表示を可能にするための処理又は画面表示を可能にして入力装置を有効化するための処理)のみを行う。リカバリ用BIOSのBIOSスプラッシュ画面では稼働用BIOS ROMで起動に失敗した際に最後に出力したPOST CODE(エラーコード)とそのエラーコードに対応するエラーメッセージを画面出力し、ユーザへハードウェア障害が発生している旨のアラーム通知を行う。ユーザーはこのエラーコード又はエラーコード及びエラーメッセージによりハードウェア不具合箇所の特定を行う。
本発明によるBIOS ROM多重化によるPOST不具合リカバリシステムは、BIOSを格納するROMやハードウェア問題でPOSTでの起動不具合が生じた時の自動リカバリを可能とすることを特徴とする。一般的にBIOSを格納したROMはチップセットと接続され、電源投入時にこのROMからBIOSプログラムを読み込み、BIOSによりPOSTでのハードウェアの初期化及びハードウェアチェック後にOS(Operating System)を起動する。本実施形態ではこのBIOSを格納するROMを多重化し、異なる内容(稼働用、リカバリ用)のBIOSプログラムを使用する。
BIOS ROMやマザーボードのハードウェアに何らかの問題が発生した場合にはOSブート処理まで進まず、BIOSのPOSTで停止して起動不具合が発生する。単発的なハードウェア障害の場合にはマザーボードのシステムにウォッチ・ドッグ・タイマ等のような機能を持たせて一定時間後にリセットを発行する処理を追加することで復旧が可能である。
しかし、この起動不具合の原因がBIOS ROM破壊の場合やハードウェアに致命的な不具合が発生している場合には、ウォッチ・ドッグ・タイマによる復旧に失敗し、リセットを繰り返し続けることとなる。
そこで、本実施形態では、異なるBIOSバイナリプログラムを記録した、稼働用BIOS ROMとリカバリ用BIOS ROMを実装する。また、稼働用BIOSが動作していた際の稼働用BIOSのエラーコードを取得するため、稼働用BIOSのPOST CODEを記録する回路とそれを記録するRAM領域を有する。
稼働用BIOS ROMには通常動作する際に使用される一般的なBIOSが格納されている。リカバリ用BIOS ROMには稼働用BIOS ROMからの起動に連続的に失敗した時に起動されるリカバリ用BIOSが格納されている。リカバリ用BIOSは、稼働用BIOSではOSを起動できない時に、エラーコードを出力することと、入力装置を有効化することと、OSを起動することを目的としており、メモリチェック等の稼働用BIOSで行うハードウェアテストを省略し、画面表示と入力装置の有効化とOS起動に必要な必要最低限のハードウェアの初期設定のみを行う。但し、入力装置の有効化は省略してもよい。
ここで、ROM選択はBIOSの処理ではなく、ハードウェアで行うと説明したが、これは、ROMの選択をBIOSの処理で行うと、BIOSのバイナリコードが破壊されている場合には、正しく動作せず、起動不具合が発生する恐れがあるからである。そこで、BIOS ROMセレクタ回路106にカウンタ回路とセレクタ回路の機能を持たせている。BIOS ROMセレクタ回路106をウォッチ・ドッグ・タイマ108に接続し、ウォッチ・ドッグ・タイマ108のタイムアウト回数をカウントする。ある一定回数のウォッチ・ドッグ・タイマのタイムアウトを検出すると、BIOS ROMセレクタ回路106がセレクタ信号を稼働用BIOS ROM104からリカバリ用BIOS ROM107へ切り替える。
また、リカバリ用BIOS107から起動して、BIOSスプラッシュ画面等のようにBIOSで画面出力する時に、稼働用BIOS ROM104から起動した時にPOSTが発生したPOST CODE(エラーコード)とそれに対応するエラーメッセージを画面出力し、ハードウェア障害が発生している旨と、エラー内容をユーザへ知らせ、ハードウェア障害を迅速にユーザへ認識させることを可能とする。
ここで、稼働用BIOS104はどのようなこと(POSTの内容)を行うのか、以下に一例を示す(これは一部である)。
・CPUの認識、初期化。
・CPU/CHIP SET IF(CPU/Chip set interface) 初期化。
・CHIPSET(制御回路)の初期化。
・メモリの初期化。
・各IF(interface)の初期化(USB(Universal serial bus)、PCI(Peripheral Component Interface)等)。
・接続デバイス(PCI等)のサーチ及び初期化。
・Displayの初期化。
・メモリテスト。
・補助記憶装置(ブートデバイス)のサーチ及び認識。
・補助記憶装置からのOSブート。
図1は本発明に係るシステムの一実施形態を示すブロック図である。図1を参照すると、本発明に係るシステムは、CPU101、制御回路102、RAM103(メインメモリ)、稼働用BIOS用ROM104、補助記憶装置105、BIOS ROMセレクタ回路106、リカバリ用BIOS ROM107、POST CODEデコード回路109、POST CODEを記録するRAM110(解析用)によって構成されている。
稼働用BIOS ROM104及びリカバリ用BIOS ROM107は、EEPROM(Electrically Erasable and Programmable Read Only Memory)などの書き換え可能なROMである。
上記の構成のマザーボードにて、稼働用BIOS ROM104には基本制御を行う一般的なBIOSバイナリプログラムが記録されている。電源を投入するとCPU101が稼働用BIOS ROM104に記録されているBIOSを読み込み、それを元に各デバイスの初期化及びメモリデバイスのチェックを行い、それらの入出力装置をOS等が利用できるようにする。ハードディスクのような一般的な補助記憶装置105や周辺機器は一般的にそれぞれ異なるバスに接続されているため、これらを制御する制御回路102に接続されている。
また、本発明では、リカバリ用BIOS ROM107、BIOS ROMを選択するBIOS ROMセレクタ回路106、BIOSの起動不具合を検出するウォッチ・ドッグ・タイマ108、BIOSに伴うPOSTが出力するPOST CODEをデコードするためのPOST CODEデコード回路109、デコードされたPOST CODEを記録するRAM110を追加している。
RAM110は、BIOSが処理の節目に出力するPOST CODE(エラーコード)を記録するための領域と、POST CODEに対応したエラーメッセージを記録するための領域を有する。稼働用BIOS ROM104からの起動に複数回連続して失敗し、リカバリ用BIOS ROM107から起動した場合には、最後に稼働用BIOSを実行した時にRAM110に記録されたPOST CODEとエラーメッセージをスプラッシュとして画面に出力する。また、POST CODEとエラーメッセージを記録しているRAMへは、OSやOSから起動されたアプリケーションからもアクセス可能である。なお、RAM110にはエラーメッセージを記録せず、POST CODEに対応したエラーメッセージをリカバリ用BIOSに埋め込んだり、OSに埋め込んだり、アプリケーションに埋め込んでもよい。
次に、図1の装置構成の動作を説明する。図1において、CPU101は、稼働用BIOS ROM104からBIOSプログラムを読み込み、周辺機器の初期設定を行う。その際、BIOSはPOSTと呼ばれる動作チェックを行う。POSTでは、各処理の節目にPOST CODEを出力するため、そのPOST CODEを基にBIOSがどのような処理を行ったかを調べることが可能である。
このPOST CODEは、一般的にI/Oアドレスの0x80hに対して出力される。例えば、メインメモリの初期化が終わった際にはPOST CODE 0x01を出力、ビデオ関係の初期化が終了した時は、POST CODE 0x02を出力、…、等のように各処理の節目にPOST CODEの出力が行われ、POST CODEからBIOSの処理のうち終了した処理を大まかに確認することが可能である。
図1に示すような構成のマザーボードが正常である時には、BIOS ROMセレクタ回路106は稼働用BIOS ROM104を選択し、通常の制御手順で立ち上がる。BIOS ROMセレクタ回路106はPOST CODEデコード回路109をEnable設定とする。BIOSが出力するPOST CODEはPOST CODEデコード回路109によりRAM110のInterfaceに合うように変換され、RAM110に記録される。
また、起動不具合を検出するためのウォッチ・ドッグ・タイマ108は電源投入直後にEnable状態に設定され、BIOSに伴うPOSTの最後の処理でこの機能をDisable設定にされる。(OS起動状態ではウォッチ・ドッグ・タイマ108は起動不良の検出が必要ないため無効設定にする)。上記構成でPOSTでの起動不具合が発生し、ウォッチ・ドッグ・タイマがタイムアウトした時は、ウォッチ・ドッグ・タイマ108によりシステムリセットが発行される。タイムアウトしたウォッチ・ドッグ・タイマ108からのシステムリセットの回数はBIOS ROMセレクタ回路106でカウントされる。
BIOS ROMの切り替えは、所定回数連続的にウォッチ・ドッグ・タイマ108のタイムアウトによりシステムリセットが出力された時のみ行う。ウォッチ・ドッグ・タイマ108のタイムアウトによるシステムリセットの回数(カウント)はリカバリBIOSに伴うPOSTの最後の処理でクリアする。また、稼働用BIOSに伴うPOSTでの起動不具合が発生した場合において、POSTで停止箇所を特定するために停止時のPOST CODEをRAM110に記録する。
RAM110のPOST CODEの記憶領域は、それぞれウォッチ・ドッグ・タイマ108のタイムアウトの各回数毎に予め決めておき、ウォッチ・ドッグ・タイマ108のタイムアウトによるリセットが発行される度にPOST CODEを別々の記憶領域に記録することを可能にする。ウォッチ・ドッグ・タイマ108が所定回数連続してタイムアウトすることにより、リセットカウント値が所定回数に対応する値となり、リカバリBIOSから起動する時はこの記憶領域からタイムアウト直前のPOST CODEを読み出し、更に、各POST CODEとそれに対応したエラーメッセージとが対応付けられているテーブルから読み出したPOST CODEに対応するエラーメッセージを読み出し、読み出したPOST CODEとエラーメッセージをスプラッシュ画面に表示し、ユーザへアラーム通知を行う。なお、各POST CODEとそれに対応したエラーメッセージとが対応付けられているテーブルは、上述したようにリカバリ用BIOSに埋め込んでもよいが、例えば、ROMのBIOS領域以外の領域に設けてもよい。また、上述したように、POST CODEをRAM110に記録する際に、POST CODEに対応するエラーメッセージもRAM110に記録してもよい。
ハードウェアの単発的な不具合の場合には、システムリセットを受けて再起動で復旧する。この時には稼働用BIOS処理となり、BIOS画面でエラー内容の表示を行わないが、OS又はOSから起動されるアプリケーションがRAM110のPOST CODE記録領域を参照することにより単発的な起動不具合が発生していることを確認することが可能となる。
BIOS ROM破壊等の致命的なハードウェア問題はシステムリセットで復旧しない場合がある。本実施形態では、ウォッチ・ドッグ・タイマ108のタイムアウトによって連続的に発生したシステムリセットの回数をカウントし、予め決めた回数のウォッチ・ドッグ・タイマ108のタイムアウトによるシステムリセットが発行された場合には、BIOS ROMセレクタ回路106が稼働用BIOS ROM104からリカバリ用BIOS ROM107へ切り替えを行い、リカバリ用BIOSから起動する。この時、POSTでの処理は、画面表示を可能にして、入力装置をOSから使えるようにして、OSを起動するために必要最小限の処理とする。但し、リカバリ用BIOSがPOST CODE又はPOST CODE及びこれに対応したエラーメッセージを表示することだけで十分なのであれば、POSTでの処理は、画面表示を可能にするために必要最小限の処理としてもよい。
リカバリ用BIOSの必要最小限の処理とは、全ての処理を省略することはできないため起動する必要最低限の処理をいう。本実施形態における必要最低限の処理の一例を以下に示す。
・CPUの認識、初期化(省略不可)。
・CPU/CHIPSET IFの初期化(省略不可)。
・CHIPSET(制御回路)の初期化(一部省略及び固定値を設定)。
・制御回路に接続されるIFのうち起動するために必要な箇所のみ設定(また、アクセス速度を落とすことが可能な場合はアクセス速度を落とす)。
・メモリの初期化(通常はDIMM(Dual Inline Memory Module)へアクセスし最適なアクセス速度を設定するが、リカバリモードではサポートしている最も遅い速度を設定する(固定値)。DIMM認識のためのアクセスを行わない。
・各IFの初期化(USB、PCI等)(接続されているPCIデバイスの不良が想定されるため基本的には行わない)。但し、USB等のように動作速度を落としても動作するものに関しては動作速度を落とす。また、USB 2.0コントローラは使用せず、USB 1.1コントローラを使用する。外部接続デバイス(PCI等)のサーチ及び初期化(基本的には行わない)。
・Displayの初期化(省略不可)。(画面表示が行われない場合操作が行えないため実施する)。
・メモリテスト(省略)(メモリ不良で停止している可能性があるため)。
・補助記憶装置(ブートデバイス)のサーチ及び認識(ブートデバイスが予め固定化されている場合は省略し、最も遅い速度に設定する(固定値))。例えば、PATAのHDDが接続されている場合には、PIOモードで動作するように設定する。
・補助記憶装置からのOSブート(省略不可)。
リカバリ用BIOSでは画面表示、入力装置有効化、OS起動を行うための必要最低限の初期化を行った後、BIOSスプラッシュ画面等のような画面表示を行う際にPOST CODEを記録しているRAM110に対してアクセスし、起動不具合が発生した時のPOST CODE(エラーコード)及びそのエラーコードに対応するエラーメッセージを表示し、ユーザへアラーム通知を行う。
起動不具合の原因はBIOS ROM内容の破壊によることが原因であることも考えられるため、OSをブートする際にBIOS ROMセレクタ回路106はリカバリ用BIOS ROM107から稼働用BIOS ROM104への切り替えを行う。
そのため、OS起動が可能な場合、ユーザは通常のハードウェアベンダが提供しているBIOS書き換えプログラム(これは、OSから起動される。)を利用し、稼働用BIOS ROM104のデータを正常なBIOSに書き換えることが可能となる。リカバリ用BIOSは稼働用BIOSと異なるため、リカバリ用BIOS ROM107の書き換えは行えないようにする。但し、リカバリ用BIOS107に致命的な不具合があり、これを書き換える必要がある場合には、BIOS書き換えツールにより、リカバリ用BIOS ROM107のデータを正常なリカバリ用BIOSに書き換える。
図2は、図1に示す本発明の実施形態によるエラーコード出力回路を含む回路の動作を示すフローチャートである。
まず、ウォッチ・ドッグ・タイマ108のタイムアウトの回数をカウントし(S201)、タイムアウト回数が所定回数x(例えば5回)未満であれば正常、所定回数x以上であれば異常と判断する。
正常である場合には、S202に進み、ウォッチ・ドッグ・タイマ108をスタートした後(S202)、稼働用BIOS ROM104を選択し(S203)、POST CODEデコード回路109をオンする(S204)。次いで、稼働用BIOS ROM104からBIOSプログラムを読み込み(S205)、POSTをスタートする(S206)。
稼働用BIOSとこれに伴うPOSTは、ハードウェアの初期化やハードウェアのチェックを行い(S207)、スプラッシュ画面を表示する(S208)。続いて、ウォッチ・ドッグ・タイマ108をストップし(S209)、POSTを終了して(S210)、オペレーティングシステムを起動する(S211)。
但し、ステップS211まで進むのは、稼働用BIOSが正常である場合である。稼働用BIOSが正常でない場合には、ステップS209よりも前で、動作が滞り、ウォッチ・ドッグ・タイマ108がステップS209でストップされないため、ウォッチ・ドッグ・タイマ108がタイムアウトし、これによりコンピュータはリセットされ、再起動する。
再起動が繰り返され、S201においてウォッチ・ドッグ・タイマ108のタイムアウト回数が所定回数x以上であった場合には、S221に進み、ウォッチ・ドッグ・タイマ108をスタートする。次に、今度はリカバリ用BIOS ROM107を選択し(S222)、リカバリ用BIOS ROM107からBIOSプログラムを読み込み(S223)、POSTをスタートする(S224)。
POSTではテストのみならず設定も行うため、リカバリ用BIOSで起動したときにも、POSTを実行することが必要である。但し、リカバリ用BIOSで起動したときに実行するPOSTは、必要最低限の命令を持ったものとする。ここで、必要最低限の命令とは、画面表示のために必要な命令である。但し、OSを起動してOS上で実行される修復プログラムにより稼働用BIOSを修復する場合、必要最低限の命令は入力装置を動作可能にするための命令も含む。
次いで、エラーコード出力(スプラッシュ画面での表示)に必要なハードウェアを初期化し(S225)、RAM110からPOST CODE(エラーコード)を取得する(S226)。続いて、BIOSのスプラッシュ(上述のようにエラーコード及びそのエラーコードに対応するエラーメッセージを表示)を行い(S227)、ウォッチ・ドッグ・タイマ108をストップする(S228)。その後、稼働用BIOS ROM104を選択し(S229)、POSTを終了させる(S231)。
次いで、OSを起動し(S233)、修復プログラムを実行する(S235)。即ち、上述のようにOS上で実行される修復プログラムが稼働用BIOSを修復する。稼働用BIOSの修復とは、稼働用BIOSを格納しているメモリのデータを正しい稼働用BIOSに書き換えることである。
ここで、図2ではリカバリ用BIOSによるPOSTの実行後、OSをブートする前に稼働用BIOSに切り替えている。その際、リカバリ用BIOSから起動している場合には、BIOS ROM破壊やハードウェアの不良が発生していることが考えられる。リカバリ用BIOSからのOS起動時に不良の切り分けとしてBIOSの書き換えを行いたい時にROMがリカバリ用BIOSを選択している場合には、リカバリ用BIOS ROMを書き換えてしまうこととなるため、ここで切り替えを行うことを想定している。
また、本実施形態では、リカバリ用BIOSによる必要最小限の処理を行ってでもOSを起動している。これは、例えば、ユーザに稼働用BIOSの不良が発生していることを通知するためや、稼働用BIOSの書換えを促すためにOSを起動させる必要があるからである。更に、迅速にハードウェアの不具合箇所の特定を行うためにPOST CODEのデコード結果を保持するメモリ領域へのアクセスを行うためにOSを起動させる必要があるからである。
なお、以上の実施形態では、POST CODEとそれに対応するメッセージを画面に表示することとしたが、それらを読んだ声をスピーカから出力したり、それらに対応する予め定めたパターン音をブザーを用いて出力(ビープ出力)してもよい。
以上説明したように、本実施形態においては、以下に記載するような効果を奏する。
第1の効果は、稼働用BIOSを利用してのコンピュータの起動不良が所定回数以上連続して発生した後に稼働用BIOSの実行に伴うテストプログラムで発生したエラーコードを出力、即ち、スプラッシュ画面に表示することにより、ユーザは起動不良の原因を知ることができることである。
第2の効果は、リカバリ用BIOSの起動時に画面表示に必要な内容を有するPOSTを実行するが、リカバリ用BIOSから起動されたOSから起動された修復プログラムにより稼働用BIOSを修復することである。稼働用BIOSの修復とは、上述のように稼働用BIOSを格納しているメモリのデータを正しい稼働用BIOSに書き換えることをいう。
上記実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限らない。
(付記1)稼働用BIOS(Basic Input Output System)を利用してのコンピュータの起動不良が所定回数以上連続して発生した後に、前記稼働用BIOSの実行に伴うテストプログラムで発生したエラーコードを出力することを特徴とするエラーコード出力装置。
(付記2)付記1に記載のエラーコード出力装置であって、
稼働用BIOS(Basic Input Output System)の実行に伴うテストプログラムで発生したエラーコードを記憶するエラーコード記憶手段と、
前記エラーコード記憶手段に記憶されているエラーコードを出力するために必要な命令群しか含まないリカバリ用BIOSと、
前記稼働用BIOSを利用してのコンピュータの起動不良が所定回数以上連続して発生した時に、前記稼働用BIOSに替えて前記リカバリ用BIOSを利用してコンピュータを起動させる切替手段と、
を備え、
前記稼働用BIOSを利用してのコンピュータの起動不良が所定回数以上連続して発生してから、前記リカバリ用BIOSを利用して起動されたコンピュータは、少なくとも前記エラーコード記憶手段に記憶されているエラーコードを出力することを特徴とするエラーコード出力装置。
(付記3)付記2に記載のエラーコード出力装置であって、
前記切替回路は、ハードウェアにより構成されることを特徴とするエラーコード出力装置。
(付記4)付記1乃至3の何れか1に記載のエラーコード出力装置であって、
前記エラーコードを出力する際に、これに対応するエラーメッセージも出力することを特徴とするエラーコード出力装置。
(付記5)付記1乃至4の何れか1に記載のエラーコード出力装置であって、
前記稼働用BIOSを利用してのコンピュータの起動不良が所定回数以上連続して発生したことを、コンピュータの起動時に起動され、前記稼働用BIOSの終了部の命令で停止されるウォッチ・ドッグ・タイマがタイムアウトした回数に基づいて検出する手段を更に備えることを特徴とするエラーコード出力装置。
(付記6)付記2乃至5の何れか1に記載のエラーコード出力装置であって、
前記リカバリ用BIOSの起動時に画面表示に必要な内容を有するPOSTを実行することを特徴とするエラーコード出力装置。
(付記7)付記2乃至6の何れか1に記載のエラーコード出力装置であって、
前記リカバリ用BIOSから起動されたOSから起動された修復プログラムが、前記稼働用BIOSを修復することを特徴とするエラーコード出力装置。
(付記8)稼働用BIOS(Basic Input Output System)を利用してのコンピュータの起動不良が所定回数以上連続して発生した後に、前記稼働用BIOSの実行に伴うテストプログラムで発生したエラーコードを出力することを特徴とするエラーコード出力方法。
(付記9)付記8に記載のエラーコード出力方法であって、
稼働用BIOS(Basic Input Output System)の実行に伴うテストプログラムで発生したエラーコードを記憶するエラーコード記憶ステップと、
前記稼働用BIOSを利用してのコンピュータの起動不良が所定回数以上連続して発生した時に、前記稼働用BIOSに替えて、前記エラーコード記憶ステップで記憶したエラーコードを出力するために必要な命令群しか含まないリカバリ用BIOSを利用してコンピュータを起動させる切替ステップと、
を備え、
前記稼働用BIOSを利用してのコンピュータの起動不良が所定回数以上連続して発生してから、前記リカバリ用BIOSを利用して起動されたコンピュータは、少なくとも前記エラーコード記憶手段に記憶されているエラーコードを出力することを特徴とするエラーコード出力方法。
(付記10)付記8又は9に記載のエラーコード出力方法であって、
前記エラーコードを出力する際に、これに対応するエラーメッセージも出力することを特徴とするエラーコード出力方法。
(付記11)付記8乃至10の何れか1に記載のエラーコード出力方法であって、
前記稼働用BIOSを利用してのコンピュータの起動不良が所定回数以上連続して発生したことを、コンピュータの起動時に起動され、前記稼働用BIOSの終了部の命令で停止されるウォッチ・ドッグ・タイマがタイムアウトした回数に基づいて検出するステップを更に備えることを特徴とするエラーコード出力方法。
(付記12)付記8乃至11の何れか1に記載のエラーコード出力方法であって、
前記リカバリ用BIOSの起動時に画面表示に必要な内容を有するPOSTを実行することを特徴とするエラーコード出力方法。
(付記13)付記8乃至12の何れか1に記載のエラーコード出力方法であって、
前記リカバリ用BIOSから起動されたOSから起動された修復プログラムが、前記稼働用BIOSを修復することを特徴とするエラーコード出力方法。
101 CPU
102 制御回路
103 RAM
104 稼働用BIOS ROM
105 補助記憶装置
106 BIOS ROMセレクタ回路
107 リカバリ用BIOS ROM
108 ウォッチ・ドッグ・タイマ
109 POST CODEデコード回路
110 RAM

Claims (7)

  1. 稼働用BIOS(Basic Input Output System)を利用してのコンピュータの起動不良が所定回数以上連続して発生した後に、前記稼働用BIOSの実行に伴うテストプログラムで発生したエラーコードを出力するエラーコード出力装置であって、
    前記稼働用BIOSの実行に伴うテストプログラムで発生したエラーコードを記憶するエラーコード記憶手段と、
    前記エラーコード記憶手段に記憶されているエラーコードを出力するために必要な命令群しか含まないリカバリ用BIOSと、
    前記稼働用BIOSを利用してのコンピュータの起動不良が所定回数以上連続して発生した時に、前記稼働用BIOSに替えて前記リカバリ用BIOSを利用してコンピュータを起動させる切替手段と、
    を備え、
    前記稼働用BIOSを利用してのコンピュータの起動不良が所定回数以上連続して発生してから、前記リカバリ用BIOSを利用して起動されたコンピュータは、少なくとも前記エラーコード記憶手段に記憶されているエラーコードを出力することを特徴とするエラーコード出力装置。
  2. 請求項に記載のエラーコード出力装置であって、
    前記切替手段は、ハードウェアにより構成されることを特徴とするエラーコード出力装置。
  3. 請求項1又は2に記載のエラーコード出力装置であって、
    前記エラーコードを出力する際に、これに対応するエラーメッセージも出力することを特徴とするエラーコード出力装置。
  4. 請求項1乃至の何れか1項に記載のエラーコード出力装置であって、
    前記稼働用BIOSを利用してのコンピュータの起動不良が所定回数以上連続して発生したことを、コンピュータの起動時に起動され、前記稼働用BIOSの終了部の命令で停止されるウォッチ・ドッグ・タイマがタイムアウトした回数に基づいて検出する手段を更に備えることを特徴とするエラーコード出力装置。
  5. 請求項乃至の何れか1項に記載のエラーコード出力装置であって、
    前記リカバリ用BIOSの起動時に画面表示に必要な内容を有するPOST(Power On Self Test)を実行することを特徴とするエラーコード出力装置。
  6. 請求項乃至の何れか1項に記載のエラーコード出力装置であって、
    前記リカバリ用BIOSから起動されたOS(Operating System)から起動された修復プログラムが、前記稼働用BIOSを修復することを特徴とするエラーコード出力装置。
  7. 稼働用BIOS(Basic Input Output System)を利用してのコンピュータの起動不良が所定回数以上連続して発生した後に、前記稼働用BIOSの実行に伴うテストプログラムで発生したエラーコードを出力するエラーコード出力方法であって、
    稼働用BIOSの実行に伴うテストプログラムで発生したエラーコードを記憶するエラーコード記憶ステップと、
    前記稼働用BIOSを利用してのコンピュータの起動不良が所定回数以上連続して発生した時に、前記稼働用BIOSに替えて、前記エラーコード記憶ステップで記憶したエラーコードを出力するために必要な命令群しか含まないリカバリ用BIOSを利用してコンピュータを起動させる切替ステップと、
    を備え、
    前記稼働用BIOSを利用してのコンピュータの起動不良が所定回数以上連続して発生してから、前記リカバリ用BIOSを利用してコンピュータが起動した後に、少なくとも前記エラーコード記憶ステップで記憶したエラーコードを出力することを特徴とするエラーコード出力方法。
JP2010263746A 2010-11-26 2010-11-26 エラーコード出力装置及びエラーコード出力方法 Expired - Fee Related JP5305473B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010263746A JP5305473B2 (ja) 2010-11-26 2010-11-26 エラーコード出力装置及びエラーコード出力方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010263746A JP5305473B2 (ja) 2010-11-26 2010-11-26 エラーコード出力装置及びエラーコード出力方法

Publications (2)

Publication Number Publication Date
JP2012113616A JP2012113616A (ja) 2012-06-14
JP5305473B2 true JP5305473B2 (ja) 2013-10-02

Family

ID=46497745

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010263746A Expired - Fee Related JP5305473B2 (ja) 2010-11-26 2010-11-26 エラーコード出力装置及びエラーコード出力方法

Country Status (1)

Country Link
JP (1) JP5305473B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160000758A (ko) 2014-06-25 2016-01-05 주식회사 알티베이스 품질테스트장치 및 방법
TWI541724B (zh) * 2014-07-22 2016-07-11 技嘉科技股份有限公司 寫入基本輸入輸出系統程式碼的電路與寫入方法
US10108499B2 (en) 2015-03-24 2018-10-23 Mitsubishi Electric Corporation Information processing device with watchdog timer
CN109508263B (zh) * 2017-09-14 2022-05-27 佛山市顺德区顺达电脑厂有限公司 服务器系统及其检测方法
CN111258817A (zh) * 2020-01-17 2020-06-09 深圳宝龙达信创科技股份有限公司 基本输入输出系统的还原方法、终端设备及存储介质
US11822664B2 (en) * 2020-06-22 2023-11-21 Apple Inc. Securely signing configuration settings

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT1254937B (it) * 1991-05-06 1995-10-11 Aggiornamento dinamico di memoria non volatile in un sistema informatico
JP2001331342A (ja) * 2000-05-23 2001-11-30 Nec Kofu Ltd 情報処理装置のエラー表示方法、及びそのプログラムを記録した記録媒体
JP2005031903A (ja) * 2003-07-10 2005-02-03 Toshiba Tec Corp 情報処理装置
JP2008052354A (ja) * 2006-08-22 2008-03-06 Giga-Byte Technology Co Ltd 外部基本入出力システムデバイス
DE102006048171A1 (de) * 2006-10-10 2008-04-17 Robert Bosch Gmbh Verfahren zum Neubooten eines Signalverarbeitungssystems
JP2009110110A (ja) * 2007-10-26 2009-05-21 Nec Computertechno Ltd 監視制御システム、監視制御方法、および監視制御プログラム

Also Published As

Publication number Publication date
JP2012113616A (ja) 2012-06-14

Similar Documents

Publication Publication Date Title
JP5305473B2 (ja) エラーコード出力装置及びエラーコード出力方法
US9542195B1 (en) Motherboards and methods for BIOS failover using a first BIOS chip and a second BIOS chip
TWI382346B (zh) 保護雙基本輸出入系統程式之電腦系統及其控制方法
CN102135927B (zh) 一种基于nand flash的系统引导方法和装置
CN108304282B (zh) 一种双bios的控制方法及相关装置
US20040158702A1 (en) Redundancy architecture of computer system using a plurality of BIOS programs
US8595552B2 (en) Reset method and monitoring apparatus
JPH11316687A (ja) 自動リカバリ・システム
TW200847021A (en) Automatic backup, restore and update BIOS computer system
US20150095632A1 (en) Computer booting system and method for computer system
JP6740789B2 (ja) ストレージ制御装置および記憶装置管理プログラム
JP6698467B2 (ja) 電子回路システム及び制御装置の起動方法
WO2017080225A1 (zh) 数据分区的修复方法、装置及终端
JP2003316582A (ja) 2重化biosの制御方法と装置
US9348603B2 (en) Electronic apparatus and booting method
CN114138527A (zh) 一种提高服务器性能的方法、装置及介质
CN112506745A (zh) 内存温度读取方法、装置及计算机可读存储介质
JP4886558B2 (ja) 情報処理装置
JP2006251945A (ja) 基本入出力制御システム
US7200746B2 (en) Device and method for automatically detecting and announcing error on booting a motherboard
JP2009211625A (ja) 情報処理装置の起動ログ保存方法
US20050257095A1 (en) Apparatus and method for detecting and indicating faults on a motherboard
JP5148662B2 (ja) 電子機器およびその制御プログラム
CN100340995C (zh) 主机板上的自动错误检测语音装置
JP2005284329A (ja) 端末フェールセーフシステム、端末フェールセーフ方法および端末フェールセーフプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120313

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130313

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130319

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130515

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130530

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130621

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5305473

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees