(57)【要約】【課題】ファイルシステムの破損が発生している場合においても、起動時間の長期化や起動不能化に至らないようにすること。【解決手段】情報処理装置１００の起動が開始されてＢＩＯＳにより起動されたブートストラップローダが、ＨＤＤ１０４のＭＢＲ２０１に保持されたフラグ２０５の値を取得し（Ｓ３０３）、フラグ２０５の値に応じて選択的にＨＤＤ１０４のいずれかのパーティションに格納されたＯＳを起動させ（Ｓ３０４，Ｓ３０５，Ｓ３０８）、正常に起動した後、該起動中のＯＳが、ＨＤＤ１０４の未稼動のＯＳを格納したパーティションに対してファイルシステムの修復処理を施し（Ｓ３０６，Ｓ３０９）、該修復処理が完了した後に、フラグ２０５の値を前記修復処理を施したパーティションを指示する値に変更する（Ｓ３０７，Ｓ３１０）。【選択図】図３
2011076187.tif 000002
【特許請求の範囲】
【請求項１】
同一の機能を有し、互いに独立したオペレーティングシステムをそれぞれ格納した少なくとも２つのパーティションを有する外部記憶装置と、
前記外部記憶装置に設けられ、オペレーティングシステムの起動時に起動に用いるパーティションを指示するフラグと、
前記フラグの値に応じて選択的に前記外部記憶装置のいずれかのパーティションに格納されたオペレーティングシステムを起動させる起動手段と、
前記オペレーティングシステムが正常に起動した後に、前記外部記憶装置の未稼動のオペレーティングシステムを格納したパーティションに対してファイルシステムの修復処理を施す修復手段と、
前記修復手段による修復処理が完了した後に前記フラグの値を前記修復処理を施したパーティションを指示する値に変更する変更手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記外部記憶装置に格納されている全てのオペレーティングシステムが、ファイルシステムを修復させる修復プログラムを有し、
前記修復手段は、前記修復プログラムを用いて前記修復処理を施すことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記修復手段は、前記修復処理を実施するにあたって、前記情報処理装置のパフォーマンス値を算出し、該算出されたパフォーマンス値が予め定められた値より小さい場合に、前記修復処理を開始することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記情報処理装置のパフォーマンス値は、前記情報処理装置のＣＰＵの稼働率であることを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記修復手段は、前記修復処理を実施するにあたって、稼動中のオペレーティングシステムを備えるパーティションに対してファイルシステムの破損を防止する処理を先行して施し、その後に前記修復処理を実施することを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
同一の機能を有し、互いに独立したオペレーティングシステムをそれぞれ格納した少なくとも２つのパーティションを有する外部記憶装置を有する情報処理装置の制御方法であって、
起動手段が、前記外部記憶装置に予め記憶されたオペレーティングシステムの起動時に起動に用いるパーティションを指示するフラグの値を取得し、該取得したフラグの値に応じて、選択的に前記外部記憶装置のいずれかのパーティションに格納されたオペレーティングシステムを起動させる起動ステップと、
修復手段が、前記オペレーティングシステムが正常に起動した後に、前記外部記憶装置の未稼動のオペレーティングシステムを格納したパーティションに対してファイルシステムの修復処理を施す修復ステップと、
変更手段が、前記修復ステップによる修復処理が完了した後に前記フラグの値を前記修復処理を施したパーティションを指示する値に変更する変更ステップと、
を有することを特徴とする情報処理装置の制御方法。
【請求項７】
請求項１乃至５のいずれか１項に記載された情報処理装置の手段としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置におけるオペレーティングシステムの起動の制御に関する。
【背景技術】
【０００２】
不揮発性の外部記憶装置を備え、必要に応じて外部記憶装置にアクセスする情報処理装置が存在する。
外部記憶装置においては、ＦＡＴやｅｘｔ２といったファイルシステムが構築されている。ファイルシステムは、外部記憶装置内のデータ保持領域を区画分けし、アドレス等のパラメータ情報を生成する。このパラメータを使用して、オペレーティングシステム（ＯＳ）が外部記憶装置内のデータにアクセスすることが可能となる。
【０００３】
情報処理装置を制御するＯＳが外部記憶装置内のパーティションにアクセスする際には、始めにマウント（ｍｏｕｎｔ）処理を行う。マウント処理とは、外部記憶装置内の管理情報を情報処理装置のメモリに読み込み、ＯＳから外部記憶装置内のファイルシステムを使えるようにするための処理であり、外部記憶装置内に構築されたファイルシステムを認識可能な状態にする。マウント処理を行うと外部記憶装置内の管理情報が一時記憶領域にキャッシュされ、ＯＳがパーティションを制御できるようになる。なお、一時記憶領域上のキャッシュデータは定期的に外部記憶装置内の管理情報と同期される。
【０００４】
また、ＯＳが使用しているパーティションの制御を止める場合には、キャッシュしている管理情報を外部記憶装置と同期し、またバッファしているデータを外部記憶装置内に書き戻す。この処理をアンマウント（ｕｎｍｏｕｎｔ）処理という。
【０００５】
ＯＳを正常終了させずに主電源を切るなどの操作が行われると、アンマウントされないまま電源が落とされるためファイルシステムが破損する可能性が高まる。情報処理装置はファイルシステムを介して外部記憶装置にアクセスするため、外部記憶装置内に構築されているファイルシステムが破損した場合にはアクセスが不可能になってしまう。ファイルシステムが破損した場合、ＯＳのファイルシステム修復機能（例えば、Ｕｎｉｘ（登録商標）系のＯＳではｆｓｃｋコマンド）によってファイルシステムを修復することも可能である。
【０００６】
このファイルシステム修復機能を使用するには、修復したいパーティションがアンマウントされていることが求められる。よって、常にマウントされている必要のあるＯＳデータを保持するパーティションに対しては使用できない。
【０００７】
そこで、異なるパーティションに復旧用ＯＳデータを用意しておき、起動用パーティションが破損している場合には上述した復旧用ＯＳを起動させ、復旧用ＯＳによって起動用パーティションを修復するという技術が提案されている（特許文献１）。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００７−００４５９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、上述した技術は、復旧用ＯＳを用意しなければならないため煩雑である。また、ファイルシステムの破損を検知し、異なるパーティションから復旧用ＯＳを起動させ、修復後に通常ＯＳにて再起動という手順が必要となり、起動時間が長期化してしまう。
また、ファイルシステムの破損を防ぐには、正常なシャットダウン手段によるアンマウントが効果的であるが、ユーザが不意に電源を落とす可能性を完全になくすことは難しい。
以上のように、ファイルシステムを用いることによってＯＳによる外部記憶装置の制御が可能になる一方で、ファイルシステムの破損による起動時間の長期化や起動不能化を避けることは困難である。
【００１０】
本発明は、上記の問題点を解決するためになされたものである。本発明の目的は、ファイルシステムの破損が発生している場合においても、起動時間の長期化や起動不能化に至らないようにする仕組みを提供することである。
【課題を解決するための手段】
【００１１】
本発明は、同一の機能を有し、互いに独立したオペレーティングシステムをそれぞれ格納した少なくとも２つのパーティションを有する外部記憶装置と、前記外部記憶装置に設けられ、オペレーティングシステムの起動時に起動に用いるパーティションを指示するフラグと、前記フラグの値に応じて選択的に前記外部記憶装置のいずれかのパーティションに格納されたオペレーティングシステムを起動させる起動手段と、前記オペレーティングシステムが正常に起動した後に、前記外部記憶装置の未稼動のオペレーティングシステムを格納したパーティションに対してファイルシステムの修復処理を施す修復手段と、前記修復手段による修復処理が完了した後に前記フラグの値を前記修復処理を施したパーティションを指示する値に変更する変更手段とを有することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、ファイルシステムの破損が発生している場合においても、起動時間の長期化や起動不能化に至らないようにするシステムを構築することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施例を示す情報処理装置の構成を示すブロック図である。
【図２】情報処理装置に備えられるＨＤＤの内部構成を示す図である。
【図３】実施例１における情報処理装置の処理フローを示すフローチャートである。
【図４】実施例２における情報処理装置の処理フローを示すフローチャートである。
【図５】実施例３における情報処理装置の処理フローを示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下に、図面を参照して、この発明の好適な実施の形態を例示的に詳しく説明する。ただし、この実施の形態に記載されている構成要素はあくまで例示であり、この発明の範囲をそれらのみに限定する趣旨のものではない。
【実施例１】
【００１５】
図１は、本発明の一実施例を示す情報処理装置１００の構成を示すブロック図である。
図１に示すように、情報処理装置１００は、ＣＰＵ１０１、ＲＡＭ１０２、ＩＯコントローラ１０３、ハードディスクドライブ（ＨＤＤ）１０４、ＢＩＯＳＲＯＭ１０５等で構成され、オペレーティングシステム（ＯＳ）１０６にて制御されている。なお、ＯＳ１０６は、ＨＤＤ１０４に格納されたＯＳデータ（プログラム）をＣＰＵ１０１がＲＡＭ１０２に読み出して実行することにより実現されるものである。
【００１６】
ＲＡＭ１０２は、ＯＳ１０６のデータを格納するほか、ＯＳ１０６が処理するデータを一時的に保持するのに使用される。ＩＯコントローラ１０３は、ＣＰＵ１０１からの命令に従って自身に接続されている機器をコントロールする。
ＨＤＤ１０４は、ＩＯコントローラ１０３に接続される外部記憶装置であり、ＯＳ１０６を起動させるためのデータを格納しておくほか、ＯＳ１０６の外部キャッシュ領域としても使用される。
【００１７】
ＢＩＯＳＲＯＭ１０５は、ＩＯコントローラ１０３に接続されるものであり、ＢＩＯＳ（Basic Input/Output System）を記憶する。ＢＩＯＳは、ＯＳ１０６を起動させる際にＣＰＵ１０１、ＲＡＭ１０２、ＩＯコントローラ１０３、ＨＤＤ１０４を初期化し、ＨＤＤ１０４から起動に必要なデータをＲＡＭ１０２に展開し、ＣＰＵ１０１に起動処理を開始させるプログラム群である。
ＣＰＵ１０１は、ＨＤＤ１０４にアクセスする際にはＩＯコントローラ１０３を介して行い、ＩＯコントローラ１０３によってＨＤＤ１０４とＲＡＭ１０２間でのＤＭＡ転送が可能な構成とする。
【００１８】
図２は、ＨＤＤ１０４の内部構成を示す図である。
ＨＤＤ１０４は、起動デバイスとして必要なマスターブートレコード（ＭＢＲ）２０１、ＯＳ起動用データを保持するパーティションＡ２０２とパーティションＢ２０３、ＯＳ起動用データ以外のデータを保持するパーティションＣ２０４より構成されている。ＨＤＤ１０４は少なくとも２つのパーティション（パーティションＡ２０２とパーティションＢ２０３）を有する。
【００１９】
パーティションＡ２０２は、ＯＳデータＡを保持しており、パーティションＢ２０３は、ＯＳデータＢを保持している。なお、以下、説明のため、ＯＳデータＡより起動したＯＳをＯＳ（Ａ）、ＯＳデータＢより起動したＯＳをＯＳ（Ｂ）と呼称する。
【００２０】
ＭＢＲ２０１は、起動用のブートストラップローダを保持している。ブートストラップローダは、ＢＩＯＳの処理完了後にＢＩＯＳによって呼び出され、ＯＳ起動用データをロードし実行する役割を担っている。また、本実施例では、ＭＢＲ２０１は、フラグデータ２０５（以下、フラグ２０５）もあわせて保持する。
【００２１】
パーティションＡ２０２には、ＯＳを起動させるための起動データ（ＯＳデータＡ）が保持されている。また、パーティションＢ２０３には、ＯＳを起動させるための起動データ（ＯＳデータＢ）が保持されている。ＯＳデータＡとＯＳデータＢは、同一である必要はないが、いずれの起動データを用いて起動した場合においでも同一の機能を有するＯＳが起動する。即ち、ＯＳ（Ａ）とＯＳ（Ｂ）は同一の機能を有する。また、ＯＳ（Ａ）とＯＳ（Ｂ）は互いに独立したＯＳである。また、ＯＳ（Ａ）とＯＳ（Ｂ）は、ファイルシステムを修復させる修復プログラムを有する。
パーティションＣ２０４には、ＯＳがキャッシュとして使用するデータやユーザが保存したデータなどＯＳ起動用以外のデータが保持されている。
【００２２】
以下、本発明を適用した情報処理装置の起動方法について詳細に説明する。
図３は、本発明の実施例１における情報処理装置の処理フローを示すフローチャートである。なお、このフローチャートの処理は、上述したＢＩＯＳ、ブートストラップローダ、ＯＳデータをＢＩＯＳＲＯＭ１０５やＨＤＤ１０４から読み出して実行することにより実現される。また、ＣＰＵ１０１がプログラム（ＢＩＯＳ、ブートストラップローダ、ＯＳデータＡ、ＯＳデータＢ）を実行することにより実現される処理については、プログラム名等（ＢＩＯＳ、ブートストラップローダ、ＯＳ（Ａ）、ＯＳ（Ｂ））を主語にして説明する。
【００２３】
情報処理装置１００の起動が指示されると、まず、ＣＰＵ１０１は、ＢＩＯＳＲＯＭ１０５からＢＩＯＳをＲＡＭ１０２にロードして実行し、ＢＩＯＳによりＩＯコントローラ１０３やＨＤＤ１０４等の初期化処理を行う（Ｓ３０１）。
次に、ＢＩＯＳは、上述の初期化処理が完了すると、ＨＤＤ１０４のＭＢＲ２０１に存在するブートストラップローダをＲＡＭ１０２にロードし、ブートストラップローダを起動する（Ｓ３０２）。
ブートストラップローダは、ＭＢＲ２０１にあるフラグ２０５の情報を獲得（取得）する（Ｓ３０３）。
【００２４】
ブートストラップローダは、上記Ｓ３０３で獲得したフラグ２０５の値に応じて選択的にＨＤＤ１０４のパーティションＡ２０２又はパーティションＢ２０３に格納されたＯＳデータでＯＳを起動させる（Ｓ３０４，Ｓ３０５，Ｓ３０８）。
以下、詳細に説明する。まず、ブートストラップローダは、フラグ２０５の値が「Ｂ」であるか「Ａ」であるかを判定する（Ｓ３０４）。そして、ブートストラップローダは、フラグ２０５の値が「Ｂ」であると判定した場合、ステップＳ３０５に処理を進め、一方、フラグ２０５の値が「Ａ」であると判定した場合、ステップＳ３０８に処理を進める。
【００２５】
まず、上記Ｓ３０４で、フラグ２０５の値が「Ｂ」であると判定した場合の処理（Ｓ３０５〜Ｓ３０７）について説明する。
ステップＳ３０５では、ブートストラップローダは、パーティションＢ２０３を起動用パーティションとして選択し、パーティションＢ２０３からＯＳデータＢをＲＡＭ１０２にロードして実行（起動）する。この結果、ＯＳ（Ｂ）が稼動する。
【００２６】
ＯＳ（Ｂ）は、ＨＤＤ１０４の未稼動のＯＳのＯＳデータを格納したパーティション（即ち、パーティションＡ２０２）に対してファイルシステムチェックを行い、必要に応じてパーティションＡ２０２のファイルシステムを修復する修復処理を施す（Ｓ３０６）。例えば、ＵＮＩＸ（登録商標）系ＯＳの場合、ｆｓｃｋコマンドを実行する。なお、このパーティションは、マウントしていない（アンマウント状態の）パーティションである。
ＯＳ（Ｂ）は、パーティションＡ２０２の修復処理が完了したことを確認すると、ＭＢＲ２０１にあるフラグ２０５の値を「Ａ」に変更する（Ｓ３０７）。
【００２７】
次に、上記Ｓ３０４で、フラグ２０５の値が「Ａ」であると判定した場合の処理（Ｓ３０８〜Ｓ３１０）について説明する。
ステップＳ３０８では、ブートストラップローダは、パーティションＡ２０２を起動用パーティションとして選択し、パーティションＡ２０２からＯＳデータＡをＲＡＭ１０２にロードして実行（起動）する。この結果、ＯＳ（Ａ）が稼動する。
【００２８】
ＯＳ（Ａ）は、ＨＤＤ１０４の未稼動のＯＳのＯＳデータを格納したパーティション（即ち、パーティションＢ２０３）に対してファイルシステムチェックを行い、必要に応じてパーティションＢ２０３のファイルシステムを修復する修復処理を施す（Ｓ３０９）。なお、このパーティションは、マウントしていない（アンマウント状態の）パーティションである。
【００２９】
ＯＳ（Ａ）は、パーティションＢ２０３の修復処理が完了したのを確認すると、ＭＢＲ２０１にあるフラグ２０５の値を「Ｂ」に変更する（Ｓ３１０）。
本実施例では、情報処理装置の起動ごとにフラグ２０５の値がトグル（toggle；同じ操作を繰り返すことで状態を切り替える）し、その結果として起動用パーティションが交互に選択される構成となっている。この構成により、選択されるパーティションは、前回の起動時において修復済みのパーティションであるため、ファイルシステムの破損が発生していない。また、修復されるパーティションは、マウントされていないため（アンマウント状態のため）、ユーザによって（シャットダウン手順によらずに）不意に電源が落とされても影響を受けず、次回の起動時には、正常に起動することが可能となる。
【実施例２】
【００３０】
以下、実施例２について説明する。
図４は、本発明の実施例２における情報処理装置の処理フローを示すフローチャートであり、情報処理装置１００がシステムの稼働率を低下させることなくファイルシステムの修復を施す処理に対応する。なお、このフローチャートの処理は、上述したＢＩＯＳ、ブートストラップローダ、ＯＳデータをＢＩＯＳＲＯＭ１０５やＨＤＤ１０４から読み出して実行することにより実現される。また、ＣＰＵ１０１がプログラム（ＢＩＯＳ、ブートストラップローダ、ＯＳデータＡ、ＯＳデータＢ）を実行することにより実現される処理については、プログラム名等（ＢＩＯＳ、ブートストラップローダ、ＯＳ（Ａ）、ＯＳ（Ｂ））を主語にして説明する。
【００３１】
本実施例２においては、予め閾値Ｘが定められている必要がある。この閾値Ｘは、ＭＢＲ２０１に格納され、ユーザによって任意に変更が可能である。
ステップＳ４０１〜Ｓ４０４の処理は、前述した図３のステップＳ３０１〜Ｓ３０４の処理と同一であるため、説明を割愛する。
【００３２】
まず、ステップＳ４０４で、フラグ２０５の値が「Ｂ」であると判定した場合の処理（Ｓ４０５〜Ｓ４０８）について説明する。
ステップＳ４０５では、ブートストラップローダは、パーティションＢ２０３を起動用パーティションとして選択し、パーティションＢ２０３からＯＳデータＢをＲＡＭ１０２にロードして実行（起動）する。この結果、ＯＳ（Ｂ）が稼動する。
該稼動中のＯＳ（Ｂ）は、ＣＰＵ１０１のＣＰＵ稼働率を算出し、予め与えられている閾値ＸとＣＰＵ稼働率を比較する（Ｓ４０６）。ＣＰＵ稼働率が閾値Ｘよりも小さい場合、ステップＳ４０７に処理を移行させる。一方、ＣＰＵ稼働率がＸよりも小さくない場合、ステップＳ４０７には移行せず、ステップＳ４０６の処理を継続する。
【００３３】
ステップＳ４０７では、ＯＳ（Ｂ）は、ＨＤＤ１０４の未稼動のＯＳのＯＳデータを格納したパーティション（即ち、パーティションＡ２０２）に対してファイルシステムチェックを行い、必要に応じてパーティションＡ２０２のファイルシステムを修復する。なお、このパーティションは、マウントしていない（アンマウント状態の）パーティションである。
そして、ＯＳ（Ｂ）は、パーティションＡ２０２の修復処理が完了したことを確認すると、ＭＢＲ２０１にあるフラグ２０５の値を「Ａ」に変更する（Ｓ４０８）。
【００３４】
次に、上記Ｓ４０４で、フラグ２０５の値が「Ａ」であると判定した場合の処理（Ｓ４０９〜Ｓ４１２）について説明する。
ステップＳ４０９では、ブートストラップローダは、パーティションＡ２０２を起動用パーティションとして選択し、パーティションＡ２０２からＯＳデータＡをＲＡＭ１０２にロードして実行（起動）する。この結果、ＯＳ（Ａ）が稼動する。
【００３５】
該稼動中のＯＳ（Ａ）は、ＣＰＵ１０１のＣＰＵ稼働率を算出し、予め与えられている閾値ＸとＣＰＵ稼働率を比較する（Ｓ４１０）。ＣＰＵ稼働率が閾値Ｘよりも小さい場合、ステップＳ４１１に処理を移行させる。一方、ＣＰＵ稼働率がＸよりも小さくない場合、ステップＳ４１１には移行せず、ステップＳ４１０の処理を継続する。
【００３６】
ステップＳ４１１では、ＯＳ（Ａ）は、ＨＤＤ１０４の未稼動のＯＳのＯＳデータを格納したパーティション（即ち、パーティションＢ２０３）に対してファイルシステムチェックを行い、必要に応じてパーティションＢ２０３のファイルシステムを修復する。なお、このパーティションは、マウントしていない（アンマウント状態の）パーティションである。
そして、ＯＳ（Ａ）は、パーティションＢ２０３の修復処理が完了したのを確認すると、ＭＢＲ２０１にあるフラグ２０５の値を「Ｂ」に変更する（Ｓ４１２）。
【００３７】
本実施例２では、実施例１に加え、ＣＰＵ稼働率を監視する仕組みを設けることで、ファイルシステムの修復によって発生する情報処理装置全体のパフォーマンス低下を抑制しつつ、ファイルシステムの破損による起動時間の長期化を防止することができる。
【００３８】
なお、本実施例では、パーティションの修復処理を実施するにあたって、ＣＰＵ１０１の稼働率を考慮して、該稼働率が予め定められた値より小さい場合に、前記修復処理を開始する構成を示した。しかし、ＣＰＵ１０１の稼働率以外の情報処理装置１００のパフォーマンス値を算出し、該パフォーマンス値を考慮して、該パフォーマンス値が予め定められた値より小さい場合に、前記修復処理を開始するように構成してもよい。なお、情報処理装置１００のパフォーマンス値としては、例えば、ＲＡＭ１０２の使用率等が考えられる。
また、図４のＳ４０６及びＳ４１０を「ＣＰＵ稼働率≦Ｘ」とし、稼働率（パフォーマンス値）が閾値Ｘを越えない場合に、前記修復処理を開始するように構成を示してもよい。
【実施例３】
【００３９】
以下、実施例３について説明する。
図５は、本発明の実施例３における情報処理装置の処理フローを示すフローチャートであり、ファイルシステム修復中にユーザによって不意に電源が落とされても、次回の起動時に高速に起動できる処理に対応する。なお、このフローチャートの処理は、上述したＢＩＯＳ、ブートストラップローダ、ＯＳデータをＢＩＯＳＲＯＭ１０５やＨＤＤ１０４から読み出して実行することにより実現される。また、ＣＰＵ１０１がプログラム（ＢＩＯＳ、ブートストラップローダ、ＯＳデータＡ、ＯＳデータＢ）を実行することにより実現される処理については、プログラム名等（ＢＩＯＳ、ブートストラップローダ、ＯＳ（Ａ）、ＯＳ（Ｂ））を主語にして説明する。
【００４０】
ステップＳ５０１〜Ｓ５０４の処理は、前述した図３のステップＳ３０１〜Ｓ３０４の処理と同一であるため、説明を割愛する。
まず、ステップＳ５０４で、フラグ２０５の値が「Ｂ」であると判定した場合の処理（Ｓ５０５〜Ｓ５０９）について説明する。
ステップＳ５０５では、ブートストラップローダは、パーティションＢ２０３を起動用パーティションとして選択し、パーティションＢ２０３からＯＳデータＢをＲＡＭ１０２にロードして実行（起動）する。この結果、ＯＳ（Ｂ）が稼動する。
【００４１】
該稼働中のＯＳ（Ｂ）は、パーティションＡ２０２を修復するに先立ち、パーティションＢ２０３を読み込み専用に指定する。さらに、ＯＳ（Ｂ）は、ＲＡＭ１０２にキャッシュしている管理情報をＨＤＤ１０４と同期させる（Ｓ５０６）
次に、ＯＳ（Ｂ）は、ＨＤＤ１０４の未稼動のＯＳのＯＳデータを格納したパーティション（即ち、パーティションＡ２０２）に対してファイルシステムチェックを行い、必要に応じてパーティションＡ２０２のファイルシステムを修復する（Ｓ５０７）。なお、このパーティションは、マウントしていない（アンマウント状態の）パーティションである。
そして、ＯＳ（Ｂ）は、パーティションＡ２０２の修復処理が完了したことを確認すると、ＭＢＲ２０１にあるフラグ２０５の値を「Ａ」に変更する（Ｓ５０８）。
【００４２】
次に、ＯＳ（Ｂ）は、パーティションＢ２０３を読み書き可能に変更する（Ｓ５０９）。
以下、上記Ｓ５０４で、フラグ２０５の値が「Ａ」であると判定した場合の処理（Ｓ５１０〜Ｓ５１４）について説明する。
ステップＳ５１０では、ブートストラップローダは、パーティションＡ２０２を起動用パーティションとして選択し、パーティションＡ２０２からＯＳデータＡをＲＡＭ１０２にロードして実行（起動）する。この結果、ＯＳ（Ａ）が稼動する。
【００４３】
該稼動中のＯＳ（Ａ）は、パーティションＢ２０３を修復するに先立ち、パーティションＡ２０２を読み込み専用に指定する。さらに、ＯＳ（Ａ）は、ＲＡＭ１０２にキャッシュしている管理情報をＨＤＤ１０４と同期させる（Ｓ５１１）。
【００４４】
次に、ＯＳ（Ａ）は、ＨＤＤ１０４の未稼動のＯＳのＯＳデータを格納したパーティション（即ち、パーティションＢ２０３）に対してファイルシステムチェックを行い、必要に応じてパーティションＢ２０３のファイルシステムを修復する（Ｓ５１２）。なお、このパーティションは、マウントしていない（アンマウント状態の）パーティションである。
そして、ＯＳ（Ａ）は、パーティションＢ２０３の修復処理が完了したのを確認すると、ＭＢＲ２０１にあるフラグ２０５の値を「Ｂ」に変更する（Ｓ５１３）。
次に、ＯＳ（Ａ）は、パーティションＡ２０２を読み書き可能に変更する（Ｓ５１４）。
【００４５】
本実施例３では、実施例１に加え、稼動中のＯＳを起動させるのに必要なパーティションに対して保護（該パーティションのファイルシステムの破損を防止する処理）を先行して施している。詳細には、稼動中のＯＳを起動させるのに必要なパーティションを読み込み専用化し、またＲＡＭ１０２にキャッシュしている管理情報をＨＤＤ１０４と同期する構成を有する。このような構成により、パーティション修復中にユーザによって不意に電源が落とされても、前回と同じパーティションから起動することが可能となる。その結果、起動時間の長期化を防ぐことができる。
【００４６】
なお、図３のＳ３０６〜Ｓ３０７，Ｓ３０９〜Ｓ３１０，図４のＳ４０６〜Ｓ４０８，Ｓ４１０〜Ｓ４１２，図５のＳ５０６〜Ｓ５０９，Ｓ５１１〜Ｓ５１４の処理は、稼動中のＯＳが実行するものとして説明した。しかし、予めＯＳの起動後に実行するように設定されたプログラムが実行するように構成してもよい。その場合、該プログラムは、ＯＳの機能等を用いて実行してもよい。
【００４７】
なお、上述の各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【００４８】
以下、本発明に係る情報処理装置で読み取り可能な（コンピュータ読取り可能な）各種データ処理プログラムを格納する記憶媒体（記録媒体）について説明する。
本発明の各工程（上述した各機能）は、ネットワーク又は各種記憶媒体を介して取得したソフトウェア（プログラム）をパーソナルコンピュータ等の処理装置（ＣＰＵ，プロセッサ）にて実行することでも実現できる。
【００４９】
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。また、本発明は、システム或いは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのソフトウェアによって表されるプログラムを格納した記憶媒体を該システム或いは装置に読み出すことによって、そのシステム或いは装置が、本発明の効果を享受することが可能となる。
【００５０】
本発明は上記実施例に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施例の有機的な組合せを含む）が可能であり、それらを本発明の範囲から除外するものではない。例えば、実施例２の稼働率を考慮した構成に実施例３の稼動中のＯＳを起動させるのに必要なパーティションに対して保護する構成を組み合わせるようにしてもよい。
本発明の様々な例と実施例を示して説明したが、当業者であれば、本発明の趣旨と範囲は、本明細書内の特定の説明に限定されるのではない。
なお、上述した各実施例及びその変形例を有機的に組み合わせた構成も全て本発明に含まれるものである。
【００５１】
以上示したように、ユーザが正常な情報処理装置の終了手順（シャットダウン手順）をとらずに不意に電源を落とした場合であっても、次回の起動時に使用するパーティションのファイルシステムを破損させる可能性が低い。その結果、次回の起動における起動時間の長期化を防ぐことが可能となる。
また、ＣＰＵ稼働率が予め設定した値より小さい場合においてのみファイルシステムの修復を行う。その結果、ファイルシステムの修復による情報処理装置全体のパフォーマンス低下を抑制しつつ次回の起動における起動時間の長期化を防ぐことが可能となる。
さらに、現在稼動しているＯＳを起動させるのに必要なパーティションの保護をファイルシステムの修復に先立って行う。その結果、ファイルシステムの修復中にユーザが正常な情報処理装置の終了手順をとらずに不意に電源を落としても、現在稼動しているＯＳを次回に正常起動させることができるため起動時間の長期化を防ぐことができる。
【符号の説明】
【００５２】
１００    情報処理装置
１０１    ＣＰＵ
１０２    ＲＡＭ
１０４    ＨＤＤ
１０５    ＢＩＯＳＲＯＭ
２０１    マスターブートレコード（ＭＢＲ）
２０２    ＯＳ（Ａ）を起動させるデータを保持するパーティション
２０３    ＯＳ（Ｂ）を起動させるデータを保持するパーティション
２０５    起動選択用フラグ
【図１】
2011076187.tif 000003
【図２】
2011076187.tif 000004
【図３】
2011076187.tif 000005
【図４】
2011076187.tif 000006
【図５】
2011076187.tif 000007