"複数の電源を有している情報処理装置における電源制御方法であって、前記情報処理装置は、前記情報処理装置の電源を停止した後、再起動させる停止投入制御装置と、前記停止投入制御装置を制御する再起動制御部と、を有しており、前記再起動制御部は、所定時間が経過してもハードウェアの検出および初期化が完了しない場合、前記停止投入制御装置に、前記電源を停止させた後、前記停止した電源を再起動させることを特徴とする電源制御方法。前記再起動制御部は、前記検出および初期化できなかったハードウェアを検知すると、前記電源を停止した後、前記停止した電源を再起動することを特徴とする請求項1に記載の電源制御方法。前記再起動制御部は、記憶部に、各ハードウェアの検出初期化手順の進捗状況に関する情報である検出情報を格納し、再起動時において、前記再起動制御部は、前記記憶部に検出情報が保存されている場合、前記検出情報に記述されているハードウェアに関しては、簡略化した検出および初期化を行うことを特徴とする請求項1または請求項2に記載の電源制御方法。各ハードウェアの電源の停止投入を行う停止投入制御装置が、ハードウェア毎に接続されており、前記検出および初期化できなかったハードウェアを検知すると、前記ハードウェアに接続されている停止投入制御装置が、ハードウェアの電源を停止した後、当該停止したハードウェアの電源を再起動することを特徴とする請求項1から請求項3のいずれか一項に記載の電源制御方法。複数の電源を有している情報処理装置であって、前記情報処理装置の電源を停止した後、再起動させる停止投入制御装置と、所定時間が経過してもハードウェアの検出および初期化が完了しない場合、前記停止投入制御装置に、前記電源を停止させた後、前記停止した電源を再起動させる再起動制御部と、を有することを特徴とする情報処理装置。近年の情報処理装置の高性能化および低電力化により起動の際に制御する電源が細分化し、電源の投入タイミングが細かく決まっている。これらの電源投入タイミング制御は厳しく、外部からのノイズや前回電源停止時の状況などでハードウェアに電源を投入するタイミングに変化が生じてしまう場合がある。誤ったタイミングでハードウェアに電源が投入されてしまうとハードウェアが正しく動作しないため、ファームウェア動作時のチェックの際にエラーが生じ、そのためにファームウェアが正しくデバイスを検出できなかったり、処理が停止してしまうなどの現象が発生し、基本ソフトを起動できない場合がある。特許文献1などに記載の方法ではファームウェアの処理が停止してしまった場合、情報処理装置を再起動することで、ファームウェアの再起動をしていた。しかし、ファームウェアの再起動だけでは電源の投入状態が維持されてしまうため、電源投入のタイミングが修正されずに再起動をしてしまう。従って、電源の投入タイミング違反が原因で装置が停止していた場合は、その停止要因が解消されていないことによって、再び同じ処理でファームウェアが停止してしまう。なお、電源の投入タイミングが誤っている場合における処理については、後記して詳細に説明する。このような背景に鑑みて本発明がなされたのであり、本発明は、電源投入のタイミング違反による初期動作の停止や、接続されたハードウェア検出初期化の失敗を自動で修正することができ、再起動制御部ファームウェアが基本ソフトを起動する際の確実性を向上させることを目的とする。前記課題を解決するため、本発明は、複数の電源を有している情報処理装置における電源制御方法であって、前記情報処理装置は、前記情報処理装置の電源を停止した後、再起動させる停止投入制御装置と、前記停止投入制御装置を制御する再起動制御部と、を有しており、前記再起動制御部は、所定時間が経過してもハードウェアの検出および初期化が完了しない場合、前記停止投入制御装置に、前記電源を停止させた後、前記停止した電源を再起動させることを特徴とする。本発明によれば、電源投入のタイミング違反による初期動作の停止や、接続されたハードウェア検出初期化の失敗を電源を停止再起動することによって自動で修正することができ、再起動制御部が基本ソフトを起動する際の確実性を向上させることができる。次に、本発明を実施するための形態実施形態というについて、適宜図面を参照しながら詳細に説明する。本実施形態では、ファームウェア動作時に意図せずに電源の投入タイミングが変化してもファームウェアの停止や、接続されたハードウェアの認識失敗などがなく、必ず基本ソフトを起動する情報処理装置の例を説明する。《第1実施形態》まず、図1~図4を参照して、本発明に係る第1実施形態を説明する。情報処理装置の構成図1は、第1実施形態に係る情報処理装置の構成例を示すブロック図である。情報処理装置100100aは、一般的なPCPersonalComputerなどで実現される装置であり、停止投入コントローラ停止投入制御装置1、ウォッチドックタイマ2、ディスクドライブ6、マイクロプロセッサ4、ビデオカード5、メインメモリ8、ファームウェア再起動制御部を含む7がバス12によって互いに接続されている。なお、ウォッチドックタイマ2、ファームウェア7は、チップに格納されたプログラムが実行されることによって具現化するものである。停止投入コントローラ1はスタンバイ電源10や、主電源11のONOFFを制御するものであり、これ自体がマイクロプロセッサや、メモリなどを備えているハードウェアとしての構成を有している。これは、停止投入コントローラ1をソフトウェアとすると、スタンバイ電源10や、主電源11が停止した際に停止投入コントローラ1も停止してしまうためである。ウォッチドックタイマ2は、ファームウェア7が起動してから所定時間が経過したか否かなどを監視するものである。また、ファームウェア7とは、例えば、BIOSなど主電源11のONからOSなどの基本ソフトが起動するまでの間に、マイクロプロセッサ4や、ビデオカード5や、ディスクドライブ6などの各種ハードウェアの検出初期化を行うものである。情報処理装置100aには、バッテリ9、スタンバイ電源10および主電源11といった各種電源が供給されており、これらの電源は情報処理装置100a内部の各ハードウェアに供給されている。なお、スタンバイ電源10とはPCの背面などに設置されている電源装置のスイッチ電源スイッチをONOFFすることで供給のONOFFが切り替えられる電源である。主電源11とはPCの前面などに設置されているメインスイッチをONOFFすることで供給のONOFFが切り替えられる電源である。また、停止投入コントローラ1は、バッテリ9には接続しておらず、従って、停止投入コントローラ1によってスタンバイ電源10や、主電源11による電源供給が停止しても、バッテリ9による電源は継続して供給される。なお、各装置2~8には、バッテリ9、スタンバイ電源10、主電源11が接続されている。電源投入タイミング例次に、図2および図3を参照して、電源投入タイミングの例を説明する。図2は、正常に起動した場合正常時における電源投入のタイミングチャートである。なお、図2および図3において、横軸は時間を示し、縦軸は電圧を示している。時間のオーダはμsec程度である。各種電源の投入順序は決まっており、図2のように、バッテリ9、スタンバイ電源10、主電源電源1、主電源電源2、主電源電源3のように、予め決まっている順序通りに各種電源が投入されていくことによって、情報処理装置100aは正常に起動することができる。なお、主電源電源1、主電源電源2、主電源電源3とは、ビデオカード5や、ディスクドライブ6などの各ハードウェアへ供給される電源のことである。例えば、主電源電源1はメインメモリ8に対応しており、主電源電源2はビデオカード5に対応しており、主電源電源3はディスクドライブ6に対応している。バッテリ9がユーザによって情報処理装置100aに接続投入され、スタンバイ電源10、主電源11がユーザによって投入されると、ファームウェア7は主電源電源1、主電源電源2、主電源電源3を順に投入していく。図3は、電源投入タイミングがずれた異常時例を示すタイミングチャートである。図3では、本来主電源電源2→主電源電源3の順序で投入される順序が、主電源電源3→主電源電源2の順序で投入されてしまっている。このため、ファームウェア7はハードウェアの検出初期化に失敗してしまう。このように誤った順序で電源が投入されると、主電源電源3が投入された時刻Tの前後で初期動作は停止してしまう。初期動作の停止を検知したファームウェア7は、再起動をかけるが、一般的に、この再起動は各種電源が投入された状態で行われる。従って、電源の投入状態が変わることはなく、ファームウェア7は主電源電源3が投入された時刻Tの段階から再起動を行う。すると、ファームウェア7は主電源電源3が投入された状態から電源の投入を行おうとするので、結局、初期動作が停止してしまい、この繰り返しが行われることとなる。このように誤った順序で電源が投入されると、ハードウェアの検出初期化設定が正常に完了せずにハードウェアの認識が失敗したりファームウェア7が停止してしまったりして、正常に基本ソフトを起動することができないことがある。誤った順序で電源が投入されてしまう原因として、前記したように外部からのノイズや、前回の電源停止時の状況などが考えられる。フローチャート次に、図3のような問題を解決するために考案された第1実施形態による電源管理処理を、図3を参照しつつ図4に沿って説明する。図4は、第1実施形態に係る電源管理処理の手順を示すフローチャートである。まず、ユーザは、バッテリ9を投入しS101、スタンバイ電源10を投入しS102、主電源11を投入するS103。なお、バッテリ9の投入とは、ユーザによってバッテリ9が情報処理装置100aに接続されることである。すると、ファームウェア7が起動する。起動したファームウェア7は、ウォッチドックタイマ2に対し、監視タイマの開始を指示するS104。そして、この間、各ハードウェアは順次電源が投入されていき、ファームウェア7は、電源投入されたハードウェアを電源の投入順に1つづつ検出し、検出したハードウェアを初期化するS105。次に、ファームウェア7は、ハードウェアが正常に検出され、初期化されたか否かを判定するS106。ステップS106の結果、ハードウェアが正常に検出されなかったか、初期化に失敗したかのいずれかである場合S106→No、ファームウェア7は停止投入コントローラ1へ主電源11の停止を指示しS107、停止投入コントローラ1は後記して説明するステップS154の処理を行う。ステップS106の結果、ハードウェアが正常に検出され、初期化に成功した場合S106→Yes、ファームウェア7は、監視タイマのリセットをウォッチドックタイマ2へ指示しS108、指示されたウォッチドックタイマ2は監視タイマをリセットするS150。監視タイマのリセットを指示した後、ファームウェア7は、すべてのハードウェアに関して検出初期化を完了したか否かを判定するS109。検出初期化が完了していないハードウェアが存在する場合S109→No、ファームウェア7はステップS105へ処理を戻し、別のハードウェアについて処理を行う。すべてのハードウェアに関して検出初期化を完了している場合S109→Yes、ファームウェア7は基本ソフトを起動しS110、初期動作を終了する。一方、ステップS104でファームウェア7から監視タイマ開始指示を受けたウォッチドックタイマ2は、監視タイマを開始するS151。ウォッチドックタイマ2は監視タイマがタイムアウトしているか否かを判定するS152。ステップS152の結果、監視タイマがタイムアウトしていない場合S152→No、ウォッチドックタイマ2は監視タイマをカウントアップしてS153、ステップS152へ処理を戻す。ステップS152の結果、監視タイマがタイムアウトしている場合S152→Yes、ウォッチドックタイマ2は停止投入コントローラ1へ電源停止の指示を送り、停止投入コントローラ1は、情報処理装置100aの主電源11を停止したS154後、スタンバイ電源10を停止するS155。そして、停止投入コントローラ1はステップS102へ処理を戻し、スタンバイ電源10および主電源11を投入するS102、S103。なお、ここでのスタンバイ電源10および主電源11の投入は停止投入コントローラ1が自動的に行うものである。第1実施形態のまとめ第1実施形態によれば、これまで復旧できなかった電源投入のタイミング違反による初期動作の停止や、接続されたハードウェア検出初期化の失敗を自動で修正することができ、ファームウェア7が基本ソフトを起動する際の確実性を向上させることができる。また、ハードウェアとしての構成を有する停止投入コントローラ1が主電源10、スタンバイ電源11を停止再起動することにより、バッテリ9を除く電源を完全に停止させ、情報処理装置100a全体を停止再起動することができる。《第2実施形態》次に、図5および図6を参照して、本発明に係る第2実施形態を説明する。なお、第2実施形態において、第1実施形態と同様の構成については、同一の符号を付して説明を省略する。第2実施形態に係る発明はファームウェアの再起動時に、再起動前に正常に検出初期化が完了したハードウェアについては検出初期化を簡略化して、再起動を高速化するものである。情報処理装置の構成図5は、第2実施形態に係る情報処理装置の構成例を示すブロック図である。図5に示す情報処理装置100100bでは、図1に示す情報処理装置100aの構成に加えて、不揮発性メモリ3がバスを介して接続されている。フローチャート次に、図5を参照しつつ、図6に沿って第2実施形態に係る電源管理処理を説明する。図6は、第2実施形態に係る電源管理処理の手順を示すフローチャートである。図6のステップS201~S204までは、図4のステップS101~S104と同様の処理であるため説明を省略する。ステップS204の後、ファームウェア7は不揮発性メモリ3に、前回の起動時に各ハードウェアの検出初期化手順の進捗状況に関する情報である検出情報があるか否かを判定するS205。なお、ハードウェアの検出初期化手順の進捗状況とは、例えば、ハードウェアの検出初期化をどこまで行ったかの情報である。ステップS205の結果、不揮発性メモリ3に検出情報がある場合S205→Yes、ファームウェア7は、前回ファームウェア7が停止する前に正常に検出初期化が行われたハードウェア、つまり検出情報に記述されているハードウェアについては簡略化された検出初期化である簡易検出初期化を行いS206、ステップS208へ処理を進める。このような簡易検出初期化を行うことで、再起動にかかる時間を短縮し、再起動を高速化することができる。ステップS205の結果、不揮発性メモリ3に検出情報がない場合S205→No、ファームウェア7は、図4のステップS105と同様のハードウェア検出初期化を行いS207、ハードウェアが正常に検出され、初期化されたか否かを判定するS208。ステップS208の結果、ハードウェアが正常に検出されなかったか、初期化に失敗したかのいずれかである場合S208→No、ファームウェア7は不揮発性メモリ3に各ハードウェアの検出初期化手順の進捗状況に関する情報である検出情報を保存しS209、停止投入コントローラ1へ主電源11の停止を指示しS210、停止投入コントローラ1はステップS254の処理を行う。ステップS208の結果、ハードウェアが正常に検出され、初期化に成功した場合S208→Yes、ファームウェア7は図4のステップS108,S109と同様の処理であるステップS211,S212の処理を行う。ステップS212の結果、すべてのハードウェアに関して検出初期化を完了している場合S212→Yes、ファームウェア7は不揮発性メモリ3の検出情報をクリアしS213、基本ソフトを起動しS214、初期動作を終了する。なお、ウォッチドックタイマ2および停止投入コントローラ1の処理であるステップS250~S255の処理は図4のステップS150~S155の処理と同様であるため、説明を省略する。第2実施形態のまとめ第2実施形態によれば、前回の起動時において各ハードウェアの検出初期化手順の進捗状況に関する情報である検出情報を不揮発性メモリ3に保存しておき、再起動時において、これらのハードウェアについては簡易化された検出初期化を行うことで、再起動を高速化することができる。《第3実施形態》次に、図7および図8を参照して、本発明に係る第3実施形態を説明する。なお、第3実施形態において、第1実施形態および第2実施形態と同様の構成については、同一の符号を付して説明を省略する。第3実施形態に係る発明は、ハードウェアの検出初期化設定が正常に終了しなかった場合に、ハードウェア毎に取り付けられた停止投入コントローラ停止投入制御装置1aによってハードウェア毎の再起動を行うものである。なお、停止投入コントローラ1aもハードウェアとしての構成を有している。情報処理装置の構成図7は、第3実施形態に係る情報処理装置の構成例を示すブロック図である。図7に示す情報処理装置100100cでは、図5に示す情報処理装置100bの構成に加えて、ビデオカード5や、ディスクドライブ6や、メインメモリ8などのハードウェア毎に停止投入コントローラ1aが備えられている。フローチャート次に、図7を参照しつつ、図8に沿って第3実施形態に係る電源管理処理を説明する。図8は、第3実施形態に係る電源管理処理の手順を示すフローチャートである。図8のステップS301~S308までは、図4のステップS201~S208と同様の処理であるため説明を省略する。ステップS308の結果、ハードウェアが正常に検出され、初期化に成功した場合S308→Yes、ファームウェア7は図6のステップS211~S214と同様の処理であるステップS309~S312の処理を行って、初期動作を終了する。ステップS308の結果、ハードウェアが正常に検出されなかったか、初期化に失敗したかのいずれかである場合S308→No、ファームウェア7は不揮発性メモリ3に検出情報を保存するS313。そして、ファームウェア7は、検出初期化されなかった各ハードウェア、つまり検出情報に記述されていないハードウェアに備えられている停止投入コントローラ1aに対し、再起動の指示を送る。指示を受けた各ハードウェアに備えられている停止投入コントローラ1aがハードウェアの主電源11およびスタンバイ電源10を停止したS314後、各ハードウェアの主電源11およびスタンバイ電源10を投入するS315ことで、ハードウェア毎の再起動が行われる。そして、ファームウェア7はステップS307へ処理を戻し、再度、各ハードウェアの検出初期化を行う。なお、ステップS314,S315において、すべてのハードウェアの電源を停止再起動するようにしてもよい。なお、ウォッチドックタイマ2および停止投入コントローラ1の処理であるステップS350~S355の処理は図6のステップS250~S255の処理と同様であるため、説明を省略する。第3実施形態のまとめ第3実施形態によれば、各ハードウェアに接続された停止投入コントローラ1aによってハードウェア毎に再起動を行った後、ファームウェア7が再びハードウェアの検出初期化を行うことで、情報処理装置100c全体が再起動することを防ぎ、起動を高速化することができる。なお、第3実施形態に係る情報処理装置100cは、第2実施形態に係る情報処理装置100bの各ハードウェアに対して停止投入コントローラ1aを加えた構成となっているが、第1実施形態に係る情報処理装置100aの各ハードウェアに対して停止投入コントローラ1aを加えた構成としてもよい。この場合、図8の処理において、検出情報に係る処理であるステップS305、S306,S311,S313の処理が省略されることになる。また、本実施形態では、前記したように、情報処理装置100をしてPCを想定しているが、これに限らず、制御回路を搭載している家電製品などに適用してもよい。"