JP4528144B2 - メモリダンププログラムのブート方法、機構及びプログラム - Google Patents

メモリダンププログラムのブート方法、機構及びプログラム Download PDF

Info

Publication number
JP4528144B2
JP4528144B2 JP2005018287A JP2005018287A JP4528144B2 JP 4528144 B2 JP4528144 B2 JP 4528144B2 JP 2005018287 A JP2005018287 A JP 2005018287A JP 2005018287 A JP2005018287 A JP 2005018287A JP 4528144 B2 JP4528144 B2 JP 4528144B2
Authority
JP
Japan
Prior art keywords
boot
variable
stand
program
alone dump
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
JP2005018287A
Other languages
English (en)
Other versions
JP2006209320A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2005018287A priority Critical patent/JP4528144B2/ja
Priority to EP05252719.9A priority patent/EP1691281B1/en
Priority to US11/118,333 priority patent/US7302559B2/en
Priority to KR1020050043573A priority patent/KR100689742B1/ko
Priority to CNB2005100740416A priority patent/CN100389395C/zh
Publication of JP2006209320A publication Critical patent/JP2006209320A/ja
Application granted granted Critical
Publication of JP4528144B2 publication Critical patent/JP4528144B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/22Microcontrol or microprogram arrangements
    • 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
    • G06F9/4406Loading of operating system
    • 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt

Description

本発明は、メモリダンププログラムのブート方法、機構及びプログラムに係り、特にスタンドアロンダンププログラムによりメモリダンプを採取するコンピュータシステムにおいてスタンドアロンダンププログラムのブート処理を行うメモリダンププログラムのブート方法、機構及びプログラム関する。
コンピュータシステムは、一般的には複数のブート装置をサポートしており、ブート装置のデバイスパス情報を設定することによって、複数のブート可能な装置から実際にブート対象となる装置を選択してブートする。複数のブート装置にインストールされたオペレーティングシステム(OS:Operating System)は、同一の場合もあれば、異なる種類の場合もある。又、同じ種類のOSであっても、OSの版数が異なる場合もある。このようなコンピュータシステムにおいて、あるOSを運用中に障害が発生した場合、スタンドアロンダンププログラムを起動してメモリダンプを採取するが、上記の如き様々なOSのうちどのOSを運用していたかによって、起動するスタンドアロンダンププログラムを選択することができなければいけない。又、スタンドアロンダンププログラムは、OSで障害が発生した時だけ、その障害をトリガに起動できるようにすることが望ましい。
本発明は、このようなコンピュータシステムにおいて、複数のスタンドアロンダンププログラムを登録可能とし、障害発生時に複数あるスタンドアロンダンププログラムの中から最適なものを選択してブートするブート処理に関するものである。
コンピュータシステムを運用中に何らかのシステム異常が発生して業務を継続することが困難になった場合、直ちにコンピュータシステムを立ち上げ直して業務を継続させる必要がある。このような場合、発生した障害の原因を後で究明できるようにするために、システム異常が発生した時のコンピュータシステムのメモリ内のデータをダンプデータとして保存することが良く行なわれる。このダンプデータ採取処理としては、運用しているOS内にメモリダンプ採取プログラムを組み込んでおき、運用中に障害が発生した場合に制御をメモリダンプ採取プログラムに移してメモリダンプを行なう方法と、システム運用中に障害が発生した場合にコンピュータシステムにメモリデータを保持したままコンピュータシステムをリセットした上で、運用中のOSとは異なるスタンドアロンダンププログラムを起動し、保持されたメモリデータをダンプする方法とがある。これら2つの方法のうち、一方の処理だけを行なうシステムもあれば、両方の処理をサポートするシステムもある。
異常終了時のコンピュータシステムのメモリダンプとしては、特許文献1に提案されている如きものがある。
特開平8−95834号公報
スタンドアロンダンププログラムによりメモリダンプを採取する際、コンピュータシステムが複数のOSをサポートする場合には以下の如き問題が発生する。
つまり、大規模サーバシステムのようなコンピュータシステムでは、搭載されるメインメモリのサイズが例えば256GBを超えることも珍しくない。このようなコンピュータシステムにおいて、障害解析のためにメインメモリを全てダンプすることは現実的ではない。従って、メモリダンプを採取する際には、ダンプ対象領域をカーネルデータ等の障害解析に必要な特定の領域に絞って行なうのが一般的である。このカーネルデータ等の障害解析に必要な特定の領域は、OSの種類が違うと当然異なった領域になるが、仮に同じ種類のOSであっても版数が異なる場合には異なったものとなることがある。このため、一般に、スタンドアロンダンププログラムは、OSの種類により異なったものが要求され、更に、同じ種類のOSの場合でも版数が異なる場合には版数に対応して異なったスタンドアロンダンププログラムが必要となる場合がある。又、場合によっては、スタンドアロンダンププログラムによるメモリダンプをサポートしていないOSもある。そこで、スタンドアロンダンプのブート処理では、存在する複数のスタンドアロンダンププログラムのうち、直前に運用していたOSに対応するスタンドアロンダンププログラムを選択してブートする機能が要求される。
1つのOSのみのブートが許されるコンピュータシステムであれば、1つのスタンドアロンプログラムを起動すれば良いが、複数のOSがブート可能で、ブート時に選択することで異なったOSを運用可能なコンピュータシステムの場合には、障害発生時に運用していたOSに対応したスタンドアロンダンププログラムをブートしないと適切なメモリダンプが行なえないという問題があった。
そこで、本発明は、複数のOSがブート可能で、OSをブートするときに、複数のブート対象装置から自動若しくは手動でブート対象装置を選択することによりOSを切り替えて運用可能なコンピュータシステムにおいて、OSを運用中に障害が発生するとコンピュータシステムをリセットして起動するスタンドアロンダンププログラムを、直前に運用していたOSに最適なメモリダンプ採取をサポートするものに設定可能であるスタンドアロンダンププログラムのブート方法、機構及びプログラムを提供することにある。
上記の課題は、コンピュータシステムのブートファームウェアが管理する不揮発性変数に、該コンピュータシステムにインストールされている複数のスタンドアロンダンププログラムのブート情報と、該複数のスタンドアロンダンププログラムと複数のオペレーティングシステムの対応関係を示すテーブル変数を定義するステップと、該ブートファームウェアが1つの任意のオペレーティングシステムをブートするときに、該テーブル変数から対応する1つのスタンドアロンダンププログラムのブート情報を特定して、特定したブート情報を示す情報をスタンドアロンダンプ実行時に参照する不揮発性変数に書き込むステップと、該スタンドアロンダンプの起動が指定されたときに、該スタンドアロンダンプ実行時に参照する変数の有無と、存在する場合にはその情報を参照することにより、複数のスタンドアロンダンププログラムのうち対応する該1つのスタンドアロンダンププログラムをブートするステップとを含むことを特徴とするメモリダンププログラムのブート方法によって達成できる。
上記の課題は、コンピュータシステムのブートファームウェアが管理する不揮発性変数に、該コンピュータシステムにインストールされている複数のスタンドアロンダンププログラムのブート情報と、該複数のスタンドアロンダンププログラムと複数のオペレーティングシステムの対応関係を示すテーブル変数を格納する不揮発性メモリと、該ブートファームウェアが1つの任意のオペレーティングシステムをブートするときに、該テーブル変数から対応する1つのスタンドアロンダンププログラムのブート情報を特定して、特定したブート情報を示す情報をスタンドアロンダンプ実行時に参照する不揮発性変数に書き込む手段と、該スタンドアロンダンプの起動が指定されたときに、該スタンドアロンダンプ実行時に参照する変数の有無と、存在する場合にはその情報を参照することにより、複数のスタンドアロンダンププログラムのうち対応する該1つのスタンドアロンダンププログラムをブートする手段とを備えたことを特徴とするメモリダンププログラムのブート装置によっても達成できる。
上記の課題は、コンピュータシステムのコンピュータにメモリダンププログラムのブートを行わせるプログラムであって、該コンピュータに、該コンピュータシステムのブートファームウェアが管理する不揮発性変数に、該コンピュータシステムにインストールされている複数のスタンドアロンダンププログラムのブート情報と、該複数のスタンドアロンダンププログラムと複数のオペレーティングシステムの対応関係を示すテーブル変数を定義させる手順と、該コンピュータに、該ブートファームウェアが1つの任意のオペレーティングシステムをブートするときに、該テーブル変数から対応する1つのスタンドアロンダンププログラムのブート情報を特定して、特定したブート情報を示す情報をスタンドアロンダンプ実行時に参照する不揮発性変数に書き込ませる手順と、該コンピュータに、該スタンドアロンダンプの起動が指定されたときに、該スタンドアロンダンプ実行時に参照する変数の有無と、存在する場合にはその情報を参照することにより、複数のスタンドアロンダンププログラムのうち対応する該1つのスタンドアロンダンププログラムをブートさせる手順とを含むことを特徴とするプログラムによっても達成できる。
本発明によれば、複数のOSがブート可能で、OSをブートするときに、複数のブート対象装置から自動若しくは手動でブート対象装置を選択することによりOSを切り替えて運用可能なコンピュータシステムにおいて、OSを運用中に障害が発生するとコンピュータシステムをリセットして起動するスタンドアロンダンププログラムを、直前に運用していたOSに最適なメモリダンプ採取をサポートするものに設定可能であるスタンドアロンダンププログラムのブート方法、機構及びプログラムを実現することができる。
以下に、本発明になるメモリダンププログラムのブート方法、機構及びプログラムの各実施例を、図面と共に説明する。プログラムの実施例は、適切なコンピュータ読み取り可能な記憶媒体に格納されていても、外部装置からダウンロードされるものであっても良い。
図1は、本発明の一実施例が適用されたコンピュータシステムを示す図である。図1において、コンピュータシステム1は、本体部11及びシステム監視機構12からなる。複数のハードディスク装置(HDD:Hard Disk Drive)2−1,2−2,2−3,…と、CDROM/DVDROM装置3がコンピュータシステム1に接続されている。本体部11は、ROMファームウェア21、ROM(Read Only Memory)又はFMEM(Flash Memory)22、不揮発性メモリ(NVRAM:Non-Volatile RAM)23及びメインメモリ24を有する。又、メインメモリ24は、ブートファームウェア241、オペレーティングシステム(OS)ローダプログラム(以下、単にOSローダと言う)242、OS243、スタンドアロンダンプ(SADUMP:Stand Alone Dump)プログラムインストーラ(以下、単にSADUMPインストーラと言う)244及びスタンドアロンダンプ(SADUMP:Stand Alone Dump)プログラムアンインストーラ(以下、単にSADUMPアンインストーラと言う)245を有する。尚、SADUMPアンインストーラ245は、SADUMPインストーラ244に含まれていても良い。
本実施例では、ROMファームウェア21は、ROM(Read Only Memory)若しくはFMEM(Flash Memory)に書き込まれており、コンピュータシステム1の電源が投入されると、このROMファームウェア21が起動され、コンピュータシステム1内のハードウェアの診断と初期化処理が実行される。その後、コンピュータシステム1内のROM又はFMEM22に圧縮して保存されているブートファームウェアをメインメモリ24上に展開し、制御をブートファームウェア241に移す。ブートファームウェア241は、コンピュータシステム1がサポートするブート対象装置を制御するためのドライバプログラム(以下、単にドライバと言う)を持っており、予め設定されたブート情報に従ってコンピュータシステム1に接続されているブート対象装置のうちから、実際にブートする対象装置を選択しブート処理を実行する。通常、ブートファームウェア241は、対象とするOS243をブートするためのOSローダ242のブートを行なう。ブートファームウェア241は、OS243のファイルシステムを解析できる必要はない。OS243に対応したOSローダ242がOS243のファイルシステムを解析できるので、ブートファームウェア241はOSローダ242がブート対象装置のどこにあるかが分かり、このOSローダ242がブートできれば、以降のOS243のブートはこのOSローダ242が実行するようになっている。
図1に示すコンピュータシステム1では、NVRAM23にブート情報が保存される。NVRAM23に保存されたブート情報に従って、コンピュータシステム1に接続された複数のブート対象装置のうちからコンピュータシステム1の起動時に自動的にブートするべきブート対象装置を決定する。NVRAM23に保存されるブート情報には、ブート対象装置がコンピュータシステム1のどこに接続されているかを示すデバイスパス情報とOSローダ242のファイル位置やファイル名を情報として持つBootXXXX変数 (XXXXは0000からFFFFまでの16進数) と、複数存在するBootXXXX変数で表されるブート対象装置にどのような順番でブート起動をかけるかを指定するBootOrder変数がある。ブートファームウェア241に制御が渡ると、ブートファームウェア241はブート用の各種ドライバを初期化し、接続されたディスク装置2−1,2−2,2−3,…のプローブ処理を行なう。その後、NVRAM変数のBootOrder変数からBootXXXX変数のXXXXの部分の値を特定し、そのBootXXXX変数が指定するブート対象装置とOSローダ242をブートする。
次に、本実施例の特徴的な部分について説明する。本実施例では、コンピュータシステム1内のNVRAM23に保存するブート情報(又は、NVRAM変数)として、上記BootXXXX変数とBootOrder変数に加えて、SADUMPプログラム(以下、単にSADUMPと言う)のローダプログラムであるSADUMPローダをブートするために以下の4つの変数V1)〜V4)が追加されている。
V1)FjSdBootYYYY(YYYYは0000からFFFFまでの16進数):SADUMPローダが格納されているブート対象装置のデバイスパス情報とSADUMPローダのファイル位置やファイル名を情報として持つ変数である。
V2)FjSdBtTbl:OS243とSADUMPの対応関係を示す情報を格納したテーブル変数である。
V3)FjSdBootNext:次回起動するSADUMPローダのブート情報であるFjSdBootYYYYのYYYYを保持する変数である。OS243を運用しているときに障害が発生して、パニックしたり、ハングする等して、コンピュータシステム1にリセットをかけてSADUMPを起動するときには、本変数に従ったFjSdBootYYYYをSADUMPローダのブート情報として使用する。
V4)FjSdBtTerm:SADUMPがエラー終了した場合の処理を指定する変数である。この変数FjSdBtTermが「0」であるとエラー通知をしてOS243を再起動し、「0」以外であるとCDROM/DVDROM装置3をブート対象としてCDROM/DVDROMに記録されたSADUMPをブートする。
又、コンピュータシステム1に接続されたハードディスク装置2−1,2−2,2−3,…には、OSローダイメージとOSイメージに加えて、スタンドアロンダンプのために、SADUMPローダイメージとSADUMPイメージ が追加されているものがある。ここで、OSローダイメージとは、OSローダ242の本体のイメージであり、OSイメージとは、OS243の本体のイメージである。又、SADUMPイメージとは、SADUMPの本体のイメージであり、SADUMPローダによりブートされてメモリダンプを実行するプログラムである。SADUMPローダイメージとは、SADUMPローダの本体のイメージである。OS243の中にはSADUMPをサポートしないものもあるため、対応するSADUMPローダイメージとSADUMPイメージを持たないものもある。尚、SADUMPローダイメージとSADUMPローダの格納場所は、OSローダイメージやOSイメージを格納したディスク装置2−1,2−2,2−3,…とは無関係な場所であっても良い。又、図1では、SADUMPローダイメージとSADUMPイメージがOS243とは独立してCDROM/DVDROMにも格納されている場合を示す。又、説明の便宜上、SADUMPローダ及びSADUMPイメージがメインメモリ24上にある状態の図示は省略する。
図2は、コンピュータシステム1におけるROMファームウェア21及びブートファームウェア241の処理を説明するフローチャートである。
OS243を運用中に障害が発生して、コンピュータシステム1がパニックしたりハングした場合には、システム監視機構12にスタンドアロンダンプの指示を行ないリセット要求を発行する。システム監視機構12は、コンピュータシステム1の電源制御やファンの監視やリセット処理等を行なう本体部11とは独立したプロセッサで動作するハードウェアである。システム監視機構12は、スタンドアロンダンプ要求を受けると、自身の持つシステム制御変数の中のSADUMP指定フラグをONに設定して本体部11にリセットをかける。本体部11にリセットがかかると、先ず最初に図2に示すステップS1でROMファームウェア21が起動されて、ステップS2でハードウェアの診断(メモリ診断を含む)と初期化を実行するが、ここでシステム監視機構12からSADUMP指定フラグを取得してステップS3でSADUMPフラグがONであるか否かを判定する。SADUMPフラグがONでありステップS3の判定結果がYESであれば、ステップS4はメモリ診断を行なわずに処理がステップS6へ進み、メモリデータを保存したままブートファームウェア241に制御が移される。他方、SADUMPフラグがOFFでありステップS3の判定結果がNOであると、ステップS5はメモリ診断を行ってから処理がステップS6へ進む。ブートファームウェア241は、ステップS7でブート処理用の各種ドライバの初期化と接続ディスク装置2−1,2−2,2−3,…のプローブ処理を行なった後、ステップS8でSADUMP指定フラグがONであるか否かをチェックする。このとき、SADUMP指定フラグの値はシステム監視機構12から取得しても、ROMファームウェア21から取得しても良い。ここで、SADUMP指定フラグがONでありステップS8の判定結果がYESである場合には、図3と共に後述するSADUMPローダのブート処理に制御が移される。SADUMP指定フラグがOFFでありステップS8の判定結果がNOである場合には、ステップS9以降のOSローダ242のブート処理に制御が移される。
次に、OSローダ242のブート処理を説明する。OSローダ242のブート処理では、最初に、ステップS9でFjSdBootNext変数の有無をチェックし、存在する場合には削除する。ステップS10は、システム監視機構12からリモートブート指定があるか否かをチェックし、あれば指定された処理を実行する。このシステム監視機構12からのリモートブート指定は、本発明の要旨と直接関係がないため、本明細書ではその詳細な説明は省略する。
次に、ステップS11は、NVRAM23に複数存在しているBootXXXX変数から、実際にブート対象とする変数を決定する。このステップS11での決定は、通常はBootOrder変数に設定された順番に従って決定されるが、システム監視機構12からリモートブートが指定された場合にはBootOrder変数によらずに決定されても良い。いずれにしろ、ブートファームウェア241は、決定したブート対象のBootXXXX変数のXXXXの値をメモリ変数であるBootCurrent変数に設定する。このBootCurrent変数は、ブートファームウェア241の管理する変数であるが、NVRAM変数ではないため、コンピュータシステム1の電源が落ちると失われてしまう。OS243が起動した後でこのBootCurrent変数を調べることにより、どのブート装置からブートしたかをOS243側で判断することができる。
次に、ブートファームウェア241は、ステップS12で、選択されたブート対象装置がCDROM/DVDROM装置4でもなく、且つ、PXE (ネットワークブート)でもないか否かをチェックする。選択されたブート対象装置がCDROM/DVDROM装置4又はPXEでありステップS12の判定結果がNOである場合には、ステップS17で直ちに選択されたBootXXXX変数に従ってOSローダ242をロードしてブートし、ステップS18でOS242を起動して処理は終了する。選択されたブート対象装置がCDROM/DVDROM装置4でもPXEでもなくステップS12の判定結果がYESの場合には、ステップS13でNVRAM変数にFjSdBtTblテーブル変数が存在しているか否かをチェックする。その結果、FjSdBtTblテーブル変数が存在してステップS13の判定結果がNOである場合には、ステップS17で直ちに選択されたBootXXXX変数に従ってOSローダ242をロードしてブートするが、存在して判定結果がYESである場合には、ステップS14で、BootCurrent変数に設定された、選択されたBootXXXX変数のXXXXの番号をキーとしてFjSdBtTblテーブル変数を検索する。このステップS14の検索処理については後述する。ステップS15は、このステップS14の検索処理の結果、キーに対応したエントリが存在するか否かを判定する。ステップS14の判定結果がNOである場合には、ステップS17で直ちに選択されたBootXXXX変数に従ってOSローダ242をロードしてブートするが、存在してステップS15の判定結果がYESである場合には、ステップS16で対応するエントリからFjSdBootYYYY変数のYYYYの値を取り出し、FjSdBootNext変数を作成して、取り出したYYYYをFjSdBootNext変数に設定した後、処理はステップS17へ進んで選択されたBootXXXX変数に従ってOSローダ242をロードしてブートする。
次に、SADUMPローダのブート処理を、図3と共に説明する。図3は、SADUMPローダのブート処理を説明するフローチャートである。
図3において、ステップS21でSADUMPローダのブート処理が開始されると、最初にステップS22でFjSdBootNext変数が存在するか否かをチェックする。FjSdBootNext変数が存在せずステップS22の判定結果がNOである場合には、ステップS23はシステム監視機構12のSADUMP指定フラグをOFFに設定してエラー通知を行なった後、コンピュータシステム1をリセットし、処理は終了する。FjSdBootNext変数が存在しステップS22の判定結果がYESである場合には、ステップS24でFjSdBootNext変数が指定するFjSdBootYYYY変数のデータを解析し、FjSdBootYYYY変数のデバイスパス情報が正しいか否かを判定する。即ち、ステップS24は、ブート情報に設定されたデバイス情報及びSADUMPローダ情報をチェックし、コンピュータシステム1に接続されているものと一致するか否かを判定する。ステップS24の判定結果がNOであると、ステップS25は、このFjSdBootNext変数を削除し、システム監視機構12のSADUMP指定フラグをOFFにクリアする。その後、ステップS26で、エラー処理のためにNVRAM変数であるFjSdBtTerm変数をチェックする。具体的には、ステップS26は、FjSdBtTerm変数の値が「0」であるか否かを判定する。ステップS26の判定結果がYESであると、ステップS27はエラー通知を行った後、コンピュータシステム1をリセットし、処理は終了する。他方、FjSdBtTerm変数の値が「0」以外でステップS26の判定結果がNOの場合には、ステップS28は、CDROM/DVDROM装置3をブート対象とし、ステップS35でこのブート対象装置に対してブート処理を行ない、処理は終了する。
FjSdBootYYYY変数のデータを解析した結果、コンピュータシステム1に接続されたものと一致してステップS24の判定結果がYESであると、ステップS29は、FjSdBootNext変数が指定するFjSdBootYYYY変数に設定されているSADUMPローダをブート対象とする。このとき、実際にブート処理を行う前に、ステップS30でFjSdBtTerm変数をチェックする。ステップS30は、FjSdBtTerm変数の値が「0」か否かを判定する。ステップS30の判定結果がYESの場合には、その後エラーが発生してもCDROM/DVDROM装置3からのリトライに移行しないので、ステップS31でFjSdBootNext変数を削除してSADUMP指定フラグをOFFにクリアした後、ステップS35でブート対象装置に対してブート処理を行い、処理は終了する。
FjSdBtTerm変数が「0」以外でステップS30の判定結果がNOの場合には、CDROM/DVDROM装置3によるリトライを実行する可能性があるので、先ず、ステップS32で,現在既にブート対象装置がCDROM/DVDROM装置3であるか否かのチェックをFjSdBootYYYYのデバイス情報に基づいて行なう。ブート対象装置がCDROM/DVDROM装置3でありステップS32の判定結果がYESである場合には、エラー終了しても更にCDROM/DVDROM装置3からリトライすることはないので、ステップS33でFjSdBootNext変数を削除し、システム監視機構12のSADUMP指定フラグをOFFにクリアした後、ステップS35でブート対象装置に対してブート処理を行い、処理は終了する。他方、ブート対象装置がCDROM/DVDROM装置3ではなくステップS32の判定結果がNOである場合には、エラー終了した場合に、次にCDROM/DVDROM装置3でリトライが可能なようにステップS34でFjSdBootNext変数にCDROM/DVDROM装置3の情報を設定した後、ステップS35でブート対象装置に対してブート処理を行い、処理は終了する。
次に、FjSdBtTblテーブル変数の仕様について説明する。FjSdBtTblテーブル変数は、OSローダ242のブート対象装置を指定するブートオプション変数であるBootXXXXのXXXXの部分の値を持つ2バイトのOsBootNum変数と、SADUMPローダのブート対象装置を指定するブートオプション変数であるFjSdBootYYYYのYYYYの部分の値を持つ2バイトのSdBootNum変数をメンバとする構造体を要素とする配列から構成されている。
typedef struct _FJSV_SD_BT_TBL_ENTRY {
UINT16 OsBootNum ; // BootXXXXのXXXXに対応した番号
UNIT16 SdBootNum ; // FjSdBootYYYYのYYYYに対応した番号
} FJSV_SD_BT_TBL_ENTRY ;
本実施例では、説明の便宜上、FjSdBootテーブル変数には、予めOSローダ242と対応するSADUMPローダのエントリデータが設定されているものとする。このFjSdBtTblテーブル変数の設定は、SADUMPインストーラ244により、以下の規則で設定可能である。
(1)FjSdBtTblテーブル変数は、コンピュータシステム1にインストールされたSADUMPがサポートするOS243のブートオプションBootXXXXに対応したエントリのみで構成されるものとする。ここで、SADUMPがサポートするOS243とは、そのOS243を運用中に障害が発生した場合に、SADUMPを起動することにより障害調査用のメモリダンプが実行できるOS243のことである。複数のOS243がコンピュータシステム1でブート可能である場合等で、インストールされたSADUMPが一部のOS243しかサポートしていない場合には、サポートしているOS243に対応したものだけでエントリを構成する。又、仮にSADUMPがOS243をサポートすることができても、FjSdBtTblテーブル変数のエントリに加えられていなければ、そのOS243の運用時に障害が発生してもSADUMPは起動されない。
(2)OsBootNum変数に設定される番号は、FjSdBtTblテーブル変数のエントリの番号が小さいほど、小さい値になるように設定される。
(3)SADUMPは1つで複数のOS243をサポートできる。従って、SdBootNum変数は、異なったエントリに同じ値が入ることがあり得る。
(4)コンピュータシステム1には、複数のSADUMPをインストール可能である。ただし、インストールされた複数のOS243の夫々をどのSADUMPに対応させるかは、一意に決める必要がある。
(5)FjSdBtTblテーブル変数は、SADUMPのインストール時にSADUMPインストーラ244によって、コンピュータシステム1でブート可能なOS243との関係を対応付けした上で作成される。又、SADUMPのアンインストール時に、SADUMPアンインストーラ245によりアンインストールするSADUMPのローダ番号を持つエントリが全て削除される。更に、SADUMPインストール後にOS243を新規にインストールしたり、アンインストールした場合に、SADUMPインストーラ244を起動することによって、新規のOS243をSADUMPと関係付けして新たにエントリに加えたり、アンインストールしたOS243のブートオプション番号を持つエントリを削除したりすることにより、メンテナンスが行われる。
以下に、FjSdBtTblテーブル変数を利用して、OSローダ242のブート対象装置に対応したSADUMPローダのブート対象装置の取得処理を説明する。
OS243のブート時に、複数存在するブートオプションの中からブート対象のブートオプションであるBootXXXXが選択されるが、選択したOS243でコンピュータシステム1を運用中に障害が発生してSADUMPを起動したときに、コンピュータシステム1にインストールされたどのSADUMPを起動するかを予め設定するためにFjSdBootNext変数を作成し、起動するSADUMPのブートオプションであるFjSdBootYYYYのYYYYの部分の番号を設定しておく。ここで、選択したOS243のブートオプションであるBootXXXXがどのFjSdBootYYYYに対応するかを調べるためにFjSdBtTblテーブル変数を使用する。即ち、選択したブート対象のBootXXXXのXXXXの値とFjSdBtTblテーブル変数のOsBootNum変数の値をエントリの小さい方から大きい方へ順番に比較して行く。ここで、存在するエントリを全て比較した結果一致するものがない場合には、FjSdBootNext変数を作成せずにBootXXXXに従ったOS243をブートする。この場合、起動するOS243は対応するSADUMPを持たないため、SADUMPは実行されない。一致するエントリが存在する場合には、FjSdBootNext変数を作成し、一致したエントリのSdBootNum変数に保存された値をFjSdBootNext変数の値とする。
図4は、FjSdBtTblテーブル変数を利用してBootXXXX変数に対応するFjSdBootYYYY変数を決定する処理を説明する図である。図4は、Boot0003変数にFjSdBoot0002変数が対応している場合を示す。
通常のOSローダ242のブート処理では、BootOrder, BootNext等のブート変数(又は、NVRAM変数)からブート対象とするBootXXXX変数を決定する。そして、決定したBootXXXX変数のXXXXの値をBootCurrent (メモリ変数)に設定するが、更に、このXXXXの値をキーにしてFjSdTblテーブル変数を検索し、キーに対応したエントリが存在する場合にはNVRAM変数であるFjSdNextを作成し、キーに対応したエントリからFjSdBootYYYY変数のYYYYの値を取り出しFjSdBootNext変数に設定する。ここで、キーに対応したエントリが存在しない場合には、NVRAM変数であるFjSdNextを削除する。その後、Boot0003変数に設定されたブート対象装置からOSローダ242をブートする。
次にmFjSdBootYYYY変数の仕様について説明する。 FjSdBootYYYY変数は、例えば以下のような仕様となっている。
typedef struct _FJSV_SD_BOOT {
UINT32 Attributes ;
UINT16 FilePathListLength ;
CHAR16 Description[] ;
DEVICE_PATH FilePathList[] ;
UINT8 OptionalData[] ;
} FJ_SD_BOOT ;
ここで、Attributes、FilePathListLength、FilePathList及びOptionalDataなる変数は、次の通り定義される。
1)Attributes: SADUMPをロード時の追加処理を指定する情報である。
2)FilePathListLength:FilePathListのバイトサイズを示す情報である。
3)Description:SADUMPのブートオプションの説明を入れる情報であり、NULL文字で終了するユニコード文字列である。
4)FilePathList:対象とするSADUMPを起動するためのSADUMPローダの場所を特定するためのデバイスパス情報である。
5)OptionalData:SADUMPローダに受け渡すデータである。
図5は、SADUMPインストーラ244がNVRAM変数に対して実施する処理を説明するフローチャートである。
図5において、ステップS41で、SADUMPのインストール時に実施するSADUMPのブートオプション設定処理が開始されると、ステップS42は、SADUMPのブートオプション設定を開始し、ステップS43は、FjSdBootZZZZ変数がNVRAM23内に存在するか否かを判定する。ステップS43の判定結果がYESであると、ステップS44は、FjSdBootZZZZ変数のZZZZの値を更新した新規のFjSdBootYYYY変数を作成し、インストールするSADUMPのSADUMPローダのデバイスパス情報を設定する。他方、ステップS43の判定結果がNOであると、ステップS45は、FjSdBoot0000変数を作成し、インストールするSADUMPのSADUMPローダのデバイスパス情報を設定する。
ステップS44又はS45の後、ステップS46は、FjSdBtTblテーブル変数がNVRAM23内に存在するか否かを判定する。ステップS46の判定結果がYESであると、ステップS47は、FjSdBtTblテーブル変数をNVRAM23からリードする。ステップS46の判定結果がNO、或いは、ステップS47の後、ステップS48は、新規に作成したFjSdBootYYYYのYYYYの値を対応するOSローダ242のブートオプションであるBootXXX変数のXXXXと対にしたデータを作成し、FjSdBtTblテーブル変数がNVRAM23内に存在している場合には既存のデータに追加して新規のFjSdBtTblテーブル変数とする。又、ステップS49は、SADUMPのブートオプション設定を終了する。
図6は、SADUMPアンインストーラ245がNVRAM変数に対して実施する処理を説明するフローチャートである。
図6において、ステップS51で、SADUMPのアンインストール時に実施するSADUMPのブートオプション削除処理が開始されると、ステップS52は、FjSdBtTblテーブル変数をNVRAM23からリードし、アンインストールするSADUMPのブートオプションの番号(FjSdBootYYYYのYYYY)の値を有するエントリを削除したデータを作成し、新規のFjSdBtTblテーブル変数とすると共に、エントリが全てなくなった場合にはFjSdBtTblテーブル変数を削除したまま作成しない。ステップS53は、アンインストールするSADUMPのブートオプションであるFjSdBootYYYY変数を削除する。ステップS54は、SADUMPのブートオプションの削除を終了する。
本発明は、複数のOSがブート可能で、OSをブートするときに、複数のブート対象装置から自動若しくは手動でブート対象装置を選択することによりOSを切り替えて運用可能なコンピュータシステムに適用可能であり、OSを運用中に障害が発生するとコンピュータシステムをリセットして起動するスタンドアロンダンププログラムを、直前に運用していたOSに最適なメモリダンプ採取をサポートするものに設定可能とする。
尚、本発明は、以下に付記する発明をも包含するものである。
(付記1) コンピュータシステムのブートファームウェアが管理する不揮発性変数に、該コンピュータシステムにインストールされている複数のスタンドアロンダンププログラムのブート情報と、該複数のスタンドアロンダンププログラムと複数のオペレーティングシステムの対応関係を示すテーブル変数を定義するステップと、
該ブートファームウェアが1つの任意のオペレーティングシステムをブートするときに、該テーブル変数から対応する1つのスタンドアロンダンププログラムのブート情報を特定して、特定したブート情報を示す情報をスタンドアロンダンプ実行時に参照する不揮発性変数に書き込むステップと、
該スタンドアロンダンプの起動が指定されたときに、該スタンドアロンダンプ実行時に参照する変数の有無と、存在する場合にはその情報を参照することにより、複数のスタンドアロンダンププログラムのうち対応する該1つのスタンドアロンダンププログラムをブートするステップとを含むことを特徴とする、メモリダンププログラムのブート方法。
(付記2) ブートする該1つのオペレーティングシステムが対応するスタンドアロンダンププログラムを持たない場合には、スタンドアロンダンプ実行時に参照する変数自体を作らないことを特徴とする、付記1記載のメモリダンププログラムのブート方法。
(付記3) 該ブート情報は、ブート対象装置がコンピュータシステムのどこに接続されているかを示すデバイスパス情報とオペレーティングシステムローダプログラムのファイル位置やファイル名を情報として持つ第1の変数と、複数存在する該第1の変数で表されるブート対象装置にブート起動をかける順番を指定する第2の変数と、スタンドアロンダンププログラムのローダプログラムが格納されているブート対象装置のデバイスパス情報と該スタンドアロンダンププログラムのローダプログラムのファイル位置やファイル名を情報として持つ第3の変数と、次回起動する該スタンドアロンダンププログラムのローダプログラムのブート情報である該第3の変数を保持する第4の変数と、該スタンドアロンダンプがエラー終了した場合の処理を指定する第5の変数とを含むことを特徴とする、付記1又は2記載のメモリダンププログラムのブート方法。
(付記4) 該ブート対象装置は、ハードディスク装置及び/又はCDROM/DVDROM装置であり、該第5の変数は、エラー通知を行って該1つの任意のオペレーティングシステムを再起動するか、或いは、ブート対象装置である該CDROM/DVDROM装置に格納されているスタンドアロンダンププログラムをブートすることを示すことを特徴とする、付記3記載のメモリダンププログラムのブート方法。
(付記5) スタンドアロンダンププログラムのローダプログラムのイメージと、スタンドアロンダンププログラムのイメージとは、該オペレーティングシステムのローダプログラムのイメージや該オペレーティングシステムのイメージを格納し該コンピュータシステムに接続されているブート対象装置内の格納場所に依存しない格納場所に格納されていることを特徴とする、付記1〜4のいずれか1項記載のメモリダンププログラムのブート方法。
(付記6) 該コンピュータシステムの本体部とは独立したハードウェアで動作するシステム監視機構により、メモリ診断を行うか否かを示すフラグを管理するステップを更に含むことを特徴とする、付記1〜5のいずれか1項記載のメモリダンププログラムのブート方法。
(付記7) コンピュータシステムのブートファームウェアが管理する不揮発性変数に、該コンピュータシステムにインストールされている複数のスタンドアロンダンププログラムのブート情報と、該複数のスタンドアロンダンププログラムと複数のオペレーティングシステムの対応関係を示すテーブル変数を格納する不揮発性メモリと、
該ブートファームウェアが1つの任意のオペレーティングシステムをブートするときに、該テーブル変数から対応する1つのスタンドアロンダンププログラムのブート情報を特定して、特定したブート情報を示す情報をスタンドアロンダンプ実行時に参照する不揮発性変数に書き込む手段と、
該スタンドアロンダンプの起動が指定されたときに、該スタンドアロンダンプ実行時に参照する変数の有無と、存在する場合にはその情報を参照することにより、複数のスタンドアロンダンププログラムのうち対応する該1つのスタンドアロンダンププログラムをブートする手段とを備えたことを特徴とする、メモリダンププログラムのブート装置。
(付記8) ブートする該1つのオペレーティングシステムが対応するスタンドアロンダンププログラムを持たない場合には、スタンドアロンダンプ実行時に参照する変数自体を作らないことを特徴とする、付記7記載のメモリダンププログラムのブート装置。
(付記9) 該ブート情報は、ブート対象装置がコンピュータシステムのどこに接続されているかを示すデバイスパス情報とオペレーティングシステムローダプログラムのファイル位置やファイル名を情報として持つ第1の変数と、複数存在する該第1の変数で表されるブート対象装置にブート起動をかける順番を指定する第2の変数と、スタンドアロンダンププログラムのローダプログラムが格納されているブート対象装置のデバイスパス情報と該スタンドアロンダンププログラムのローダプログラムのファイル位置やファイル名を情報として持つ第3の変数と、次回起動する該スタンドアロンダンププログラムのローダプログラムのブート情報である該第3の変数を保持する第4の変数と、該スタンドアロンダンプがエラー終了した場合の処理を指定する第5の変数とを含むことを特徴とする、付記7又は8記載のメモリダンププログラムのブート装置。
(付記10) 該ブート対象装置は、ハードディスク装置及び/又はCDROM/DVDROM装置からなり、該第5の変数は、エラー通知を行って該1つの任意のオペレーティングシステムを再起動するか、或いは、ブート対象装置である該CDROM/DVDROM装置に格納されているスタンドアロンダンププログラムをブートすることを示すことを特徴とする、付記9記載のメモリダンププログラムのブート装置。
(付記11) スタンドアロンダンププログラムのローダプログラムのイメージと、スタンドアロンダンププログラムのイメージとは、該オペレーティングシステムのローダプログラムのイメージや該オペレーティングシステムのイメージを格納し該コンピュータシステムに接続されているブート対象装置内の格納場所に依存しない格納場所に格納されていることを特徴とする、付記7〜10のいずれか1項記載のメモリダンププログラムのブート装置。
(付記12) 該コンピュータシステムの本体部とは独立したハードウェアで動作すると共に、メモリ診断を行うか否かを示すフラグを管理するシステム監視機構を更に備えたことを特徴とする、付記7〜11のいずれか1項記載のメモリダンププログラムのブート装置。
(付記13) コンピュータシステムのコンピュータにメモリダンププログラムのブートを行わせるプログラムであって、
該コンピュータに、該コンピュータシステムのブートファームウェアが管理する不揮発性変数に、該コンピュータシステムにインストールされている複数のスタンドアロンダンププログラムのブート情報と、該複数のスタンドアロンダンププログラムと複数のオペレーティングシステムの対応関係を示すテーブル変数を定義させる手順と、
該コンピュータに、該ブートファームウェアが1つの任意のオペレーティングシステムをブートするときに、該テーブル変数から対応する1つのスタンドアロンダンププログラムのブート情報を特定して、特定したブート情報を示す情報をスタンドアロンダンプ実行時に参照する不揮発性変数に書き込ませる手順と、
該コンピュータに、該スタンドアロンダンプの起動が指定されたときに、該スタンドアロンダンプ実行時に参照する変数の有無と、存在する場合にはその情報を参照することにより、複数のスタンドアロンダンププログラムのうち対応する該1つのスタンドアロンダンププログラムをブートさせる手順とを含むことを特徴とする、プログラム。
(付記14) 該コンピュータに、ブートする該1つのオペレーティングシステムが対応するスタンドアロンダンププログラムを持たない場合には、スタンドアロンダンプ実行時に参照する変数自体を作らせないことを特徴とする、付記13記載のプログラム。
(付記15) 該ブート情報は、ブート対象装置がコンピュータシステムのどこに接続されているかを示すデバイスパス情報とオペレーティングシステムローダプログラムのファイル位置やファイル名を情報として持つ第1の変数と、複数存在する該第1の変数で表されるブート対象装置にブート起動をかける順番を指定する第2の変数と、スタンドアロンダンププログラムのローダプログラムが格納されているブート対象装置のデバイスパス情報と該スタンドアロンダンププログラムのローダプログラムのファイル位置やファイル名を情報として持つ第3の変数と、次回起動する該スタンドアロンダンププログラムのローダプログラムのブート情報である該第3の変数を保持する第4の変数と、該スタンドアロンダンプがエラー終了した場合の処理を指定する第5の変数とを含むことを特徴とする、付記13又は14記載のプログラム。
(付記16) 該ブート対象装置は、ハードディスク装置及び/又はCDROM/DVDROM装置であり、該第5の変数は、エラー通知を行って該1つの任意のオペレーティングシステムを再起動するか、或いは、ブート対象装置である該CDROM/DVDROM装置に格納されているスタンドアロンダンププログラムをブートすることを示すことを特徴とする、付記15記載のプログラム。
(付記17) スタンドアロンダンププログラムのローダプログラムのイメージと、スタンドアロンダンププログラムのイメージとは、該オペレーティングシステムのローダプログラムのイメージや該オペレーティングシステムのイメージを格納し該コンピュータシステムに接続されているブート対象装置内の格納場所に依存しない格納場所に格納されていることを特徴とする、付記13〜16のいずれか1項記載のプログラム。
(付記18) 該コンピュータに、該コンピュータシステムの本体部とは独立したハードウェアで動作するシステム監視機構により、メモリ診断を行うか否かを示すフラグを管理させる手順を更に含むことを特徴とする、付記13〜17のいずれか1項記載のプログラム。
以上、本発明を実施例により説明したが、本発明は上記実施例に限定されるものではなく、種々の変形及び改良が可能であることは、言うまでもない。
本発明の一実施例が適用されたコンピュータシステムを示す図である。 コンピュータシステムにおけるROMファームウェア及びブートファームウェアの処理を説明するフローチャートである。 SADUMPローダのブート処理を説明するフローチャートである。 FjSdBtTblテーブル変数を利用してBootXXXXに対応するFjSdBootYYYYを決定する処理を説明する図である。 SADUMPインストーラがNVRAM変数に対して実施する処理を説明するフローチャートである。 SADUMPアンインストーラがNVRAM変数に対して実施する処理を説明するフローチャートである。
符号の説明
1 コンピュータシステム
2−1〜2−3 ハードディスク装置
3 CDROM/DVDROM装置
11 本体部
12 システム監視機構
21 ROMファームウェア
22 ROM(FMEM)
23 NVRAM
24 メインメモリ
241 ブートファームウェア
242 OSローダ
243 OS
244 SADUMPインストーラ
245 SADUMPアンインストーラ

Claims (10)

  1. 複数のオペレーティングシステムのブートが可能であり、オペレーティングシステムをブートする場合に、接続された複数のブート対象装置のいずれかからブート対象装置を選択してオペレーティングシステムを切り換えて運用可能な単一のコンピュータシステムにおける、前記コンピュータシステムのコンピュータによるメモリダンププログラムのブート方法において、
    前記コンピュータシステムのブートファームウェアが管理する不揮発性変数に、該コンピュータシステムにインストールされている複数のスタンドアロンダンププログラムの各々のブート情報と、該複数のスタンドアロンダンププログラムと複数のオペレーティングシステムの対応関係を示すテーブル変数とが定義されており
    前記メモリダンププログラムのブート方法は、
    該ブートファームウェアが1つの任意のオペレーティングシステムをブートするときに、該テーブル変数から対応する1つのスタンドアロンダンププログラムのブート情報を特定して、特定したブート情報を示す情報をスタンドアロンダンプ実行時に参照する不揮発性変数に書き込むステップと、
    該スタンドアロンダンププログラムの起動が指定されたときに、該スタンドアロンダンプ実行時に参照する変数の有無を判別すると共に該変数が存在する場合には当該変数に対応するスタンドアロンダンププログラムのブート情報を参照して、複数のスタンドアロンダンププログラムのうち前記任意のオペレーティングシステムに対応するタンドアロンダンププログラムをブートするステップとを
    前記コンピュータに実行させることを特徴とする、メモリダンププログラムのブート方法。
  2. ブートする該任意のオペレーティングシステムが対応するスタンドアロンダンププログラムを持たない場合には、スタンドアロンダンプ実行時に参照する変数は当該オペレーティングシステムに対応する不揮発性変数として定義されておらず、
    該スタンドアロンダンププログラムの起動が指定されたときに、該スタンドアロンダンプ実行時に参照する変数が不揮発性変数として定義されていない場合には、該コンピュータシステムをリセットするステップを
    更に前記コンピュータに実行させることを特徴とする、請求項1記載のメモリダンププログラムのブート方法。
  3. 該ブート情報は、ブート対象装置がコンピュータシステムのどこに接続されているかを示すデバイスパス情報とオペレーティングシステムローダプログラムのファイル位置及びファイル名を情報として持つ第1の変数と、第1の変数で表される複数のブート対象装置にブート起動をかける順番を指定する第2の変数と、スタンドアロンダンププログラムのローダプログラムが格納されているブート対象装置のデバイスパス情報と該スタンドアロンダンププログラムのローダプログラムのファイル位置及びファイル名を情報として持つ第3の変数と、次回起動する該スタンドアロンダンププログラムのローダプログラムのブート情報である該第3の変数を保持する第4の変数と、該スタンドアロンダンプがエラー終了した場合の処理を指定する第5の変数とを含むことを特徴とする、請求項1又は2記載のメモリダンププログラムのブート方法。
  4. 複数のオペレーティングシステムのブートが可能であり、オペレーティングシステムをブートする場合に、接続された複数のブート対象装置のいずれかからブート対象装置を選択してオペレーティングシステムを切り換えて運用可能な単一のコンピュータシステムのブートファームウェアが管理する不揮発性変数に、該コンピュータシステムにインストールされている複数のスタンドアロンダンププログラムの各々のブート情報と、該複数のスタンドアロンダンププログラムと複数のオペレーティングシステムの対応関係を示すテーブル変数とが定義されて格納されている不揮発性メモリと、
    該ブートファームウェアが1つの任意のオペレーティングシステムをブートするときに、該テーブル変数から対応する1つのスタンドアロンダンププログラムのブート情報を特定して、特定したブート情報を示す情報をスタンドアロンダンプ実行時に参照する不揮発性変数に書き込む手段と、
    該スタンドアロンダンププログラムの起動が指定されたときに、該スタンドアロンダンプ実行時に参照する変数の有無を判別すると共に該変数が存在する場合には当該変数に対応するスタンドアロンダンププログラムのブート情報を参照して、複数のスタンドアロンダンププログラムのうち前記任意のオペレーティングシステムに対応するタンドアロンダンププログラムをブートする手段とを備えたことを特徴とする、メモリダンププログラムのブート装置。
  5. ブートする該任意のオペレーティングシステムが対応するスタンドアロンダンププログラムを持たない場合には、スタンドアロンダンプ実行時に参照する変数は当該オペレーティングシステムに対応する不揮発性変数として定義されておらず、
    該スタンドアロンダンププログラムの起動が指定されたときに、該スタンドアロンダンプ実行時に参照する変数が不揮発性変数として定義されていない場合には、該コンピュータシステムをリセットする手段を更に備えたことを特徴とする、請求項4記載のメモリダンププログラムのブート装置。
  6. 該ブート情報は、ブート対象装置がコンピュータシステムのどこに接続されているかを示すデバイスパス情報とオペレーティングシステムローダプログラムのファイル位置及びファイル名を情報として持つ第1の変数と、第1の変数で表される複数のブート対象装置にブート起動をかける順番を指定する第2の変数と、スタンドアロンダンププログラムのローダプログラムが格納されているブート対象装置のデバイスパス情報と該スタンドアロンダンププログラムのローダプログラムのファイル位置及びファイル名を情報として持つ第3の変数と、次回起動する該スタンドアロンダンププログラムのローダプログラムのブート情報である該第3の変数を保持する第4の変数と、該スタンドアロンダンプがエラー終了した場合の処理を指定する第5の変数とを含むことを特徴とする、請求項4又は5記載のメモリダンププログラムのブート装置。
  7. 前記スタンドアロンダンププログラムのローダプログラムのイメージと、前記スタンドアロンダンププログラムのイメージとは、該オペレーティングシステムのローダプログラムのイメージ及び該オペレーティングシステムのイメージを格納し該コンピュータシステムに接続されているブート対象装置内の格納場所に依存しない格納場所に格納されていることを特徴とする、請求項4〜6のいずれか1項記載のメモリダンププログラムのブート装置。
  8. 複数のオペレーティングシステムのブートが可能であり、オペレーティングシステムをブートする場合に、接続された複数のブート対象装置のいずれかからブート対象装置を選択してオペレーティングシステムを切り換えて運用可能な単一のコンピュータシステムのコンピュータにメモリダンププログラムのブートを行わせるプログラムであって、
    コンピュータシステムのブートファームウェアが管理する不揮発性変数に、該コンピュータシステムにインストールされている複数のスタンドアロンダンププログラムの各々のブート情報と、該複数のスタンドアロンダンププログラムと複数のオペレーティングシステムの対応関係を示すテーブル変数とが定義されており
    該コンピュータに、該ブートファームウェアが1つの任意のオペレーティングシステムをブートするときに、該テーブル変数から対応する1つのスタンドアロンダンププログラムのブート情報を特定して、特定したブート情報を示す情報をスタンドアロンダンプ実行時に参照する不揮発性変数に書き込ませる手順と、
    該コンピュータに、該スタンドアロンダンププログラムの起動が指定されたときに、該スタンドアロンダンプ実行時に参照する変数の有無を判別すると共に該変数が存在する場合には当該変数に対応するスタンドアロンダンププログラムのブート情報を参照して、複数のスタンドアロンダンププログラムのうち前記任意のオペレーティングシステムに対応するタンドアロンダンププログラムをブートさせる手順と
    を含むことを特徴とする、プログラム。
  9. ートする該任意のオペレーティングシステムが対応するスタンドアロンダンププログラムを持たない場合には、スタンドアロンダンプ実行時に参照する変数は当該オペレーティングシステムに対応する不揮発性変数として定義されておらず、
    前記コンピュータに、該スタンドアロンダンププログラムの起動が指定されたときに、該スタンドアロンダンプ実行時に参照する変数が不揮発性変数として定義されていない場合には、該コンピュータシステムをリセットさせる手順を更に含むことを特徴とする、請求項8記載のプログラム。
  10. 該ブート情報は、ブート対象装置がコンピュータシステムのどこに接続されているかを示すデバイスパス情報とオペレーティングシステムローダプログラムのファイル位置及びファイル名を情報として持つ第1の変数と、第1の変数で表される複数のブート対象装置にブート起動をかける順番を指定する第2の変数と、スタンドアロンダンププログラムのローダプログラムが格納されているブート対象装置のデバイスパス情報と該スタンドアロンダンププログラムのローダプログラムのファイル位置及びファイル名を情報として持つ第3の変数と、次回起動する該スタンドアロンダンププログラムのローダプログラムのブート情報である該第3の変数を保持する第4の変数と、該スタンドアロンダンプがエラー終了した場合の処理を指定する第5の変数とを含むことを特徴とする、請求項8又は9記載のプログラム。
JP2005018287A 2005-01-26 2005-01-26 メモリダンププログラムのブート方法、機構及びプログラム Expired - Fee Related JP4528144B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2005018287A JP4528144B2 (ja) 2005-01-26 2005-01-26 メモリダンププログラムのブート方法、機構及びプログラム
EP05252719.9A EP1691281B1 (en) 2005-01-26 2005-04-29 Memory dump program boot method
US11/118,333 US7302559B2 (en) 2005-01-26 2005-05-02 Memory dump program boot method and mechanism, and computer-readable storage medium
KR1020050043573A KR100689742B1 (ko) 2005-01-26 2005-05-24 메모리 덤프 프로그램의 부팅 방법, 기구 및 프로그램을기록한 컴퓨터로 판독 가능한 기록 매체
CNB2005100740416A CN100389395C (zh) 2005-01-26 2005-05-25 存储器转储程序引导方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005018287A JP4528144B2 (ja) 2005-01-26 2005-01-26 メモリダンププログラムのブート方法、機構及びプログラム

Publications (2)

Publication Number Publication Date
JP2006209320A JP2006209320A (ja) 2006-08-10
JP4528144B2 true JP4528144B2 (ja) 2010-08-18

Family

ID=36617005

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005018287A Expired - Fee Related JP4528144B2 (ja) 2005-01-26 2005-01-26 メモリダンププログラムのブート方法、機構及びプログラム

Country Status (5)

Country Link
US (1) US7302559B2 (ja)
EP (1) EP1691281B1 (ja)
JP (1) JP4528144B2 (ja)
KR (1) KR100689742B1 (ja)
CN (1) CN100389395C (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7484127B2 (en) * 2005-01-13 2009-01-27 Nokia Siemens Networks Oy Method and system for preserving crash dump in a diskless system
JP4778247B2 (ja) * 2005-03-17 2011-09-21 富士通株式会社 リモートブート方法、機構及びプログラム
US8375386B2 (en) 2005-06-29 2013-02-12 Microsoft Corporation Failure management for a virtualized computing environment
US7506203B2 (en) * 2005-11-10 2009-03-17 International Business Machines Corporation Extracting log and trace buffers in the event of system crashes
US20080270842A1 (en) * 2007-04-26 2008-10-30 Jenchang Ho Computer operating system handling of severe hardware errors
CN101295268B (zh) * 2007-04-27 2011-03-02 国际商业机器公司 面向软件系统的分区存储器转储方法和装置
US8185727B2 (en) 2008-04-24 2012-05-22 Dell Products, Lp Method of using an information handling system having a boot file, and an information handling system and machine-executable code for carrying out the method
US8631186B2 (en) 2008-09-30 2014-01-14 Intel Corporation Hardware and file system agnostic mechanism for achieving capsule support
KR101658485B1 (ko) * 2009-06-18 2016-09-22 삼성전자주식회사 휴대용 단말기에서 디버깅을 위한 부팅 방법 및 장치
JP5120664B2 (ja) * 2009-07-06 2013-01-16 日本電気株式会社 サーバシステム及びクラッシュダンプ採取方法
US8589733B2 (en) * 2010-08-13 2013-11-19 International Business Machines Corporation Saving operational state of open applications when unexpected shutdown events occur
WO2012127522A1 (ja) * 2011-03-18 2012-09-27 富士通株式会社 情報処理装置及び情報処理装置の制御方法
EP2842035A2 (en) 2012-04-27 2015-03-04 Marvell World Trade Ltd. Memory dump and analysis in a computer system
CN103150226A (zh) * 2013-04-01 2013-06-12 山东鲁能软件技术有限公司 计算机模型异常转储与恢复系统及其转储与恢复方法
CN104932922A (zh) * 2015-06-18 2015-09-23 浪潮电子信息产业股份有限公司 一种调整sas卡硬盘启动顺序的方法及装置
US9710321B2 (en) * 2015-06-23 2017-07-18 Microsoft Technology Licensing, Llc Atypical reboot data collection and analysis

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63139719A (ja) * 1986-12-01 1988-06-11 Canon Inc 多層構造樹脂成形品の成形装置
JPS63292249A (ja) * 1987-05-25 1988-11-29 Fujitsu Ltd ダンプ処理方式
JPH05265812A (ja) * 1992-03-23 1993-10-15 Nec Corp マイクロ診断装置付情報処理装置
JPH07325738A (ja) * 1994-05-31 1995-12-12 Nec Software Ltd メモリダンプ装置
JPH0895834A (ja) * 1994-09-28 1996-04-12 Toshiba Corp システムダンプ採取方法
JP2001125810A (ja) * 1999-10-25 2001-05-11 Nec Corp コンピュータシステムおよびコンピュータシステムにおけるダンプ方法

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2685532B2 (ja) * 1988-09-22 1997-12-03 株式会社日立製作所 メモリダンプ方式
US5128995A (en) * 1990-07-23 1992-07-07 International Business Machines Corp. Apparatus and method for loading a system reference diskette image from a system partition in a personal computer system
US5761739A (en) * 1993-06-08 1998-06-02 International Business Machines Corporation Methods and systems for creating a storage dump within a coupling facility of a multisystem enviroment
FI102220B1 (fi) * 1995-10-30 1998-10-30 Nokia Telecommunications Oy Vikaantumistietojen keräys tietokoneyksikön uudelleenkäynnistyksen osana
JP3848414B2 (ja) * 1996-12-24 2006-11-22 株式会社東芝 プリンタドライバのインストール方法
US6718482B2 (en) * 1997-09-12 2004-04-06 Hitachi, Ltd. Fault monitoring system
JP2000267872A (ja) * 1999-03-17 2000-09-29 Fujitsu Ltd 2重化システムにおける再開処理方式
US20040258750A1 (en) 1999-06-28 2004-12-23 Gerard Alaux Timed dual release dosage forms comprising a short acting hypnotic or a salt thereof
US6820214B1 (en) * 1999-07-26 2004-11-16 Microsoft Corporation Automated system recovery via backup and restoration of system state
JP2001101033A (ja) * 1999-09-27 2001-04-13 Hitachi Ltd オペレーティングシステム及びアプリケーションプログラムの障害監視方法
US6754855B1 (en) * 1999-12-01 2004-06-22 Microsoft Corporation Automated recovery of computer appliances
JP2001290678A (ja) * 2000-04-07 2001-10-19 Hitachi Ltd 非同期メモリダンプ実行方式
US6643802B1 (en) * 2000-04-27 2003-11-04 Ncr Corporation Coordinated multinode dump collection in response to a fault
US6681348B1 (en) * 2000-12-15 2004-01-20 Microsoft Corporation Creation of mini dump files from full dump files
US6779132B2 (en) * 2001-08-31 2004-08-17 Bull Hn Information Systems Inc. Preserving dump capability after a fault-on-fault or related type failure in a fault tolerant computer system
KR100444996B1 (ko) * 2002-02-08 2004-08-21 삼성전자주식회사 인터넷을 통한 디바이스 드라이버 자동 설치 및 유지 보수방법 및 그 시스템
CN1286012C (zh) * 2002-03-20 2006-11-22 联想(北京)有限公司 计算机硬盘内信息恢复和备份的实现方法
JP4063573B2 (ja) 2002-04-11 2008-03-19 日本電気通信システム株式会社 デバイスドライバの組み込み・実行方式、組み込み・実行方法、及びプログラム
JP2004258750A (ja) 2003-02-24 2004-09-16 Fuji Photo Film Co Ltd 画像の特徴ベクトルのクラスタリング方法および装置
WO2005089400A2 (en) * 2004-03-17 2005-09-29 Riverstone Networks, Inc. Managing process state information in an operating system environment
US20050240806A1 (en) * 2004-03-30 2005-10-27 Hewlett-Packard Development Company, L.P. Diagnostic memory dump method in a redundant processor
US7383471B2 (en) * 2004-12-28 2008-06-03 Hewlett-Packard Development Company, L.P. Diagnostic memory dumping

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63139719A (ja) * 1986-12-01 1988-06-11 Canon Inc 多層構造樹脂成形品の成形装置
JPS63292249A (ja) * 1987-05-25 1988-11-29 Fujitsu Ltd ダンプ処理方式
JPH05265812A (ja) * 1992-03-23 1993-10-15 Nec Corp マイクロ診断装置付情報処理装置
JPH07325738A (ja) * 1994-05-31 1995-12-12 Nec Software Ltd メモリダンプ装置
JPH0895834A (ja) * 1994-09-28 1996-04-12 Toshiba Corp システムダンプ採取方法
JP2001125810A (ja) * 1999-10-25 2001-05-11 Nec Corp コンピュータシステムおよびコンピュータシステムにおけるダンプ方法

Also Published As

Publication number Publication date
CN100389395C (zh) 2008-05-21
EP1691281B1 (en) 2016-06-01
CN1811723A (zh) 2006-08-02
KR20060086796A (ko) 2006-08-01
EP1691281A3 (en) 2009-01-07
JP2006209320A (ja) 2006-08-10
EP1691281A2 (en) 2006-08-16
KR100689742B1 (ko) 2007-03-09
US20060168439A1 (en) 2006-07-27
US7302559B2 (en) 2007-11-27

Similar Documents

Publication Publication Date Title
JP4528144B2 (ja) メモリダンププログラムのブート方法、機構及びプログラム
US8533304B2 (en) Remotely deploying and automatically customizing workstation images
US6804774B1 (en) Software image transition aid comprising building a disk image based on identified hardware
US7734945B1 (en) Automated recovery of unbootable systems
KR100739911B1 (ko) 리모트 부트 방법, 기구 및 프로그램을 저장한 컴퓨터 판독 가능 기록 매체
US8132186B1 (en) Automatic detection of hardware and device drivers during restore operations
US7617391B2 (en) Method and apparatus for dynamically selecting one of multiple firmware images for booting an I/O controller
US7886185B1 (en) Creation of a device database and synthesis of device driver information during dissimilar system restore
US20120084601A1 (en) Computer system rescue method
JP2003099268A (ja) 選択された機能を有するオペレーティングシステムを作成し使用する方法及びシステム
JPWO2004099972A1 (ja) ソフトウェア構成復元方法及び装置並びにコンピュータ読取可能な記憶媒体
US20040221024A1 (en) Apparatus and method for setting environment of client in client / server system, and program recording medium therefor
US6470446B1 (en) Method for preparing computer hard disks during installation of a network operating system
US7401212B2 (en) Self-contained computer servicing device
US9742948B2 (en) Image forming apparatus and method for deleting application
JPH10307726A (ja) 起動エラー時におけるファームウェアリカバリ方式
JP2007226828A (ja) ソフトウェア構成復元方法及び装置並びにコンピュータ読取可能な記憶媒体
KR100706471B1 (ko) 전자기기의 펌웨어 업데이트 방법
JP2007304768A (ja) リカバリ管理装置
CN109254800B (zh) 一种设备信息处理方法、电子设备及服务器
US20060095583A1 (en) Uniform disk image for performing computer diagnostics
JP2005010912A (ja) プログラムおよびコンピュータ
JP6864221B2 (ja) 記憶制御装置および記憶制御方法
JP2017142754A (ja) 情報処理装置及びその制御方法、及びプログラム
KR20060131096A (ko) 버전 비교를 통한 펌웨어의 자동복구방법 및 그 방법을이용하는 프로그램이 저장된 기록매체

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070905

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090924

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100302

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100430

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: 20100601

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100604

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130611

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4528144

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130611

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees