(57)【要約】      （修正有）【課題】コンピュータの起動を高速化する。【解決手段】起動方法は、コンピュータの電源が投入されると、コンピュータの前回の動作状況に応じてコンピュータの起動モードが第１モードであるか又は第２のモードであるかを判定する判定処理と、起動モードが第１のモードである場合に、コンピュータに含まれる一又は複数のデバイスを初期化する第１の初期化処理と、起動モードが第２のモードである場合に、第１の初期化処理に要する時間より短時間で完了するように、一又は複数のデバイスのうち全部又は一部のデバイスを初期化する第２の初期化処理を含む。【選択図】図３
2013235345.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータの電源が投入されると、前記コンピュータの前回の動作状況に応じて前記コンピュータの起動モードが第１のモードであるか又は第２のモードであるかを判定する判定処理と、
前記起動モードが前記第１のモードである場合に、前記コンピュータに含まれる一又は複数のデバイスを初期化する第１の初期化処理と、
前記起動モードが前記第２のモードである場合に、前記第１の初期化処理に要する時間より短時間で完了するように、前記一又は複数のデバイスのうち全部又は一部のデバイスを初期化する第２の初期化処理、
を含み前記コンピュータが実行する起動方法。
【請求項２】
前記判定処理において、前記コンピュータにおける前回の動作が正常に終了している場合に、前記起動モードが前記第２のモードであると判定し、前記コンピュータにおける前回の動作が正常に終了していない場合に、前記起動モードが前記第１のモードであると判定する
請求項１記載の起動方法。
【請求項３】
前記第１の初期化処理において、保守プログラムへの切り替え指示を受け付け、
前記第２の初期化処理において、保守プログラムへの切り替え指示の受け付けを省略する
請求項１又は２記載の起動方法。
【請求項４】
前記第２の初期化処理において、前記第１の初期化処理で初期化される前記一又は複数のデバイスのうち、一部のデバイスの初期化を省略する
請求項１乃至３のいずれか１つ記載の起動方法。
【請求項５】
前記第２の初期化処理において、前記全部又は一部のデバイスのうち少なくとも一のデバイスの初期化を、前記第１の初期化処理における当該少なくとも一のデバイスの初期化に要する時間より短時間で完了させる
請求項１乃至４のいずれか１つ記載の起動方法。
【請求項６】
コンピュータの起動モードが、前記コンピュータに含まれる第１のデバイスに記憶されている第１のオペレーティングシステムを起動する第１のモードであるか、又は前記コンピュータに含まれる第２のデバイスに記憶されている第２のオペレーティングシステムを起動する第２のモードであるかを判定する判定処理と、
前記起動モードが前記第１のモードである場合に、前記第１のデバイスを初期化する第１の初期化処理と、
前記起動モードが前記第２のモードである場合に、前記第２のデバイスを初期化し、前記第１のデバイスの初期化を省略する第２の初期化処理、
を含み前記コンピュータが実行する起動方法。
【請求項７】
コンピュータの起動モードが、前記コンピュータに含まれる第１のデバイスに記憶されている第１のオペレーティングシステムを起動する第１のモードであるか、又は前記コンピュータに含まれる第２のデバイスに記憶されている第２のオペレーティングシステムを起動する第２のモードであるかを判定する判定処理と、
前記起動モードが前記第１のモードである場合に、前記第１のデバイスを初期化する第１の初期化処理と、
前記起動モードが前記第２のモードである場合に、前記第２のデバイスを初期化し、前記第１の初期化処理における前記第１のデバイスの初期化に要する時間より短時間で完了させるように前記第１のデバイスを初期化する第２の初期化処理、
を含み前記コンピュータが実行する起動方法。
【請求項８】
コンピュータの電源が投入されると、前記コンピュータの前回の動作状況に応じて前記コンピュータの起動モードが第１のモードであるか又は第２のモードであるかを判定する判定処理と、
前記起動モードが前記第１のモードである場合に、前記コンピュータに含まれる一又は複数のデバイスを初期化する第１の初期化処理と、
前記起動モードが前記第２のモードである場合に、前記第１の初期化処理に要する時間より短時間で完了するように、前記一又は複数のデバイスのうち全部又は一部のデバイスを初期化する第２の初期化処理、
を前記コンピュータに実行させるためのプログラム。
【請求項９】
コンピュータの起動モードが、前記コンピュータに含まれる第１のデバイスに記憶されている第１のオペレーティングシステムを起動する第１のモードであるか、又は前記コンピュータに含まれる第２のデバイスに記憶されている第２のオペレーティングシステムを起動する第２のモードであるかを判定する判定処理と、
前記起動モードが前記第１のモードである場合に、前記第１のデバイスを初期化する第１の初期化処理と、
前記起動モードが前記第２のモードである場合に、前記第２のデバイスを初期化し、前記第１のデバイスの初期化を省略する第２の初期化処理、
を前記コンピュータに実行させるためのプログラム。
【請求項１０】
コンピュータの起動モードが、前記コンピュータに含まれる第１のデバイスに記憶されている第１のオペレーティングシステムを起動する第１のモードであるか、又は前記コンピュータに含まれる第２のデバイスに記憶されている第２のオペレーティングシステムを起動する第２のモードであるかを判定する判定処理と、
前記起動モードが前記第１のモードである場合に、前記第１のデバイスを初期化する第１の初期化処理と、
前記起動モードが前記第２のモードである場合に、前記第２のデバイスを初期化し、前記第１の初期化処理における前記第１のデバイスの初期化に要する時間より短時間で完了させるように前記第１のデバイスを初期化する第２の初期化処理、
を前記コンピュータに実行させるためのプログラム。
【請求項１１】
コンピュータの電源が投入されると、前記コンピュータの前回の動作状況に応じて前記コンピュータの起動モードが第１のモードであるか又は第２のモードであるかを判定する判定部と、
前記起動モードが前記第１のモードである場合に、前記コンピュータに含まれる一又は複数のデバイスを初期化する第１の初期化処理を行い、前記起動モードが前記第２のモードである場合に、前記第１の初期化処理に要する時間より短時間で完了するように、前記一又は複数のデバイスのうち全部又は一部のデバイスを初期化する第２の初期化処理を行う初期化部と、
を有する前記コンピュータ。
【請求項１２】
コンピュータの起動モードが、前記コンピュータに含まれる第１のデバイスに記憶されている第１のオペレーティングシステムを起動する第１のモードであるか、又は前記コンピュータに含まれる第２のデバイスに記憶されている第２のオペレーティングシステムを起動する第２のモードであるかを判定する判定部と、
前記起動モードが前記第１のモードである場合に、前記第１のデバイスを初期化する第１の初期化処理を行い、前記起動モードが前記第２のモードである場合に、前記第２のデバイスを初期化し、前記第１のデバイスの初期化を省略する第２の初期化処理を行う初期化部と、
を有する前記コンピュータ。
【請求項１３】
コンピュータの起動モードが、前記コンピュータに含まれる第１のデバイスに記憶されている第１のオペレーティングシステムを起動する第１のモードであるか、又は前記コンピュータに含まれる第２のデバイスに記憶されている第２のオペレーティングシステムを起動する第２のモードであるかを判定する判定部と、
前記起動モードが前記第１のモードである場合に、前記第１のデバイスを初期化する第１の初期化処理を行い、前記起動モードが前記第２のモードである場合に、前記第２のデバイスを初期化し、前記第１の初期化処理における前記第１のデバイスの初期化に要する時間より短時間で完了させるように前記第１のデバイスを初期化する第２の初期化処理を行う初期化部と、
を有する前記コンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、コンピュータの起動に関する。
【背景技術】
【０００２】
コンピュータの起動時には、コンピュータの正常な動作を確実にするために、ＢＩＯＳ（Basic Input/Output System）によりデバイスの検査や準備などの初期化が行われる。また、コンピュータに不具合が生じたときに備えて、ＢＩＯＳはデバイスの診断や修復のための保守プログラムに切り替える手順も用意している。これらの初期化や保守プログラムに切り替える手順を含むＢＩＯＳの処理は、起動の際に毎回同様に実行される。
【０００３】
一方、正常なコンピュータでは省略してもよい処理や事後的な対応で足りる処理も、初期化には含まれている。また、実際にはコンピュータの起動の際に保守プログラムへの切り替えが行われないケースが大半である。
【０００４】
また、コンピュータが備えるデバイスの種類や数によっても、ＢＩＯＳによる初期化の内容や処理時間は異なる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平０４−２３０３６号公報
【特許文献２】ＷＯ２００９／０１６７０８  パンフレット
【特許文献３】特開２００６−２７７４７２号公報
【特許文献４】特開２０１１−１６４８４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従って、本技術の目的は、一側面では、コンピュータの起動を高速化させることである。
【課題を解決するための手段】
【０００７】
第１の態様に係る起動方法は、コンピュータの電源が投入されると、コンピュータの前回の動作状況に応じてコンピュータの起動モードが第１のモードであるか又は第２のモードであるかを判定する判定処理と、起動モードが第１のモードである場合に、コンピュータに含まれる一又は複数のデバイスを初期化する第１の初期化処理と  起動モードが第２のモードである場合に、第１の初期化処理に要する時間より短時間で完了するように、一又は複数のデバイスのうち全部又は一部のデバイスを初期化する第２の初期化処理を含む。
【０００８】
第２の態様に係る起動方法は、コンピュータの起動モードが、コンピュータに含まれる第１のデバイスに記憶されている第１のオペレーティングシステムを起動する第１のモードであるか、又はコンピュータに含まれる第２のデバイスに記憶されている第２のオペレーティングシステムを起動する第２のモードであるかを判定する判定処理と、起動モードが第１のモードである場合に、第１のデバイスを初期化する第１の初期化処理と、起動モードが第２のモードである場合に、第２のデバイスを初期化し、第１のデバイスの初期化を省略する第２の初期化処理を含む。
【０００９】
第３の態様に係る起動方法は、コンピュータの起動モードが、コンピュータに含まれる第１のデバイスに記憶されている第１のオペレーティングシステムを起動する第１のモードであるか、又はコンピュータに含まれる第２のデバイスに記憶されている第２のオペレーティングシステムを起動する第２のモードであるかを判定する判定処理と、起動モードが第１のモードである場合に、第１のデバイスを初期化する第１の初期化処理と、起動モードが第２のモードである場合に、第２のデバイスを初期化し、第１の初期化処理における第１のデバイスの初期化に要する時間より短時間で完了させるように第１のデバイスを初期化する第２の初期化処理を含む。
【発明の効果】
【００１０】
コンピュータの起動を高速化させることができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、コンピュータのハードウエア構成の例を示す図である。
【図２】図２は、コンピュータの起動に係るＢＩＯＳのモジュールの構成例を示す図である。
【図３】図３は、コンピュータ起動の際のＢＩＯＳの処理フローの例を示す図である。
【図４】図４は、通常起動処理フローの例を示す図である。
【図５】図５は、通常初期化処理フローの例を示す図である。
【図６】図６は、高速起動処理フローの例を示す図である。
【図７】図７は、高速初期化処理フローの例を示す図である。
【図８】図８は、高速初期化処理フローの例を示す図である。
【図９】図９は、起動モードの変更に係るソフトウエア構成の例を示す図である。
【図１０】図１０は、起動モード変更プログラムの処理フローの例を示す図である。
【図１１】図１１は、第２の実施の形態における起動モードの変更に係るソフトウエア構成の例を示す図である。
【図１２】図１２は、起動モードを設定する画面の例を示す図である。
【図１３】図１３は、第２の実施の形態における起動モード変更プログラムの処理フローの例を示す図である。
【図１４】図１４は、第２の実施の形態におけるコンピュータの起動に係るＢＩＯＳのモジュールの構成例を示す図である。
【図１５Ａ】図１５Ａは、第２の実施の形態におけるコンピュータ起動時のＢＩＯＳの処理フローの例を示す図である。
【図１５Ｂ】図１５Ｂは、第２の実施の形態におけるコンピュータ起動時のＢＩＯＳの処理フローの例を示す図である。
【図１６】図１６は、ＨＤＤ高速起動処理フローの例を示す図である。
【図１７】図１７は、ＣＤ／ＤＶＤ高速起動処理フローの例を示す図である。
【図１８】図１８は、ＵＳＢメモリ高速起動処理フローの例を示す図である。
【図１９】図１９は、ネットワーク高速起動処理フローの例を示す図である。
【図２０】図２０は、リカバリーユーティリティー高速起動処理フローの例を示す図である。
【図２１】図２１は、第３の実施の形態におけるＨＤＤ高速起動処理フローの例を示す図である。
【図２２】図２２は、第３の実施の形態におけるＣＤ／ＤＶＤ高速起動処理フローの例を示す図である。
【図２３】図２３は、第３の実施の形態におけるＵＳＢメモリ高速起動処理フローの例を示す図である。
【図２４】図２４は、第３の実施の形態におけるネットワーク高速起動処理フローの例を示す図である。
【図２５】図２５は、第３の実施の形態におけるリカバリーユーティリティー高速起動処理フローの例を示す図である。
【発明を実施するための形態】
【００１２】
［実施の形態１］
図１は、コンピュータのハードウエア構成の例を示す図である。ＣＰＵ（Central Processing Unit）１０３、表示制御部１０５、フラッシュＲＯＭ（Read Only Memory）１０９、ＲＡＭ（Random Access Memory）１１１、マウス１１３、キーボード１１５、ＨＤＤ（Hard Disk Drive）１１７、ＣＤ（Compact Disc）／ＤＶＤ（Digital Versatile Disc）ドライブ１１９、通信制御部１２３、及びＵＳＢ（Universal Serial Bus）ポート１２５が、バス１０１で接続されている。
【００１３】
ＣＤ／ＤＶＤドライブ１１９には、リムーバブルディスク１２１を挿入することができる。また、ＵＳＢポート１２５は、ＵＳＢ端子を有する各種のデバイス（例えば、ＵＳＢメモリ１２７）と接続することができる。また、通信制御部１２３は、ネットワークに接続している。
【００１４】
ＨＤＤ１１７には、オペレーティングシステム（ＯＳ：Operating System）のプログラムが格納されている。ＨＤＤ１１７の他に、ＣＤ／ＤＶＤドライブ１１９に挿入されるリムーバブルディスク１２１、ＵＳＢポート１２５に接続するＵＳＢメモリ１２７、あるいは通信制御部１２３を介して接続するネットワーク上の他のシステムにも、オペレーティングシステムのプログラムが格納されていることがある。また、それぞれのデバイスは、自身のオペレーティングシステムのプログラムをＲＡＭ１１１にロードするためのブートストラップローダのプログラムも記憶している。ブートストラップローダは、１次ローダと２次ローダにより構成されていることもある。その場合には、１次ローダが２次ローダをロードし、２次ローダがオペレーティングシステムをロードするように動作する。
【００１５】
この実施の形態では、コンピュータの起動について述べる。
【００１６】
コンピュータの電源が投入されると、マザーボードのフラッシュＲＯＭ１０９に格納されているＢＩＯＳが起動する。つまり、ＣＰＵ１０３は、フラッシュＲＯＭ１０９からＢＩＯＳのコードを順次読み取り、実行する。
【００１７】
コンピュータの起動に係るＢＩＯＳの構成について説明する。図２に、コンピュータの起動に係るＢＩＯＳのモジュールの構成例を示す。ＢＩＯＳ２０１は、起動モード記憶部２０３、設定部２０５、判定部２０７、初期化部２０９、切り替え部２１１、保守部２１３、優先順格納部２１５、決定部２１７、及びロード部２１９を有している。
【００１８】
起動モード記憶部２０３は、起動モードを記憶するように構成されている。具体的には、起動モード記憶部２０３は、フラッシュＲＯＭ１０９中の不揮発性の書き込み領域に設けられる。従って、動作の終了時に起動モード記憶部２０３で記憶している起動モードは、次の起動のときまで保持される。起動モードには、一般的な起動に相当する通常モード、あるいは通常モードによる起動に要する時間より短時間で起動する高速モードが設定される。
【００１９】
設定部２０５は、コンピュータの動作が中断することに備えて、起動モード記憶部２０３の起動モードを通常モードに設定する。
【００２０】
判定部２０７は、起動モード記憶部２０３に記憶している起動モードを取得し、いずれの起動モードで起動するかを判定するように動作する。
【００２１】
初期化部２０９は、コンピュータに含まれる表示制御部１０５、フラッシュＲＯＭ１０９、ＲＡＭ１１１、マウス１１３、キーボード１１５、ＨＤＤ１１７、ＣＤ／ＤＶＤドライブ１１９、通信制御部１２３、ＵＳＢポート１２５などのデバイスを初期化するように動作する。初期化には、各ハードウエア装置及び各ドライバの検査や準備の動作が含まれる。また、準備の動作には、初期値の設定などソフトウエアによる処理動作と、ハードウエア装置の電気的あるいは機械的な動作が含まれる。
【００２２】
通常の初期化では、デバイスの正常な動作を確保するための一般的な検査や準備を行う。これに対して高速の初期化では、各ハードウエア装置及び各ドライバの検査や準備の動作の一部を省略し、又は代替動作に置き換えて、通常の初期化を簡略化した動作を行う。例えば、ハードウエア装置の電気的あるいは機械的な準備を待たずに、インターフェースのみ動作できる状態となった時点で準備を終えるように動作する。あるいは、ハードウエア装置の電気的あるいは機械的な準備の途中段階で、準備が完了したと見なすようにしてもよい。
【００２３】
高速の初期化は、例えば初期化部２０９がハードウエア装置あるいはドライバに対するコマンドの一部を省く方法、あるいはハードウエア装置あるいはドライバが動作の一部を省略したコマンドを用意し、初期化部２０９がそのコマンドをハードウエア装置あるいはドライバに発する方法などによって実現される。
【００２４】
切り替え部２１１は、通常モードによる起動の際に、ユーザの操作によるリカバリーユーティリティープログラムへの切り替え指示を受け付けるように動作する。
【００２５】
保守部２１３は、保守処理を行う。保守処理には、セットアップ処理、ハードウエア診断処理、及びリカバリーユーティリティー処理などが含まれる。セットアップ処理は、ＢＩＯＳの動作に関する条件などを受け付ける。例えば、起動させるオペレーティングシステムを検索するデバイスの優先順位を受け付ける。ハードウエア診断処理は、各デバイスの詳細な検査を行う。リカバリーユーティリティー処理は、不具合を修復する処理を行う。リカバリーユーティリティープログラムなど保守処理のプログラムはＨＤＤ１１７に記憶され、実行する段階でＲＡＭ１１１にロードするようにできる。
【００２６】
優先順格納部２１５は、保守部２１３で設定された上述のデバイスの優先順位を格納するように構成されている。
【００２７】
決定部２１７は、優先順格納部２１５に格納されている上述のデバイスの順位に従って、デバイスのオペレーティングシステムをロードするブートストラップローダを検索し、オペレーティングシステムのロード元となるデバイス、つまりブートデバイスを決定するように動作する。
【００２８】
ロード部２１９は、決定部２１７により決定されたデバイスからオペレーティングシステムをロードするためのブートストラップローダを、そのブートデバイスからロードするように構成されている。
【００２９】
続いて、図３の例に従って、コンピュータ起動時のＢＩＯＳ２０１の処理フローについて説明する。判定部２０７は、起動モード記憶部２０３から起動モードを取得する（Ｓ３０１）。判定部２０７は、起動モードが通常モードであるか、あるいは高速モードであるかを判定する（Ｓ３０３）。起動モードが通常モードであると判定した場合には、ＢＩＯＳ２０１は、通常起動処理（Ｓ３０５）を行う。通常起動処理（Ｓ３０５）は、動作の中断やデバイスの故障などによりコンピュータに不具合が生じている場合への対処を想定した起動処理である。
【００３０】
図４の例に従って、通常起動処理（Ｓ３０５）のフローについて説明する。まず、初期化部２０９は、通常初期化処理（Ｓ４０１）を行う。
【００３１】
図５に、通常初期化処理（Ｓ４０１）のフローの例を示す。初期化部２０９は、まず、表示制御部１０５を初期化する（Ｓ５０１）。これにより、表示装置１０７による表示ができるようになる。初期化部２０９は、次にメモリをチェックする（Ｓ５０３）。具体的には、フラッシュＲＯＭ１０９とＲＡＭ１１１が正常に動作するかを確認する。続いて、初期化部２０９は、マウス１１３を初期化し（Ｓ５０５）、キーボード１１５を初期化する（Ｓ５０７）。マウス１１３とキーボード１１５が正常に初期化されると、マウス１１３とキーボード１１５からのデータの受け付けが可能となる。続いて、初期化部２０９は、ＨＤＤ１１７に対して通常の初期化を行う（Ｓ５０９）。同様に、初期化部２０９は、ＣＤ／ＤＶＤドライブ１１９に対しても通常の初期化を行う（Ｓ５１１）。更に、初期化部２０９は、ＵＳＢポート１２５に対しても通常の初期化を行う（Ｓ５１３）。次に、初期化部２０９は、ＵＳＢポート１２５にＵＳＢメモリ１２７が接続されている場合には、ＵＳＢメモリ１２７にアクセスするための通常の初期化を行う（Ｓ５１５）。更に、初期化部２０９は、通信制御部１２３に対しても通常の初期化を行う（Ｓ５１７）。
【００３２】
図４に戻って、切り替え部２１１は、ユーザからの切り替え指示を待つ（Ｓ４０３）。切り替え指示は、ファンクションキーの押下などの操作により行われる。切り替え部２１１は、所定の時間待って、切り替え指示の有無を判定する（Ｓ４０５）。具体的には、切り替え部２１１は、所定の時間内に切り替え指示の操作を受け付けた場合には、切り替え指示が有ったと判定し、切り替え指示を受け付けることなく所定の時間が経過した場合には、切り替え指示が無かったと判定する。
【００３３】
Ｓ４０５で切り替え指示が無かったと判定した場合には、決定部２１７は、ブートデバイスを決定する（Ｓ４０７）。決定部２１７は、優先順格納部２１５に格納されているデバイスの優先順位に従って、各デバイスにオペレーティングシステムが格納されているかを検索する。より優先順位の高いデバイスでオペレーティングシステムを見つけると、そのデバイスをブートデバイスに決定する。
【００３４】
ロード部２１９は、ブートデバイスからブートストラップローダをロードする（Ｓ４０９）。ロード部２１９が、ブートストラップローダをロードすると、ＢＩＯＳ２０１は、ブートストラップローダへ制御を移して、図３に戻り処理を終える。
【００３５】
ブートストラップローダは、ブートデバイスからオペレーティングシステムのプログラムをロードし、オペレーティングシステムに制御を移す。これにより、コンピュータの起動が完了する。
【００３６】
一方、Ｓ４０５で切り替え指示が有ったと判定した場合には、保守部２１３は、前述の保守処理（Ｓ４１１）を行う。保守処理（Ｓ４１１）を終えると、図３に戻り処理を終える。
【００３７】
以上で、通常起動処理（図３：Ｓ３０５）についての説明を終える。
【００３８】
図３に戻って、Ｓ３０３で起動モードが高速モードであると判定された場合について説明する。前回の動作が正常に終了した場合に、起動モードが高速モードとなる。つまり、起動モードが高速モードである場合には、前回の動作で電源断や故障による中断が起きていないと想定される。動作が正常に終了する場合に、起動モードを高速モードに設定する動作については、図９と図１０を用いて後述する。
【００３９】
起動モードが高速モードであると判定された場合には、設定部２０５は、起動モードを通常モードに設定する（Ｓ３０７）。これにより、正常な終了に至ることなく、コンピュータの動作が中断された場合には、次の起動時に通常モードで起動されるようになる。
【００４０】
次に、ＢＩＯＳ２０１は、高速起動処理（Ｓ３０９）を行う。高速起動処理（Ｓ３０９）は、コンピュータに不具合が生じていない状況を想定した処理を行う。
【００４１】
図６に、高速起動処理フローの例を示す。初期化部２０９は、高速初期化処理（Ｓ６０１）を行う。高速初期化処理（Ｓ６０１）として、一部のデバイスの初期化を省略する例と、一部のデバイスの初期化を簡略化する例について説明する。
【００４２】
図７に、一部のデバイスの初期化を省略する場合の高速初期化処理フローの例を示す。この例では、マウス１１３と、キーボード１１５と、ＣＤ／ＤＶＤドライブ１１９と、ＵＳＢポート１２５と、ＵＳＢメモリ１２７と、通信制御部１２３の初期化を省略する。初期化部２０９は、表示制御部１０５を初期化し（Ｓ５０１）、メモリをチェックすると（Ｓ５０３）、ＨＤＤ１１７に対して通常の初期化を行い（Ｓ５０９）、初期化の処理を終える。マウス１１３と、キーボード１１５と、ＣＤ／ＤＶＤドライブ１１９と、ＵＳＢポート１２５と、ＵＳＢメモリ１２７と、通信制御部１２３のうち、いずれか一部のデバイスの初期化だけを省略するようにしてもよい。
【００４３】
図８に、一部のデバイスの初期化を簡略化す場合の高速初期化処理フローの例を示す。初期化部２０９は、前述と同様に表示制御部１０５を初期化し（Ｓ５０１）、メモリをチェックすると（Ｓ５０３）、マウス１１３に対して高速の初期化を行い（Ｓ８０１）、更にキーボード１１５に対して高速の初期化を行う（Ｓ８０３）。初期化部２０９は、ＨＤＤ１１７に対しては通常の初期化を行う（Ｓ５０９）。ＨＤＤ１１７からオペレーティングシステムをロードするためである。続いて、初期化部２０９は、ＣＤ／ＤＶＤドライブ１１９に対して高速の初期化を行い（Ｓ８０５）、ＵＳＢポート１２５に対しても高速の初期化を行い（Ｓ８０７）、ＵＳＢポート１２５にＵＳＢメモリ１２７が接続されている場合にはＵＳＢメモリ１２７に対して高速の初期化を行い（Ｓ８０９）、最後に、通信制御部１２３に対して高速の初期化を行う（Ｓ８１１）。
【００４４】
上述の通り、高速の初期化では、通常の初期化で行われる処理の一部を省略することにより処理を早めることができる。例えば、ハードウエア装置の初期化動作が完了していない状態でも、インターフェースが動作可能になれば、初期化が済んだと見なして処理する。ハードウエア装置あるいはドライバで、初期化動作の一部を省略する高速モードによる初期化のコマンドを用意し、初期化部２０９は、この高速モードの初期化コマンドを発することにより、高速の初期化を行うようにしてもよい。また、初期化動作を代替動作に置き換えるようにしてもよい。
【００４５】
図６に戻って、前述と同様に、決定部２１７は、ブートデバイスを決定し（Ｓ４０７）、ロード部２１９は、ブートストラップローダのロードを行う（Ｓ４０９）。ブートストラップローダがオペレーティングシステムのプログラムをロードし、オペレーティングシステムに制御を移す。これにより、高速の起動が完了する。
【００４６】
次に、コンピュータの動作が正常に終了する場合に、起動モードを高速モードに設定する動作について説明する。
【００４７】
図９に、起動モードの変更に係るソフトウエア構成の例を示す。起動モード変更プログラム９０３は、例えばＨＤＤ１１７に格納されている。起動モード変更プログラム９０３は、オペレーティングシステム９０１が正常に処理を開始すると、自動的にＲＡＭ１１１にロードされ、常駐するように設定されている。実行状態となった起動モード変更プログラム９０３は、オペレーティングシステム９０１からシャットダウンの通知を受け、起動モード書き込みドライバ９０５を介してＢＩＯＳ２０１の起動モード記憶部２０３に起動モードを高速モードへ変更するように動作する。
【００４８】
図１０に、起動モード変更プログラムの処理フローの例を示す。起動モード変更プログラム９０３は、常時オペレーティングシステム９０１からシャットダウン通知を受けるように待機している（Ｓ１００１）。オペレーティングシステム９０１からシャットダウン通知を受けると、起動モード書き込みドライバ９０５を介して起動モード記憶部２０３の起動モードを高速モードに変更する（Ｓ１００３）。
【００４９】
このように、正常に動作を終了した場合には、起動モードを高速モードに設定することにより、次回の動作開始の際には、高速で起動されるようになる。
【００５０】
［実施の形態２］
前述の実施の形態では、高速モードを設けることにより、起動を高速化させる例について説明したが、本実施の形態では、ブートデバイスを指定した高速起動モードを設け、更に起動を高速化させる例について説明する。
【００５１】
本実施の形態では、通常モードの他に、ＨＤＤ高速起動モード、ＣＤ／ＤＶＤ高速起動モード、ＵＳＢメモリ高速起動モード、ネットワーク高速起動モード及びリカバリーユーティリティー高速起動モードを設ける。
【００５２】
ＨＤＤ高速起動モードは、ＨＤＤ１１７をブートデバイスとして高速に起動するモードである。ＣＤ／ＤＶＤ高速起動モードは、ＣＤ／ＤＶＤドライブ１１９をブートデバイスとして高速に起動するモードである。ＵＳＢメモリ高速起動モードは、ＵＳＢメモリ１２７をブートデバイスとして高速に起動するモードである。ネットワーク高速起動モードは、ネットワーク上の他のシステムに記憶されているオペレーティングシステムイメージから高速に起動するモードである。リカバリーユーティリティー高速起動モードは、ＨＤＤ１１７に記憶されているリカバリーユーティリティー処理のプログラムを高速に起動するモードである。
【００５３】
本実施の形態では、コンピュータの動作終了時点において、第１の実施の形態における高速モードに代えて、ユーザに指定された通常モード、ＨＤＤ高速起動モード、ＣＤ／ＤＶＤ高速起動モード、ＵＳＢメモリ高速起動モード、ネットワーク高速起動モード及びリカバリーユーティリティー高速起動モードのいずれかを起動モード記憶部２０３に設定する。中断された場合に、起動モードが通常モードであることは、第１の実施の形態と同じである。
【００５４】
図１１に、本実施の形態における起動モードの変更に係るソフトウエア構成の例を示す。コンピュータは、オペレーティングシステム９０１、起動モード変更プログラム９０３及び起動モード書き込みドライバ９０５の他に、モード設定プログラム１１０１と設定モードファイル１１０３を有している。
【００５５】
モード設定プログラム１１０１は、正常終了時に設定する起動モードとして、通常モード、ＨＤＤ高速起動モード、ＣＤ／ＤＶＤ高速起動モード、ＵＳＢメモリ高速起動モード、ネットワーク高速起動モードあるいはリカバリーユーティリティー高速起動モードのうちいずれかをユーザが選択できるように構成されている。
【００５６】
設定モードファイル１１０３は、ユーザにより選択された起動モードを記憶するように構成されている。設定モードファイル１１０３は、例えばＨＤＤ１１７に設けられる。
【００５７】
モード設定プログラム１１０１は、起動モードの設定を促す画面を表示装置１０７に表示させる。図１２に、起動モードを設定する画面の例を示す。
【００５８】
「高速起動モードで起動する」をチェックしない場合には、ユーザが通常モードを選択することを意味する。
【００５９】
「高速起動モードで起動する」をチェックすると、ユーザは更に「ＨＤＤのＯＳを高速起動する」と「ＣＤ／ＤＶＤのＯＳを高速起動する」と「ＵＳＢメモリのＯＳを高速起動する」と「ネットワーク上のＯＳイメージから高速起動する」と「リカバリーユーティリティーを高速起動する」のいずれかをチェックすることができる。
【００６０】
ユーザが「ＨＤＤのＯＳを高速起動する」をチェックすると、ＨＤＤ高速起動モードを選択することを意味する。ユーザが「ＣＤ／ＤＶＤのＯＳを高速起動する」をチェックすると、ＣＤ／ＤＶＤ高速起動モードを選択することを意味する。ユーザが「ＵＳＢメモリのＯＳを高速起動する」をチェックすると、ＵＳＢメモリ高速起動モードを選択することを意味する。ユーザが「ネットワーク上のＯＳイメージから高速起動する」をチェックすると、ネットワーク高速起動モードを選択することを意味する。ユーザが「リカバリーユーティリティーを高速起動する」をチェックすると、リカバリーユーティリティー高速起動モードを選択することを意味する。そして、モード設定プログラム１１０１は、選択された起動モードを設定モードファイル１１０３に記憶させる。
【００６１】
本実施の形態における起動モード変更プログラム９０３は、コンピュータの動作が正常に終了する場合に、設定モードファイル１１０３に記憶されている起動モードを起動モード記憶部２０３に書き込むように動作する。
【００６２】
起動モード変更プログラム９０３は、オペレーティングシステム９０１からシャットダウン通知を受けて、起動モード記憶部２０３の起動モードを書き換える。図１３に、第２の実施の形態における起動モード変更プログラムの処理フローの例を示す。
【００６３】
起動モード変更プログラム９０３は、前述と同様にオペレーティングシステム９０１からのシャットダウン通知を受けるために待機している（Ｓ１００１）。オペレーティングシステム９０１からシャットダウン通知を受けると、起動モード変更プログラム９０３は、設定モードファイル１１０３を読み、ユーザが指定した起動モードを取得する（Ｓ１３０１）、そして起動モード記憶部２０３に取得した起動モードを書き込む（Ｓ１３０３）。このようにして、起動モード変更プログラム９０３は起動モードを変更する。
【００６４】
次に、コンピュータの起動時の動作について説明する。図１４に、第２の実施の形態におけるコンピュータの起動に係るＢＩＯＳ２０１のモジュールの構成例を示す。モジュール自体は、第１の実施の形態と同様である。但し、各高速起動モードでは、決定部２１７は起動モード記憶部２０３に記憶されているモードに従って、ブートデバイスを決定するように動作する点で、第１の実施の形態と異なる。
【００６５】
図１５Ａと図１５Ｂは、第２の実施の形態におけるコンピュータ起動時のＢＩＯＳの処理フローの例を示す図である。判定部２０７は、第１の実施の形態と同様に起動モードを取得し（Ｓ３０１）、起動モードが通常モードであるか否かを判定する（Ｓ３０３）。起動モードが通常モードであると判定した場合には、ＢＩＯＳ２０１は、通常起動処理（Ｓ３０５）を行う。通常起動処理（Ｓ３０５）は、第１の実施の形態と同様である。
【００６６】
更に、判定部２０７は、起動モードがＨＤＤ高速起動モードであるか否かを判定する（Ｓ１５０１）。起動モードがＨＤＤ高速起動モードであると判定した場合には、設定部２０５は、起動モードを通常モードに設定し（Ｓ１５０３）、ＢＩＯＳ２０１は、ＨＤＤ高速起動処理（Ｓ１５０５）を行う。起動モードを通常モードに設定する趣旨は、第１の実施の形態と同様である。ＨＤＤ高速起動処理（Ｓ１５０５）については、図１６を用いて後述する。
【００６７】
更に、起動モードがＨＤＤ高速起動モードでないと判定した場合には、判定部２０７は、起動モードがＣＤ／ＤＶＤ高速起動モードであるか否かを判定する（Ｓ１５０７）。起動モードがＣＤ／ＤＶＤ高速起動モードであると判定した場合には、設定部２０５は、起動モードを通常モードに設定し（Ｓ１５０９）、ＢＩＯＳ２０１は、ＣＤ／ＤＶＤ高速起動処理（Ｓ１５１１）を行う。ＣＤ／ＤＶＤ高速起動処理（Ｓ１５１１）については、図１７を用いて後述する。
【００６８】
更に、起動モードがＣＤ／ＤＶＤ高速起動モードでないと判定した場合には、判定部２０７は、起動モードがＵＳＢメモリ高速起動モードであるか否かを判定する（Ｓ１５１３）。起動モードがＵＳＢメモリ高速起動モードであると判定した場合には、設定部２０５は、起動モードを通常モードに設定し（Ｓ１５１５）、ＢＩＯＳ２０１は、ＵＳＢメモリ高速起動処理（Ｓ１５１７）を行う。ＵＳＢメモリ高速起動処理（Ｓ１５１７）については、図１８を用いて後述する。
【００６９】
更に、起動モードがＵＳＢメモリ高速起動モードでないと判定した場合には、判定部２０７は、起動モードがネットワーク高速起動モードであるか、あるいはリカバリーユーティリティー高速起動モードであるかを判定する（Ｓ１５１９）。起動モードがネットワーク高速起動モードであると判定した場合には、設定部２０５は、起動モードを通常モードに設定し（Ｓ１５２１）、ＢＩＯＳ２０１は、ネットワーク高速起動処理（Ｓ１５２３）を行う。ネットワーク高速起動処理（Ｓ１５２３）については、図２０を用いて後述する。
【００７０】
起動モードがリカバリーユーティリティー高速起動モードであると判定した場合には、設定部２０５は、起動モードを通常モードに設定し（Ｓ１５２５）、ＢＩＯＳ２０１は、リカバリーユーティリティー高速起動処理（Ｓ１５２７）を行う。リカバリーユーティリティー高速起動処理（Ｓ１５２７）については、図１９を用いて後述する。
【００７１】
ＨＤＤ高速起動処理（Ｓ１５０５）について詳述する。図１６に、ＨＤＤ高速起動処理フローの例を示す。この例では、マウス１１３と、キーボード１１５と、ＣＤ／ＤＶＤドライブ１１９と、ＵＳＢポート１２５と、ＵＳＢメモリ１２７と、通信制御部１２３の初期化を省略している。ＨＤＤ１１７のオペレーティングシステムを正常に起動することのみを条件とすれば、これらのデバイスの初期化は後回しにしても構わないからである。マウス１１３と、キーボード１１５と、ＣＤ／ＤＶＤドライブ１１９と、ＵＳＢポート１２５と、ＵＳＢメモリ１２７と、通信制御部１２３のうち、いずれか一部のデバイスの初期化だけを省略するようにしてもよい。
【００７２】
初期化部２０９は、表示制御部１０５を初期化し（Ｓ５０１）、メモリをチェックし（Ｓ５０３）、ＨＤＤ１１７に対して通常の初期化を行う（Ｓ５０９）。最後に、ロード部２１９は、ＨＤＤ１１７からブートストラップローダをロードし（Ｓ４０９）、ブートストラップローダに制御を移す。ブートストラップローダは、ＨＤＤ１１７からオペレーティングシステムのプログラムをロードする。
【００７３】
ＣＤ／ＤＶＤ高速起動処理（Ｓ１５１１）について詳述する。図１７に、ＣＤ／ＤＶＤ高速起動処理フローの例を示す。この例では、マウス１１３と、キーボード１１５と、ＨＤＤ１１７と、ＵＳＢポート１２５と、ＵＳＢメモリ１２７と、通信制御部１２３の初期化を省略している。ＣＤ／ＤＶＤドライブ１１９に挿入されているリムーバルディスク１２１のオペレーティングシステムを正常に起動することのみを条件とすれば、これらのデバイスの初期化は後回しにしても構わないからである。マウス１１３と、キーボード１１５と、ＨＤＤ１１７と、ＵＳＢポート１２５と、ＵＳＢメモリ１２７と、通信制御部１２３のうち、いずれか一部のデバイスの初期化だけを省略するようにしてもよい。
【００７４】
初期化部２０９は、表示制御部１０５を初期化し（Ｓ５０１）、メモリをチェックし（Ｓ５０３）、ＣＤ／ＤＶＤドライブ１１９に対して通常の初期化を行う（Ｓ５１１）。最後に、ロード部２１９は、ＣＤ／ＤＶＤドライブ１１９に挿入されているリムーバルディスク１２１からブートストラップローダをロードし（Ｓ４０９）、ブートストラップローダに制御を移す。ブートストラップローダは、ＣＤ／ＤＶＤドライブ１１９に挿入されているリムーバルディスク１２１からオペレーティングシステムのプログラムをロードする。
【００７５】
ＵＳＢメモリ高速起動処理（Ｓ１５１７）について詳述する。図１８に、ＵＳＢメモリ高速起動処理フローの例を示す。この例では、マウス１１３と、キーボード１１５と、ＨＤＤ１１７と、ＣＤ／ＤＶＤドライブ１１９と、通信制御部１２３の初期化を省略している。ＵＳＢポート１２５に接続されているＵＳＢメモリ１２７のオペレーティングシステムを正常に起動することのみを条件とすれば、これらのデバイスの初期化は後回しにしても構わないからである。マウス１１３と、キーボード１１５と、ＨＤＤ１１７と、ＣＤ／ＤＶＤドライブ１１９と、通信制御部１２３のうち、いずれか一部のデバイスの初期化だけを省略するようにしてもよい。
【００７６】
初期化部２０９は、表示制御部１０５を初期化し（Ｓ５０１）、メモリをチェックし（Ｓ５０３）、ＵＳＢポート１２５に対して通常の初期化を行い（Ｓ５１３）、ＵＳＢポート１２５にＵＳＢメモリ１２７が接続されている場合には、ＵＳＢメモリ１２７にアクセスするための通常の初期化を行う（Ｓ５１５）。ロード部２１９は、ＵＳＢポート１２５に接続されているＵＳＢメモリ１２７からブートストラップローダをロードし（Ｓ４０９）、ブートストラップローダに制御を移す。ブートストラップローダは、ＵＳＢポート１２５に接続されているＵＳＢメモリ１２７からオペレーティングシステムのプログラムをロードする。
【００７７】
ネットワーク高速起動処理（Ｓ１５２３）について詳述する。図１９に、ネットワーク高速起動処理フローの例を示す。この例では、マウス１１３と、キーボード１１５と、ＨＤＤ１１７と、ＣＤ／ＤＶＤドライブ１１９と、ＵＳＢポート１２５と、ＵＳＢメモリ１２７と、通信制御部１２３の初期化を省略している。ネットワーク上の他のシステムのオペレーティングシステムイメージから正常に起動することのみを条件とすれば、これらのデバイスの初期化は後回しにしても構わないからである。マウス１１３と、キーボード１１５と、ＨＤＤ１１７と、ＣＤ／ＤＶＤドライブ１１９と、ＵＳＢポート１２５と、ＵＳＢメモリ１２７と、通信制御部１２３のうち、いずれか一部のデバイスの初期化だけを省略するようにしてもよい。
【００７８】
初期化部２０９は、表示制御部１０５を初期化し（Ｓ５０１）、メモリをチェックし（Ｓ５０３）、通信制御部１２３に対して通常の初期化を行う（Ｓ５１７）。最後に、ロード部２１９は、ネットワーク上の他のシステムからブートストラップローダをロードし（Ｓ４０９）、ブートストラップローダに制御を移す。ブートストラップローダは、オペレーティングシステムイメージからオペレーティングシステムのプログラムをロードする。
【００７９】
リカバリーユーティリティー高速起動処理（Ｓ１５２７）について詳述する。図２０に、リカバリーユーティリティー高速起動処理フローの例を示す。この例では、マウス１１３と、キーボード１１５と、ＣＤ／ＤＶＤドライブ１１９と、ＵＳＢポート１２５と、ＵＳＢメモリ１２７と、通信制御部１２３の初期化を省略している。ＨＤＤ１１７のリカバリーユーティリティープログラムを正常に起動することのみを条件とすれば、これらのデバイスの初期化は後回しにしても構わないからである。マウス１１３と、キーボード１１５と、ＣＤ／ＤＶＤドライブ１１９と、ＵＳＢポート１２５と、ＵＳＢメモリ１２７と、通信制御部１２３のうち、いずれか一部のデバイスの初期化だけを省略するようにしてもよい。
【００８０】
初期化部２０９は、表示制御部１０５を初期化し（Ｓ５０１）、メモリをチェックし（Ｓ５０３）、初期化部２０９は、ＨＤＤ１１７に対して通常の初期化を行う（Ｓ５０９）。保守部２１３は、ＨＤＤ１１７のリカバリーユーティリティープログラムをロードする。ロードされたリカバリーユーティリティープログラムは、リカバリーユーティリティー処理を行う（Ｓ２００１）。リカバリーユーティリティー処理を終えると、設定部２０５は、設定モードファイル１１０３から起動モードを取得し（Ｓ１３０１）、起動モード記憶部２０３の起動モードを、取得した起動モードに変更する（Ｓ１３０３）。そして、ＢＩＯＳ２０１は、コンピュータをシャットダウンする（Ｓ２００３）。
【００８１】
［実施の形態３］
第２の実施の形態では、一部のデバイスの初期化を省略する例を示したが、本実施の形態では、一部のデバイスの初期化を簡略化する例について説明する。
【００８２】
図２１に、本実施の形態におけるＨＤＤ高速起動処理フローの例を示す。この例では、マウス１１３と、キーボード１１５と、ＣＤ／ＤＶＤドライブ１１９と、ＵＳＢポート１２５と、ＵＳＢメモリ１２７と、通信制御部１２３の初期化を簡略化している。ＨＤＤ１１７のオペレーティングシステムを正常に起動することのみを条件とすれば、これらのデバイスの初期化は簡略化しても構わないからである。マウス１１３と、キーボード１１５と、ＣＤ／ＤＶＤドライブ１１９と、ＵＳＢポート１２５と、ＵＳＢメモリ１２７と、通信制御部１２３のうち、いずれか一部のデバイスの初期化だけを簡略化するようにしてもよい。つまり、いずれか一部のデバイスに対して高速の初期化を行い、簡略化可能な残りのデバイスに対しては通常の初期化を行うようにしてもよい。あるは、簡略化可能な残りのデバイスの初期化は省略してもよい。
【００８３】
初期化部２０９は、表示制御部１０５を初期化し（Ｓ５０１）、メモリをチェックする（Ｓ５０３）。続いて、初期化部２０９は、マウス１１３に対して高速の初期化を行い（Ｓ８０１）、キーボード１１５に対して高速の初期化を行う（Ｓ８０３）。更に、初期化部２０９は、ＨＤＤ１１７に対して通常の初期化を行い（Ｓ５０９）、ＣＤ／ＤＶＤドライブ１１９に対して高速の初期化を行い（Ｓ８０５）、ＵＳＢポート１２５に対して高速の初期化を行い（Ｓ８０７）、ＵＳＢポート１２５にＵＳＢメモリ１２７が接続されている場合には、ＵＳＢメモリ１２７にアクセスするための高速の初期化を行う（Ｓ８０９）。更に、初期化部２０９は、通信制御部１２３に対しても高速の初期化を行う（Ｓ８１１）。最後に、ロード部２１９は、ＨＤＤ１１７からブートストラップローダをロードし（Ｓ４０９）、ブートストラップローダに制御を移す。ブートストラップローダは、ＨＤＤ１１７からオペレーティングシステムのプログラムをロードする。
【００８４】
図２２に、本実施の形態におけるＣＤ／ＤＶＤ高速起動処理フローの例を示す図である。この例では、マウス１１３と、キーボード１１５と、ＨＤＤ１１７と、ＵＳＢポート１２５と、ＵＳＢメモリ１２７と、通信制御部１２３の初期化を簡略化している。ＣＤ／ＤＶＤドライブ１１９のオペレーティングシステムを正常に起動することのみを条件とすれば、これらのデバイスの初期化は簡略化しても構わないからである。マウス１１３と、キーボード１１５と、ＨＤＤ１１７と、ＵＳＢポート１２５と、ＵＳＢメモリ１２７と、通信制御部１２３のうち、いずれか一部のデバイスの初期化だけを簡略化するようにしてもよい。つまり、いずれか一部のデバイスに対して高速の初期化を行い、簡略化可能な残りのデバイスに対しては通常の初期化を行うようにしてもよい。あるは、簡略化可能な残りのデバイスの初期化は省略してもよい。
【００８５】
初期化部２０９は、表示制御部１０５を初期化し（Ｓ５０１）、メモリをチェックする（Ｓ５０３）。続いて、初期化部２０９は、マウス１１３に対して高速の初期化を行い（Ｓ８０１）、キーボード１１５に対して高速の初期化を行う（Ｓ８０３）。更に、初期化部２０９は、ＨＤＤ１１７に対して高速の初期化を行い（Ｓ２２０１）、ＣＤ／ＤＶＤドライブ１１９に対して通常の初期化を行い（Ｓ５１１）、ＵＳＢポート１２５に対して高速の初期化を行い（Ｓ８０７）、ＵＳＢポート１２５にＵＳＢメモリ１２７が接続されている場合には、ＵＳＢメモリ１２７にアクセスするための高速の初期化を行う（Ｓ８０９）。更に、初期化部２０９は、通信制御部１２３に対しても高速の初期化を行う（Ｓ８１１）。最後に、ロード部２１９は、ＣＤ／ＤＶＤドライブ１１９に挿入されているリムーバルディスク１２１からブートストラップローダをロードし（Ｓ４０９）、ブートストラップローダに制御を移す。ブートストラップローダは、ＣＤ／ＤＶＤドライブ１１９に挿入されているリムーバルディスク１２１からオペレーティングシステムのプログラムをロードする。
【００８６】
図２３に、本実施の形態におけるＵＳＢメモリ高速起動処理フローの例を示す図である。この例では、マウス１１３と、キーボード１１５と、ＨＤＤ１１７と、ＣＤ／ＤＶＤドライブ１１９と、通信制御部１２３の初期化を簡略化している。ＵＳＢポート１２５に接続されているＵＳＢメモリ１２７のオペレーティングシステムを正常に起動することのみを条件とすれば、これらのデバイスの初期化は簡略化しても構わないからである。マウス１１３と、キーボード１１５と、ＨＤＤ１１７と、ＣＤ／ＤＶＤドライブ１１９と、通信制御部１２３のうち、いずれか一部のデバイスの初期化だけを簡略化するようにしてもよい。つまり、いずれか一部のデバイスに対して高速の初期化を行い、簡略化可能な残りのデバイスに対しては通常の初期化を行うようにしてもよい。あるは、簡略化可能な残りのデバイスの初期化は省略してもよい。
【００８７】
初期化部２０９は、表示制御部１０５を初期化し（Ｓ５０１）、メモリをチェックする（Ｓ５０３）。続いて、初期化部２０９は、マウス１１３に対して高速の初期化を行い（Ｓ８０１）、キーボード１１５に対して高速の初期化を行う（Ｓ８０３）。更に、初期化部２０９は、ＨＤＤ１１７に対して高速の初期化を行い（Ｓ２２０１）、ＣＤ／ＤＶＤドライブ１１９に対しても高速の初期化を行う（Ｓ８０５）。初期化部２０９は、ＵＳＢポート１２５に対して通常の初期化を行い（Ｓ５１３）、ＵＳＢポート１２５にＵＳＢメモリ１２７が接続されている場合には、ＵＳＢメモリ１２７にアクセスするための通常の初期化を行う（Ｓ５１５）。更に、初期化部２０９は、通信制御部１２３に対しても高速の初期化を行う（Ｓ８１１）。最後に、ロード部２１９は、ＵＳＢポート１２５に接続されているＵＳＢメモリ１２７からブートストラップローダをロードし（Ｓ４０９）、ブートストラップローダに制御を移す。ブートストラップローダは、ＵＳＢポート１２５に接続されているＵＳＢメモリ１２７からオペレーティングシステムのプログラムをロードする。
【００８８】
図２４に、本実施の形態におけるネットワーク高速起動処理フローの例を示す図である。この例では、マウス１１３と、キーボード１１５と、ＨＤＤ１１７と、ＣＤ／ＤＶＤドライブ１１９と、ＵＳＢポート１２５と、ＵＳＢメモリ１２７の初期化を簡略化している。ネットワーク上の他のシステムのオペレーティングシステムイメージから正常に起動することのみを条件とすれば、これらのデバイスの初期化は簡略化しても構わないからである。マウス１１３と、キーボード１１５と、ＨＤＤ１１７と、ＣＤ／ＤＶＤドライブ１１９と、ＵＳＢポート１２５と、ＵＳＢメモリ１２７のうち、いずれか一部のデバイスの初期化だけを簡略化するようにしてもよい。つまり、いずれか一部のデバイスに対して高速の初期化を行い、簡略化可能な残りのデバイスに対しては通常の初期化を行うようにしてもよい。あるは、簡略化可能な残りのデバイスの初期化は省略してもよい。
【００８９】
初期化部２０９は、表示制御部１０５を初期化し（Ｓ５０１）、メモリをチェックする（Ｓ５０３）。続いて、初期化部２０９は、マウス１１３に対して高速の初期化を行い（Ｓ８０１）、キーボード１１５に対して高速の初期化を行う（Ｓ８０３）。更に、初期化部２０９は、ＨＤＤ１１７に対して高速の初期化を行い（Ｓ２２０１）、ＣＤ／ＤＶＤドライブ１１９に対しても高速の初期化を行う（Ｓ８０５）。初期化部２０９は、ＵＳＢポート１２５に対して高速の初期化を行い（Ｓ８０７）、ＵＳＢポート１２５にＵＳＢメモリ１２７が接続されている場合には、ＵＳＢメモリ１２７にアクセスするための高速の初期化を行う（Ｓ８０９）。初期化部２０９は、通信制御部１２３に対して通常の初期化を行う（Ｓ５１７）。最後に、ロード部２１９は、ネットワーク上の他のシステムからブートストラップローダをロードし（Ｓ４０９）、ブートストラップローダに制御を移す。ブートストラップローダは、ネットワーク上の他のシステムのオペレーティングシステムイメージからオペレーティングシステムのプログラムをロードする。
【００９０】
図２５に、本実施の形態におけるリカバリーユーティリティー高速起動処理フローの例を示す図である。この例では、マウス１１３と、キーボード１１５と、ＣＤ／ＤＶＤドライブ１１９と、ＵＳＢポート１２５と、ＵＳＢメモリ１２７と、通信制御部１２３の初期化を簡略化している。ＨＤＤ１１７のリカバリーユーティリティープログラムを正常に起動することのみを条件とすれば、これらのデバイスの初期化は簡略化しても構わないからである。マウス１１３と、キーボード１１５と、ＣＤ／ＤＶＤドライブ１１９と、ＵＳＢポート１２５と、ＵＳＢメモリ１２７と、通信制御部１２３のうち、いずれか一部のデバイスの初期化だけを簡略化するようにしてもよい。つまり、いずれか一部のデバイスに対して高速の初期化を行い、簡略化可能な残りのデバイスに対しては通常の初期化を行うようにしてもよい。あるは、簡略化可能な残りのデバイスの初期化は省略してもよい。
【００９１】
初期化部２０９は、表示制御部１０５を初期化し（Ｓ５０１）、メモリをチェックする（Ｓ５０３）。続いて、初期化部２０９は、マウス１１３に対して高速の初期化を行い（Ｓ８０１）、キーボード１１５に対して高速の初期化を行う（Ｓ８０３）。更に、初期化部２０９は、ＨＤＤ１１７に対して通常の初期化を行い（Ｓ５０９）、ＣＤ／ＤＶＤドライブ１１９に対して高速の初期化を行い（Ｓ８０５）、ＵＳＢポート１２５に対して高速の初期化を行い（Ｓ８０７）、ＵＳＢポート１２５にＵＳＢメモリ１２７が接続されている場合には、ＵＳＢメモリ１２７にアクセスするための高速の初期化を行う（Ｓ８０９）。更に、初期化部２０９は、通信制御部１２３に対しても高速の初期化を行う（Ｓ８１１）。保守部２１３は、ＨＤＤ１１７のリカバリーユーティリティープログラムをロードする。ロードされたリカバリーユーティリティープログラムは、リカバリーユーティリティー処理を行う（Ｓ２００１）。リカバリーユーティリティー処理を終えると、設定部２０５は、設定モードファイル１１０３から起動モードを取得し（Ｓ１３０１）、起動モード記憶部２０３の起動モードを、取得した起動モードに変更する（Ｓ１３０３）。その上で、ＢＩＯＳ２０１は、コンピュータをシャットダウンする（Ｓ２００３）。
【００９２】
初期化を省略する対象となるデバイスの選択は、上述の例に限定されない。また、簡略化した高速な初期化の対象となるデバイスの選択も、上述の例に限定されない。更に、初期化の省略と簡略化した高速な初期化の組み合わせも、限定されない。
【００９３】
以上本技術の一実施の形態を説明したが、本技術はこれに限定されるものではない。例えば、上述の機能ブロック構成は必ずしも実際のプログラムモジュール構成に対応するものではない。
【００９４】
また、上で説明した各記憶領域の構成は一例であって、必ずしも上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
【００９５】
以上述べた実施の形態をまとめると、以下のようになる。
【００９６】
第１の態様に係る起動方法は、コンピュータの電源が投入されると、コンピュータの前回の動作状況に応じてコンピュータの起動モードが第１のモードであるか又は第２のモードであるかを判定する判定処理と、起動モードが第１のモードである場合に、コンピュータに含まれる一又は複数のデバイスを初期化する第１の初期化処理と  起動モードが第２のモードである場合に、第１の初期化処理に要する時間より短時間で完了するように、一又は複数のデバイスのうち全部又は一部のデバイスを初期化する第２の初期化処理を含む。
【００９７】
このようにすれば、コンピュータの電源を投入すると、モードの切り替え操作を待つことなく、自動的に起動モードの判定が行われ、早期に第１又は第２の初期化が行われるようになる。また、第２のモードであれば高速な起動ができ、第１のモードであればデバイスの十分な点検と準備ができる。
【００９８】
また、上記判定処理において、コンピュータにおける前回の動作が正常に終了している場合に、起動モードが第２のモードであると判定し、コンピュータにおける前回の動作が正常に終了していない場合に、起動モードが第１のモードであると判定するようにしてもよい。
【００９９】
このようにすれば、コンピュータの前回の動作が正常に終了している場合に、高速に起動することができる。前回の動作が正常に終了していれば、コンピュータに不具合が生じている可能性が小さいので、デバイスの検査や準備を省略しても不都合は生じないと想定できる。一方、コンピュータの前回の動作が正常に終了していない場合には、コンピュータに不具合が生じている可能性があるので、デバイスの十分な検査や準備を行うことが望ましい。
【０１００】
また、上で述べた第１の初期化処理において、保守プログラムへの切り替え指示を受け付け、第２の初期化処理において、保守プログラムへの切り替え指示の受け付けを省略するようにしてもよい。
【０１０１】
このようにすれば、第１の初期化処理で保守プログラムへの切り替え手順を確保しつつ、第２の初期化処理で保守プログラムへの切り替え指示を待つ時間を省いて起動を高速化できる。特に、デバイスが故障している場合には、コンピュータの動作が中断することが多い。また、停電や落雷などにより予期せずコンピュータの動作が中断した場合にも、電圧変動等の影響によりデバイスが故障することがある。コンピュータの前回の動作が中断した場合に、デバイスの故障に備えて、診断や修復を行う保守プログラムへの移行手順を提供することは有効である。
【０１０２】
また、上で述べた第２の初期化処理において、第１の初期化処理で初期化される一又は複数のデバイスのうち、一部のデバイスの初期化を省略するようにしてもよい。
【０１０３】
このようにすれば、一部のデバイスの初期化処理を省いて起動を高速化できる。特に、前回の動作が正常に終了している場合の第２の初期化処理では、正常なコンピュータにおいて重要性の低い検査や準備を省略することができる。
【０１０４】
また、上で述べた第２の初期化処理において、全部又は一部のデバイスのうち少なくとも一のデバイスの初期化を、第１の初期化処理における当該少なくとも一のデバイスの初期化に要する時間より短時間で完了させるようにしてもよい。
【０１０５】
このようにすれば、少なくとも一のデバイスの初期化処理を簡略化して、起動を高速化できる。特に、前回の動作が正常に終了している場合の第２の初期化処理で、正常なコンピュータにおいて重要性の低い検査や準備を簡略化することができる。
【０１０６】
第２の態様に係る起動方法は、コンピュータの起動モードが、コンピュータに含まれる第１のデバイスに記憶されている第１のオペレーティングシステムを起動する第１のモードであるか、又はコンピュータに含まれる第２のデバイスに記憶されている第２のオペレーティングシステムを起動する第２のモードであるかを判定する判定処理と、起動モードが第１のモードである場合に、第１のデバイスを初期化する第１の初期化処理と、起動モードが第２のモードである場合に、第２のデバイスを初期化し、第１のデバイスの初期化を省略する第２の初期化処理を含む。
【０１０７】
このようにすれば、第２のモードにより第２のデバイスからオペレーティングシステムを起動する場合に、第１のデバイスの初期化を省略し、起動を高速化することができる。つまり、起動モードによりブートデバイスを特定し、ブートデバイス以外のデバイスの初期化を省略することによって、コンピュータの立ち上がりを早めることができる。
【０１０８】
第３の態様に係る起動方法は、コンピュータの起動モードが、コンピュータに含まれる第１のデバイスに記憶されている第１のオペレーティングシステムを起動する第１のモードであるか、又はコンピュータに含まれる第２のデバイスに記憶されている第２のオペレーティングシステムを起動する第２のモードであるかを判定する判定処理と、起動モードが第１のモードである場合に、第１のデバイスを初期化する第１の初期化処理と、起動モードが第２のモードである場合に、第２のデバイスを初期化し、第１の初期化処理における第１のデバイスの初期化に要する時間より短時間で完了させるように第１のデバイスを初期化する第２の初期化処理を含む。
【０１０９】
このようにすれば、第２のモードにより第２のデバイスからオペレーティングシステムを起動する場合に、第１のデバイスの初期化を簡略化し、起動を高速化することができる。つまり、起動モードによりブートデバイスを特定し、ブートデバイス以外のデバイスの初期化を簡略化することによって、コンピュータの立ち上がりを早めることができる。
【０１１０】
更に、起動モードが第１のモードである場合に、第２のオペレーティングシステムをロードするために第２のデバイスに記憶されている第２のローダプログラムの検索を省略し、第１のオペレーティングシステムをロードするために第１のデバイスに記憶されている第１のローダプログラムをロードし、起動モードが第２のモードである場合に、第１のローダプログラムの検索を省略し、第２のローダプログラムをロードするロード処理を含むようにしてもよい。
【０１１１】
このようにすれば、ブートデバイス以外のデバイスに対する検索動作を省き、起動を更に高速化することができる。
【０１１２】
なお、上記方法による処理をコンピュータに行わせるためのプログラムは、例えばフラッシュＲＯＭ１０９等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。起動モードは、フラッシュＲＯＭ１０９等の不揮発性の記憶領域に記憶される。尚、中間的な処理結果はＲＡＭ１１１等の記憶装置に一時保管されるようにしてもよい。
【０１１３】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１１４】
（付記１）
コンピュータの電源が投入されると、前記コンピュータの前回の動作状況に応じて前記コンピュータの起動モードが第１のモードであるか又は第２のモードであるかを判定する判定処理と、
前記起動モードが前記第１のモードである場合に、前記コンピュータに含まれる一又は複数のデバイスを初期化する第１の初期化処理と、
前記起動モードが前記第２のモードである場合に、前記第１の初期化処理に要する時間より短時間で完了するように、前記一又は複数のデバイスのうち全部又は一部のデバイスを初期化する第２の初期化処理、
を含み前記コンピュータが実行する起動方法。
【０１１５】
（付記２）
前記判定処理において、前記コンピュータにおける前回の動作が正常に終了している場合に、前記起動モードが前記第２のモードであると判定し、前記コンピュータにおける前回の動作が正常に終了していない場合に、前記起動モードが前記第１のモードであると判定する
付記１記載の起動方法。
【０１１６】
（付記３）
前記第１の初期化処理において、保守プログラムへの切り替え指示を受け付け、
前記第２の初期化処理において、保守プログラムへの切り替え指示の受け付けを省略する
付記１又は２記載の起動方法。
【０１１７】
（付記４）
前記第２の初期化処理において、前記第１の初期化処理で初期化される前記一又は複数のデバイスのうち、一部のデバイスの初期化を省略する
付記１乃至３のいずれか１つ記載の起動方法。
【０１１８】
（付記５）
前記第２の初期化処理において、前記全部又は一部のデバイスのうち少なくとも一のデバイスの初期化を、前記第１の初期化処理における当該少なくとも一のデバイスの初期化に要する時間より短時間で完了させる
付記１乃至４のいずれか１つ記載の起動方法。
【０１１９】
（付記６）
コンピュータの起動モードが、前記コンピュータに含まれる第１のデバイスに記憶されている第１のオペレーティングシステムを起動する第１のモードであるか、又は前記コンピュータに含まれる第２のデバイスに記憶されている第２のオペレーティングシステムを起動する第２のモードであるかを判定する判定処理と、
前記起動モードが前記第１のモードである場合に、前記第１のデバイスを初期化する第１の初期化処理と、
前記起動モードが前記第２のモードである場合に、前記第２のデバイスを初期化し、前記第１のデバイスの初期化を省略する第２の初期化処理、
を含み前記コンピュータが実行する起動方法。
【０１２０】
（付記７）
コンピュータの起動モードが、前記コンピュータに含まれる第１のデバイスに記憶されている第１のオペレーティングシステムを起動する第１のモードであるか、又は前記コンピュータに含まれる第２のデバイスに記憶されている第２のオペレーティングシステムを起動する第２のモードであるかを判定する判定処理と、
前記起動モードが前記第１のモードである場合に、前記第１のデバイスを初期化する第１の初期化処理と、
前記起動モードが前記第２のモードである場合に、前記第２のデバイスを初期化し、前記第１の初期化処理における前記第１のデバイスの初期化に要する時間より短時間で完了させるように前記第１のデバイスを初期化する第２の初期化処理、
を含み前記コンピュータが実行する起動方法。
【０１２１】
（付記８）
更に、
前記起動モードが前記第１のモードである場合に、前記第２のオペレーティングシステムをロードするために前記第２のデバイスに記憶されている第２のローダプログラムの検索を省略し、前記第１のオペレーティングシステムをロードするために前記第１のデバイスに記憶されている第１のローダプログラムをロードし、前記起動モードが前記第２のモードである場合に、前記第１のローダプログラムの検索を省略し、前記第２のローダプログラムをロードするロード処理
を含む、付記６又は７記載の起動方法。
【０１２２】
（付記９）
コンピュータの電源が投入されると、前記コンピュータの前回の動作状況に応じて前記コンピュータの起動モードが第１のモードであるか又は第２のモードであるかを判定する判定処理と、
前記起動モードが前記第１のモードである場合に、前記コンピュータに含まれる一又は複数のデバイスを初期化する第１の初期化処理と、
前記起動モードが前記第２のモードである場合に、前記第１の初期化処理に要する時間より短時間で完了するように、前記一又は複数のデバイスのうち全部又は一部のデバイスを初期化する第２の初期化処理、
を前記コンピュータに実行させるためのプログラム。
【０１２３】
（付記１０）
コンピュータの起動モードが、前記コンピュータに含まれる第１のデバイスに記憶されている第１のオペレーティングシステムを起動する第１のモードであるか、又は前記コンピュータに含まれる第２のデバイスに記憶されている第２のオペレーティングシステムを起動する第２のモードであるかを判定する判定処理と、
前記起動モードが前記第１のモードである場合に、前記第１のデバイスを初期化する第１の初期化処理と、
前記起動モードが前記第２のモードである場合に、前記第２のデバイスを初期化し、前記第１のデバイスの初期化を省略する第２の初期化処理、
を前記コンピュータに実行させるためのプログラム。
【０１２４】
（付記１１）
コンピュータの起動モードが、前記コンピュータに含まれる第１のデバイスに記憶されている第１のオペレーティングシステムを起動する第１のモードであるか、又は前記コンピュータに含まれる第２のデバイスに記憶されている第２のオペレーティングシステムを起動する第２のモードであるかを判定する判定処理と、
前記起動モードが前記第１のモードである場合に、前記第１のデバイスを初期化する第１の初期化処理と、
前記起動モードが前記第２のモードである場合に、前記第２のデバイスを初期化し、前記第１の初期化処理における前記第１のデバイスの初期化に要する時間より短時間で完了させるように前記第１のデバイスを初期化する第２の初期化処理、
を前記コンピュータに実行させるためのプログラム。
【０１２５】
（付記１２）
コンピュータの電源が投入されると、前記コンピュータの前回の動作状況に応じて前記コンピュータの起動モードが第１のモードであるか又は第２のモードであるかを判定する判定部と、
前記起動モードが前記第１のモードである場合に、前記コンピュータに含まれる一又は複数のデバイスを初期化する第１の初期化処理を行い、前記起動モードが前記第２のモードである場合に、前記第１の初期化処理に要する時間より短時間で完了するように、前記一又は複数のデバイスのうち全部又は一部のデバイスを初期化する第２の初期化処理を行う初期化部と、
を有する前記コンピュータ。
【０１２６】
（付記１３）
コンピュータの起動モードが、前記コンピュータに含まれる第１のデバイスに記憶されている第１のオペレーティングシステムを起動する第１のモードであるか、又は前記コンピュータに含まれる第２のデバイスに記憶されている第２のオペレーティングシステムを起動する第２のモードであるかを判定する判定部と、
前記起動モードが前記第１のモードである場合に、前記第１のデバイスを初期化する第１の初期化処理を行い、前記起動モードが前記第２のモードである場合に、前記第２のデバイスを初期化し、前記第１のデバイスの初期化を省略する第２の初期化処理を行う初期化部と、
を有する前記コンピュータ。
【０１２７】
（付記１４）
コンピュータの起動モードが、前記コンピュータに含まれる第１のデバイスに記憶されている第１のオペレーティングシステムを起動する第１のモードであるか、又は前記コンピュータに含まれる第２のデバイスに記憶されている第２のオペレーティングシステムを起動する第２のモードであるかを判定する判定部と、
前記起動モードが前記第１のモードである場合に、前記第１のデバイスを初期化する第１の初期化処理を行い、前記起動モードが前記第２のモードである場合に、前記第２のデバイスを初期化し、前記第１の初期化処理における前記第１のデバイスの初期化に要する時間より短時間で完了させるように前記第１のデバイスを初期化する第２の初期化処理を行う初期化部と、
を有する前記コンピュータ。
【符号の説明】
【０１２８】
１０１  バス    １０３  ＣＰＵ    １０５  表示制御部
１０７  表示装置    １０９  フラッシュＲＯＭ    １１１  ＲＡＭ
１１３  マウス    １１５  キーボード    １１７  ＨＤＤ
１１９  ＣＤ／ＤＶＤドライブ      １２１  リムーバブルディスク
１２３  通信制御部    １２５  ＵＳＢポート    １２７  ＵＳＢメモリ
２０１  ＢＩＯＳ    ２０３  起動モード記憶部    ２０５  設定部
２０７  判定部    ２０９  初期化部    ２１１  切り替え部
２１３  保守部    ２１５  優先順格納部    ２１７  決定部
２１９  ロード部    ９０１  オペレーティングシステム
９０３  起動モード変更プログラム    ９０５  起動モード書き込みドライバ
１１０１  モード設定プログラム    １１０３  設定モードファイル
【図１】
2013235345.tif 000003
【図２】
2013235345.tif 000004
【図３】
2013235345.tif 000005
【図４】
2013235345.tif 000006
【図５】
2013235345.tif 000007
【図６】
2013235345.tif 000008
【図７】
2013235345.tif 000009
【図８】
2013235345.tif 000010
【図９】
2013235345.tif 000011
【図１０】
2013235345.tif 000012
【図１１】
2013235345.tif 000013
【図１２】
2013235345.tif 000014
【図１３】
2013235345.tif 000015
【図１４】
2013235345.tif 000016
【図１５Ａ】
2013235345.tif 000017
【図１５Ｂ】
2013235345.tif 000018
【図１６】
2013235345.tif 000019
【図１７】
2013235345.tif 000020
【図１８】
2013235345.tif 000021
【図１９】
2013235345.tif 000022
【図２０】
2013235345.tif 000023
【図２１】
2013235345.tif 000024
【図２２】
2013235345.tif 000025
【図２３】
2013235345.tif 000026
【図２４】
2013235345.tif 000027
【図２５】
2013235345.tif 000028