(57)【要約】【課題】定常的に使用していたＯＳの動作に不具合が生じた場合でも立ち上げに支障なく、かつ即座にシステムを復旧させることができる情報処理装置の提供。【解決手段】本発明の報処理装置１は、オリジナルのＯＳイメージ７を記憶するハードディスク５と、ＯＳイメージ７を複製したＯＳイメージ８を記憶するハードディスク６と、ＯＳイメージ８をロードしてシステムを起動すると共にシステム起動中に発生した書き込み要求の対象のデータをハードディスク５に書き込むための制御を行うリカバリプログラム９とを備える。【選択図】図１
2008071188.tif 000002
【特許請求の範囲】
【請求項１】
所定のオペレーティングシステムを第１のＯＳイメージとして記憶する第１の記憶部と、
前記オペレーティングシステムの初期イメージ又はその一部が更新されたイメージを複製して第２のＯＳイメージとして記憶する第２の記憶部と、
前記第２のＯＳイメージをロードしてシステムを起動すると共にシステム起動中に発生した書き込み要求の対象のデータを前記第１の記憶部に書き込む制御部と、
を具備することを特徴とする情報処理装置。
【請求項２】
前記制御部は、前記第２のＯＳイメージのロードにより起動の完了したシステムがアイドル状態である場合に、前記第１のＯＳイメージを構成するデータのうちで、書き込み要求の発生に応じて記録の行われたデータを除く前記第２のＯＳイメージ中の対応するデータを、選択的に前記第１の記憶部に書き込んで前記第１のＯＳイメージを復元することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記第１のＯＳイメージの復元処理を実行させるためのリカバリ動作モードと前記復元処理を非実行とする通常動作モードとを切替可能に設定するモード設定部をさらに備え、
前記制御部は、前記モード設定部によって、前記リカバリ動作モードが設定されている場合に前記第２のＯＳイメージをシステム起動時にロードし、前記通常動作モードが設定されている場合に前記第１のＯＳイメージをシステム起動時にロードすることを特徴とする請求項１又は２記載の情報処理装置。
【請求項４】
あるコンピュータを起動するためのプログラムであって、
所定のオペレーティングシステムを第１のＯＳイメージとして第１の記憶部に記憶する手順と、
前記オペレーティングシステムの初期イメージ又はその一部が更新されたイメージを複製して第２のＯＳイメージとして第２の記憶部に記憶する手順と、
前記第２のＯＳイメージをロードして前記コンピュータを起動すると共に起動中に発生した書き込み要求の対象のデータを前記第１の記憶部に書き込む手順と、
を有することを特徴とするプログラム。
【請求項５】
前記コンピュータの起動後、アイドル状態である場合に、前記第１のＯＳイメージを構成するデータのうちで、書き込み要求の発生に応じて記録の行われたデータを除く前記第２のＯＳイメージ中の対応するデータを、選択的に前記第１の記憶部に書き込んで前記第１のＯＳイメージを復元することを特徴とする請求項４記載のプログラム。
【請求項６】
情報処理装置の動作を復旧させることの可能なシステム復旧方法であって、
所定のオペレーティングシステムを第１のＯＳイメージとして第１の記憶部に記憶し、
前記オペレーティングシステムの初期イメージ又はその一部が更新されたイメージを複製して第２のＯＳイメージとして第２の記憶部に記憶し、
前記第２のＯＳイメージをロードして前記情報処理装置を起動すると共に起動中に発生した書き込み要求の対象のデータを前記第１の記憶部に書き込むこと、
を特徴とするシステム復旧方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばＰＣ（パーソナルコンピュータ）などの情報処理装置、プログラム及びシステム復旧方法に関する。
【背景技術】
【０００２】
ＰＣなどを始めとする汎用のコンピュータは、その使用を継続して行くうちにオペレーティングシステム（ＯＳ）の動作が何らかの原因で不安定になってしまうことがあり、この対策としてリカバリ用のディスクメディアなどを用いてシステムを再構築することで、一般に工場出荷時の状態に復元させることなどが可能となっている。
【０００３】
また、通常時使用するＯＳを格納する第１のドライブとバックアップ用のＯＳを格納する第２のドライブとを備え、電源投入に応答していずれか一方のドライブのＯＳの起動を選択できるようにしたＯＳの代替使用方法なども提案されている（例えば、特許文献１参照）。
【特許文献１】特開２００２−３３３９８０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、前者のリカバリ用のディスクなどを用いた復元作業では、比較的多くの時間を要し、その間、コンピュータを使用することができない。一方、後者の技術では、例えば第１のドライブと同スペックの第２のドライブを必要とし、また、例えば第１のドライブ側のＯＳに不具合が発生しその復元を所望する場合、前者の技術と同様に多くの時間を要するＯＳの復元作業が別途必要となる。
【０００５】
そこで本発明は、このような課題を解決するためになされたもので、定常的に使用していたオペレーティングシステムの動作に不具合が生じた場合などでも、即座にシステムを復旧させることができる情報処理装置、プログラム及びシステム復旧方法の提供を目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明に係る情報処理装置は、所定のオペレーティングシステムを第１のＯＳイメージとして記憶する第１の記憶部と、前記オペレーティングシステムの初期イメージ又はその一部が更新されたイメージを複製して第２のＯＳイメージとして記憶する第２の記憶部と、前記第２のＯＳイメージをロードしてシステムを起動すると共にシステム起動中に発生した書き込み要求の対象のデータを前記第１の記憶部に書き込む制御部と、を具備することを特徴とする。
【０００７】
すなわち、本発明によれば、定常的に使用していたＯＳの動作に不具合が生じた場合でも、ＯＳを再インストールするなどといった多大な時間を要する作業を行うことなしに、即座にシステムを復旧させることができる。
【０００８】
また、本発明では、前記制御部は、前記第２のＯＳイメージのロードにより起動の完了したシステムがアイドル状態である場合に、前記第１のＯＳイメージを構成するデータのうちで、書き込み要求の発生に応じて記録の行われたデータを除く前記第２のＯＳイメージ中の対応するデータを、選択的に前記第１の記憶部に書き込んで前記第１のＯＳイメージを復元することを特徴とする。すなわち、本発明では、何らかの障害により、定常的に使用していた例えば第１のＯＳイメージからシステムが起動できなくなった場合や、また、第１のＯＳイメージを、複製を作成した時点の過去のＯＳイメージ（つまり第２のＯＳイメージ）に戻す必要性が生じた場合などにおいて、ユーザ側に負担をかけることなく、しかも効率的にＯＳのイメージを復元することができる。
【発明の効果】
【０００９】
このように本発明によれば、定常的に使用していたオペレーティングシステムの動作に不具合が生じた場合などでも、即座にシステムを復旧させることが可能な情報処理装置、プログラム、及びシステム復旧方法を提供することができる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明を実施するための最良の形態を図面に基づき説明する。
図１は、本発明の実施形態に係る情報処理装置１の構成を示す機能ブロック図である。また、図２は、この情報処理装置１のハードディスク５に格納されたリカバリプログラムの実行時に機能する主要な構成要素を示す機能ブロック図である。さらに、図３は、ＯＳイメージの複製時に作成されるインデックステーブル２２の構成を模式的に示す図である。
【００１１】
すなわち、この実施形態の情報処理装置１は、図１に示すように、メインメモリ２、ＣＰＵ３、ＢＩＯＳ２０、ハードディスク５、６、ＣＲＴや液晶ディスプレイなどで実現される表示部１２、キーボードやマウスなどを有する入力部１１を備えた例えばＰＣなどに代表される典型的なコンピュータである。また、これらのデバイスは、バス１４を通じて接続されている。
【００１２】
ハードディスク５は、当該ハードディスク本体にインストールされたオペレーティングシステム（以下「ＯＳ」と記述）をオリジナルのＯＳイメージ７として記憶する。また、ハードディスク５には、ＯＳの障害発生時などに実行させるためのリカバリプログラム９が格納されている。
【００１３】
一方、ハードディスク６は、ハードディスク５にインストールされたＯＳのインストール直後の初期イメージを複製したＯＳイメージ８を記憶する。また、ハードディスク６には、複製イメージ作成プログラム１０が格納されている。複製イメージ作成プログラム１０は、ハードディスク５に記憶されているＯＳの非動作時に、入力部１１を介しての所定の入力操作により実行されるものであって、オリジナルのＯＳイメージ７を複製したＯＳイメージ８を作成するためのユーティリティソフトウェアである。
【００１４】
ＢＩＯＳ２０は、前述したリカバリプログラム９と協働しつつ、オリジナルのＯＳイメージ７の復元処理を実行させるためのリカバリ動作モードとこの復元処理を非実行とする通常動作モードとを切替可能に設定するモード設定部として機能し、これらの動作モードを切替えるためのモード切替画面を提供する。すなわち、ＢＩＯＳ２０は、情報処理装置１本体の起動の際のＯＳのブートが開始される直前のタイミングで、入力部１１からの所定のキー入力操作を受け付けた場合などにモード切替画面を表示部１２に表示させる。この表示部１２に表示されたモード切替画面をユーザが参照しつつ入力部１１を通じて所定の入力操作が行われた場合、リカバリプログラム９と協働しつつ動作するＢＩＯＳ２０は、通常動作モード又はリカバリ動作モードを実行させる。
【００１５】
通常動作モードが設定されている場合、オリジナルのＯＳイメージ７がシステム起動時にロードされる。また、この通常動作モードでは、上記ＯＳのブート時及びＯＳ起動後のＯＳに関するデータのリード、ライトの全てが、オリジナルのＯＳイメージ７が記憶されたハードディスク５に対して行われる。一方、リカバリ動作モードが設定されている場合、複製したＯＳイメージ８がシステム起動時にロードされる。また、このリカバリ動作モードでは、リカバリフラグがメインメモリ２上に設定されると共に、リカバリプログラム９がＣＰＵ３によってメインメモリ２上にロードされ、さらに、ＯＳ復旧のための後述する特別なリカバリ処理が実行される。
【００１６】
ここで、複製イメージ作成プログラム１０によって行われる複製のＯＳイメージ８の作成処理について図１、図３、及び図４に示すフローチャートに基づき説明を行う。
すなわち、ハードディスク５に記憶されているＯＳの非動作時（で且つ、いわゆるＤＯＳなどの動作中）において、複製イメージ作成プログラム１０は、オリジナルのＯＳイメージ７が記憶されたハードディスク５の図３に示すファイルシステム２１のテーブルを先頭アドレスから順次チェックする（Ｓ１）。次に、複製イメージ作成プログラム１０は、上記チェックした領域が、ファイルシステム２１のテーブルの最終位置ではないと判断した場合（Ｓ２のＮＯ）、そのチェックしたディスク領域のレコードが使用中であるか否かを判別する（Ｓ３）。
【００１７】
そのレコードが使用中である場合（Ｓ３のＹＥＳ）、図３に示すように、ディスクアクセステーブルとして機能するインデックステーブル２２を作成しつつ、使用中のレコードをハードディスク６にコピーする（Ｓ４）。この後、ファイルシステム２１のテーブルの最終位置までチェックを終えたことが確認された場合（Ｓ２のＹＥＳ）、複製のＯＳイメージ８の作成処理の完了となる。また、複製のＯＳイメージ８と共に作成されたインデックステーブル２２は、例えばハードディスク６に記憶される。図３に示す例では、ファイルシステム２１のアドレス「００００」、「００１２」が使用中の領域（ＵＳＥＤ−１、ＵＳＥＤ−２）である場合を示している。つまり、作成されるインデックステーブル２２には、アドレスに関連付けて、レコードの内容やデータサイズ（図示せず）が登録される他、そのアドレスが有効であるか否かを示す有効フラグ又は無効フラグが設定される。
【００１８】
詳述すると、上述したリカバリ動作モードが設定されている場合において、ハードディスク５に対するデータの書き込み要求が発生し、その書き込み要求の対象データが記録されたアドレスには、上記有効フラグが設定され、そのアドレスが有効であること（つまり、リカバリ動作モードでシステムが稼動している状態において、データの書き込みが行われたアドレスであること）を示す属性が付与される。一方、データの書き込み要求が発生していないアドレスには、上記無効フラグが設定され、そのアドレスが無効であること（つまり、リカバリ動作モードでシステムが稼動している状態において、データの書き込みが行われていないアドレスであること）を示す属性が付与される。なお、複製のＯＳイメージ８の作成直後、及びリカバリ動作モードの実行時のＯＳ起動前の時点、つまりインデックステーブル２２が初期化された直後では、インデックステーブル２２の全てのアドレスには、無効フラグが設定される。また、このようにファイルシステム２１の使用中のレコードだけをコピーして複製のＯＳイメージ８を作成することで、ハードディスクの記憶領域を効率良く活用できると共に、複製のＯＳイメージ８の作成時間の短縮化を図ることができる。
【００１９】
次に、ハードディスク５に格納されたリカバリプログラム９の実行時に機能する主要な構成要素について図２に基づき説明を行う。
すなわち、リカバリプログラム９の実行中においては、ＯＳカーネル１５、ファイルシステムドライバ１６、ディスクドライバ１７、フィルタドライバ１８及びポートドライバ１９がメインメモリ２上にソフトウェアとして実現される。ＯＳカーネル１５は、例えば読出対象のファイル名のリクエストを行う。ファイルシステムドライバ１６は、このリクエストをディスクドライバ１７の認識可能な命令に変換する処理などを行う。ポートドライバ１９は、ディスクドライバ１７及びフィルタドライバ１８側からの読出要求などを受けてハードディスク側に対し具体的なアドレスを指定してデータの読み出し処理を直接的に行う。また、フィルタドライバ１８は、複製のＯＳイメージ８のロードにより起動の完了したシステムがアイドル状態である場合に、リカバリプログラム９の制御下で、オリジナルのＯＳイメージ７を構成するデータ（ハードディスク５のファイルシステム２１中のアドレス）のうちで、システム起動中又はシステム起動後において書き込み要求の発生に応じて記録の行われたデータを除く複製のＯＳイメージ８中の対応するデータ（複製のＯＳイメージ８の中の上記無効フラグが設定されたアドレスに対応するレコードの内容）を、選択的にハードディスク５に書き込んでオリジナルのＯＳイメージ７を復元する。
【００２０】
ここで、リカバリプログラム９の実行されているリカバリ動作モードにおいて、ＯＳ復旧のために行われるリカバリ処理の内容を図２に基づき説明する。なお、オリジナルのＯＳが、長期的な使用が原因で動作が不安定な状態にあることを想定して以降の説明を行う。
【００２１】
すなわち、リカバリプログラム９は、ＯＳをブートする場合において、ハードディスク６に格納された複製のＯＳイメージ８をロードしてシステムを起動すると共に、システム起動中に発生した書き込み要求の対象のデータをハードディスク５に書き込む。この際、書き込みの要求されたハードディスク５のアドレスに対応するインデックステーブル２２中のアドレスには、有効フラグが設定される。さらに、リカバリプログラム９は、システムの起動完了後にデータの読み出し要求が発生した場合、主に、複製のＯＳイメージ８中のデータを読み出す。ただし、インデックステーブル２２において有効フラグが設定されたアドレスに対応するデータについては、オリジナルのＯＳイメージ７が格納されているハードディスク５側から読み出しを行う。
【００２２】
また、リカバリプログラム９は、システムの起動完了後にデータの書き込み要求が発生した場合、システム起動時と同様に、書き込み要求の対象データをハードディスク５に書き込み、書き込みの行われたハードディスク５のアドレスに対応するインデックステーブル２２中のアドレスに対し有効フラグを設定する。
【００２３】
さらに、このようなリカバリ処理を上記した図１〜図３に加え、図５〜図７に示すフローチャートに基づき詳述する。ここで、図５は、ＯＳに関するデータのライト処理を示すフローチャートであり、図６は、ＯＳに関するデータのリード処理を示すフローチャートである。また、図７は、オリジナルのＯＳイメージ７の復元処理を示すフローチャートである。
【００２４】
まず、情報処理装置１本体の起動の際のＯＳのブートが開始される直前の段階で、ＢＩＯＳ画面を通じて、リカバリ動作モードを設定するための入力操作が行われた場合、リカバリフラグがメインメモリ２上に設定されると共に、リカバリプログラム９がＣＰＵ３によってメインメモリ２上にロードされ、さらにインデックステーブル２２の初期化処理が行われる。
【００２５】
次に、図５に示すように、リカバリプログラム９は、ＯＳをブートする場合において、ハードディスク６に格納された複製のＯＳイメージ８をロードしてシステムを起動すると共に、システム起動中に書き込み（ライト）要求が発生した場合（Ｓ１１のＹＥＳ）、書き込み要求の対象データを、オリジナルのＯＳイメージ７が格納されたハードディスク５に対して書き込む（Ｓ１２）。ここで、この例では、リカバリ処理についての説明を行っているため、リカバリプログラム９は、リカバリフラグが設定されていることを認識し（Ｓ１３のＹＥＳ）、さらに、書き込みの要求されたハードディスク５のアドレスに対応するインデックステーブル２２中のアドレスに有効フラグを設定する（Ｓ１４）。また、リカバリプログラム９は、システムの起動完了後にデータの書き込み要求が発生した場合、上述したＳ１１〜Ｓ１４と同様の処理を行う。
【００２６】
また、図６に示すように、システムの起動完了後にデータの読み出し（リード）要求が発生した場合（Ｓ２１）、リカバリプログラム９は、まず、リカバリフラグが設定されているか否かを判別する（Ｓ２２）。この例では、リカバリ処理について説明を行っているため、リカバリフラグが設定されていることになるが、上記した通常動作モードが実行されている場合、リカバリフラグが設定されておらず（Ｓ２２のＮＯ）、ハードディスク５に格納されたオリジナルのＯＳイメージ７中のデータがリードされることなる（Ｓ２４）。
【００２７】
一方、上記Ｓ２２において、リカバリフラグが設定されていることを検出した場合（Ｓ２２のＹＥＳ）、リカバリプログラム９は、読出対象のアドレスが有効であるか否かを判別する（Ｓ２３）。すなわち、リカバリプログラム９は、図３に示すインデックステーブル２２を参照して、読出対象のアドレスに有効フラグ、無効フラグのどちらが設定されているかを確認し、そのアドレスが有効であるか否かを判別する。
【００２８】
読出対象のアドレスが無効である場合（Ｓ２３のＮＯ）、リカバリプログラム９は、ハードディスク６に格納された複製のＯＳイメージ８中の該当するアドレスのデータをリードする（Ｓ２５）。一方、読出対象のアドレスが有効である場合（Ｓ２３のＹＥＳ）、リカバリプログラム９は、ハードディスク５に格納されたオリジナルのＯＳイメージ７中の該当するアドレスのデータをリードする（Ｓ２４）。
【００２９】
また、図７に示すように、リカバリプログラム９は、複製のＯＳイメージ８をロードして起動の完了したシステムがアイドル状態であることを検出した場合（Ｓ３１のＹＥＳ）、インデックステーブル２２上の無効フラグが設定された全ての無効アドレスを検索して（Ｓ３２）、複製のＯＳイメージ８中の無効アドレスに対応するデータ（システム起動中又は起動後において書き込み要求が発生せず記録の行われていないアドレスのデータ）を、フィルタドライバ１８を通じて選択的にハードディスク５に書き込む（Ｓ３３）。これにより、ユーザ側に負担をかけることなく、しかも効率的にオリジナルのＯＳイメージ７を復元することができる。
【００３０】
既述したように、本実施形態に係る情報処理装置１によれば、定常的に使用していたオリジナルのＯＳの動作に不具合が生じた場合でも、ＯＳの再インストールなどを行うことなく、しかも情報処理装置自体の使用中にシステムを復旧させることができるので、即座に当該情報処理装置を使用することができる。また、情報処理装置１によれば、起動の完了したシステムがアイドル状態のときに、復元に必要な最小限のデータ（無効アドレスのデータだけ）を選択してオリジナルのＯＳイメージ７の復元処理を行えるので、効率的にＯＳイメージを復元することができる。さらに、情報処理装置１によれば、ＯＳイメージの復元処理を行うためのリカバリ動作モードの実行時において、データの書き込み処理が必ずオリジナルのＯＳイメージ７が格納されたハードディスク５に対して行われ、複製のＯＳイメージ８が格納されたハードディスク６に対して書き込み処理が行われることがないので、複製を作成した時点の状態のままでＯＳイメージ８を確保しておくことができる。これにより、複製のＯＳイメージ８を作成し直す必要などがなく（つまり、複製のＯＳイメージ８側に実質的に不具合が生じることがなく）、複製のＯＳイメージ８側をロードすることで、常時、システムを迅速に復旧させることができる。
【００３１】
以上、本発明を実施の形態により具体的に説明したが、本発明はこの実施形態にのみ限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。例えば、上述した実施形態では、インストールした直後のＯＳの初期イメージの複製を作成するようにしていたが、初期イメージの一部が更新されたイメージ、すなわち、ユーザレベルで例えばカスタマイズしたＯＳのイメージの複製を作成するようにしてもよい。また、ＯＳの初期イメージ及び設定環境を段階的に変更していった２種類以上のＯＳイメージの複製を個別に記憶させておき、いずれかの複製のＯＳイメージを選択してシステムの復旧に利用するようにしてもよい。
【００３２】
また、本発明では、複製とオリジナルのＯＳイメージを同一の記憶ドライブ内の異なるパーテーションに記憶するようにしてもよいし、また、これに代えて、ネットワークを介して接続される記憶装置間に複製とオリジナルのＯＳイメージを記憶させるようにしてもよい。
【００３３】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【００３４】
【図１】本発明の実施形態に係る情報処理装置１の構成を示す機能ブロック図。
【図２】図１の情報処理装置のハードディスクに格納されたリカバリプログラムの実行時に機能する主要な構成要素を示す機能ブロック図。
【図３】図１の情報処理装置のハードディスクに格納されたＯＳイメージの複製時に作成されるインデックステーブルの構成を模式的に示す図。
【図４】複製イメージ作成プログラムによって行われる複製のＯＳイメージの作成処理を示すフローチャート。
【図５】オペレーティングシステムに関するデータのライト処理を示すフローチャート。
【図６】オペレーティングシステムに関するデータのリード処理を示すフローチャート。
【図７】図１の情報処理装置のハードディスクに格納されたオリジナルのＯＳイメージの復元処理を示すフローチャート。
【符号の説明】
【００３５】
１…情報処理装置、２…メインメモリ、３…ＣＰＵ、５，６…ハードディスク、７…ＯＳイメージ（オリジナル）、８…ＯＳイメージ（複製）、９…リカバリプログラム、１０…複製イメージ作成プログラム、１５…ＯＳカーネル、１８…フィルタドライバ、２０…ＢＩＯＳ、２１…ファイルシステム、２２…インデックステーブル。
【図１】
2008071188.tif 000003
【図２】
2008071188.tif 000004
【図３】
2008071188.tif 000005
【図４】
2008071188.tif 000006
【図５】
2008071188.tif 000007
【図６】
2008071188.tif 000008
【図７】
2008071188.tif 000009