JP2017134692A - デバイス起動の優先順位制御装置及び優先順位制御方法 - Google Patents

デバイス起動の優先順位制御装置及び優先順位制御方法 Download PDF

Info

Publication number
JP2017134692A
JP2017134692A JP2016014907A JP2016014907A JP2017134692A JP 2017134692 A JP2017134692 A JP 2017134692A JP 2016014907 A JP2016014907 A JP 2016014907A JP 2016014907 A JP2016014907 A JP 2016014907A JP 2017134692 A JP2017134692 A JP 2017134692A
Authority
JP
Japan
Prior art keywords
priority
bios
priority order
activation
boot
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.)
Pending
Application number
JP2016014907A
Other languages
English (en)
Inventor
千勝 吉原
Chikatsu Yoshihara
千勝 吉原
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 JP2016014907A priority Critical patent/JP2017134692A/ja
Publication of JP2017134692A publication Critical patent/JP2017134692A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】保守における作業者の処理を軽減させることを目的とする。【解決手段】デバイスの起動の優先順位を制御する優先順位制御プログラムと、第1の優先順位テーブルとを記録する不揮発性記録装置と、第2の優先順位テーブルを記録する揮発性記録装置と、電源投入時の自装置に接続されたデバイスに対応する認証が正常である場合、前記優先順位制御プログラムを実行するCPUと、を有し、前記CPUが実行する前記優先順位制御プログラムは、前記不揮発性記録装置に格納された第1の優先順位テーブルから前記揮発性記録装置に格納された第2の優先順位テーブルに切り替え、前記第2の優先順位テーブルに基づき特定されるデバイスを起動させる、デバイス起動の優先順位制御装置が提供される。【選択図】図4

Description

本発明は、デバイス起動の優先順位制御装置及び優先順位制御方法に関する。
情報処理装置に電源が投入されると、BIOS(Basic Input/Output System)と呼ばれるファームウェアが、POST(Power On Self Test:自己診断)時に起動可能なデバイス(以下、「起動デバイス」ともいう。)が接続されているかを確認する。例えば、USB(Universal Serial Bus)メモリやHDD(Hard Disk Drive)等の起動デバイスが接続されている場合、BIOSはその起動デバイスを起動させるために必要な情報が記録された起動エントリデータを作成する。
起動エントリデータの作成が完了した後、BIOSは優先順位テーブルを作成する。この優先順位テーブルには、BIOSが起動デバイスを読み込む順番(起動の優先順位)が書き込まれている。BIOSは、その起動の優先順位に従い起動デバイスの起動を試行する。起動の優先順位は、BIOSの設定や、情報処理装置の仕様によって異なり、作業者(フィールドエンジニア)によって変更することができる。
優先順位テーブルには、例えばOS(Operating System)がインストールされているHDDが起動の優先順位の先頭に設定されており、電源が投入されるとHDDにインストールしたOSが起動する。よって、一時的にHDD以外の起動デバイスから起動させたい場合であっても、外部に起動デバイスを接続しただけでは、接続したデバイスの優先順位が先頭でないため、そのデバイスを起動することができない。
外部に接続された起動デバイスを最初に起動させるためには、作業者はBIOSの設定画面に表示された優先順位テーブルの順序を手動で変更したり、POST時に起動メニューを表示させ、目的のデバイスを選択する等の手動の操作を行う必要がある。
そこで、BIOSが特定のデバイスを検出した場合、自動的に起動の優先順位を変更し、起動時に作業者が操作することなく特定のデバイスを起動させるための方法が知られている(例えば、特許文献1及び特許文献2参照)。
特開2009−37467号公報 特開2010−49412号公報 特開2012−221041号公報
しかしながら、作業者の操作により特定のデバイスを起動させた場合、終了後、作業者はその設定を元に戻す作業を要する場合があり、作業者の手間となる。
そこで、一側面では、本発明は、保守における作業者の処理を軽減させることを目的とする。
一つの案では、デバイスの起動の優先順位を制御する優先順位制御プログラムと、第1の優先順位テーブルとを記録する不揮発性記録装置と、第2の優先順位テーブルを記録する揮発性記録装置と、電源投入時の自装置に接続されたデバイスに対応する認証が正常である場合、前記優先順位制御プログラムを実行するCPUと、を有し、前記CPUが実行する前記優先順位制御プログラムは、前記不揮発性記録装置に格納された第1の優先順位テーブルから前記揮発性記録装置に格納された第2の優先順位テーブルに切り替え、前記第2の優先順位テーブルに基づき特定されるデバイスを起動させる、デバイス起動の優先順位制御装置が提供される。
一側面によれば、保守における作業者の処理を軽減させることができる。
BIOS処理フローの一例を示す図。 一実施形態にかかるデバイス起動の優先順位制御装置の構成の一例を示す図。 一実施形態にかかるBIOS処理フローの一例を示す図。 一実施形態にかかる起動の優先順位制御にかかる動作の一例を示す図。 一実施形態にかかる起動の優先順位制御にかかる動作の一例を示す図。 一実施形態にかかる起動デバイスのパーティション構成の一例を示す図。 一実施形態にかかるデバイス認証データ構成の一例を示す図。 一実施形態にかかる特定パーティションのデバイス認証データの一例を示す図。 一実施形態にかかる優先順位制御プログラムによる動作フローの一例を示す図。 一実施形態にかかる優先順位制御プログラムによる動作フロー(続)の一例を示す図。 一実施形態にかかるプログラム優先順位テーブルの一例を示す図。 一実施形態にかかる起動の優先順位制御による結果の一例を示す図。
以下、本発明の実施形態について添付の図面を参照しながら説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複した説明を省く。
図1は、メンテナンス作業におけるBIOS処理フローの一例を示す。USBメモリが挿入され(ステップS1)、情報処理装置の電源がオンされると(ステップS2)、BIOSと呼ばれるファームウェアが、POST時に、例えばUSBメモリやHDD等の起動可能なデバイス(起動デバイス)が接続されているかを確認する。起動デバイスが接続されている場合、BIOSはそのデバイスを起動させるために必要な情報が記録された起動エントリデータを作成する。もし接続されていない場合、起動エントリデータは作成されない。
この起動エントリデータには、BIOSセットアップの表示名やデバイスの位置情報やパーティション番号などが記録されている。起動エントリデータの作成が完了した後、BIOSは優先順位テーブル(以下、「BIOS優先順位テーブル」ともいう。)を作成する。BIOS優先順位テーブルは、SPI ROM(Serial Peripheral Interface Read Only Memory)に保存される。
この優先順位テーブルにはBIOSが起動デバイスを読み込む順番(起動の優先順位)が書き込まれ、その起動の優先順位に沿ってBIOSは起動デバイスの起動を試行する。起動デバイスの起動の優先順位はBIOSの設定や、装置の仕様によって異なり、作業者によって変更することができる。その際、BIOSセットアップが表示され(ステップS3)、作業者は、SPI ROMに保存されたBIOS優先順位テーブルを変更する。これにより電源投入時に情報処理装置に接続された起動デバイスの起動順序が変更される(ステップS4)。
次に、BIOS優先順位テーブルに従った起動順序で起動デバイスが起動される(ステップS5)。次に、BIOSセットアップが表示され(ステップS6)、BIOS優先順位テーブルが復元される(ステップS7)。例えば、BIOS優先順位テーブルのエントリ番号が「#1」のデバイスがHDDからUSBメモリに変更された場合、エントリ番号が「#1」のデバイスがUSBメモリからHDDに復元される。
次に、情報処理装置の電源がオフされ(ステップS8)、システムメモリ(RAM:Random Access Memory)がクリアされる(ステップS9)。次に、USBメモリの抜去が行われ(ステップS10)、本処理を終了する。
本処理フローのうちステップS9以外のステップは、作業者の操作が必要な処理であり、ステップS9は情報処理装置が自動で行う処理である。作業者が保守作業をする場合、セキュリティやプライバシー、データ流出の観点からお客様のHDDにインストールされたOSを使用することは好ましくない。そのため保守作業をする場合、USBメモリなど可搬媒体を用いて外部から起動デバイスを用いて保守作業を行うことが一般的である。しかし、このような場合、以下の課題がある。
まず、外部に接続された起動デバイスを最初に起動させるためには、作業者はBIOSの設定画面に表示された優先順位テーブルの順序を手動で変更したり、POST時に起動メニューを表示させ、目的のデバイスを選択する等の手動の操作を行う必要がある。
また、優先順位テーブルを変更した場合、終了後、作業者はその設定を元に戻す作業を要する場合がある。また、設定変更は手動による操作の為、作業ミスが発生する場合がある。
これに対して、本実施形態にかかるデバイス起動の優先順位制御装置によれば、保守における作業者の処理を軽減させることができる。
以下では、デバイス起動の優先順位制御装置の機能構成について、図1を参照しながら説明する。本実施形態では、デバイス起動の優先順位制御装置の一例にPC10を例に挙げて説明する。ただし、デバイス起動の優先順位制御装置は、PC10に限られず、例えば、タブレット型のコンピュータ、携帯情報端末等であってもよい。
[PCの構成]
PC10のハードウェア構成について図2を参照しながら説明する。PC10は、CPU(Central Processing Unit)1と、システムコントローラ2と、システムメモリ3と、SPI ROM4と、ネットワークコントローラ5と、SATAコントローラ6と、表示コントローラ7と、入出力コントローラ8と、USBホストコントローラ9と、Video/Text RAM11とを含む。
システムコントローラ2は、CPU1及びシステムメモリ3に接続される。システムコントローラ2は、バスBを介して、SPI ROM4、ネットワークコントローラ5、SATAコントローラ6、表示コントローラ7、入出力コントローラ8、USBホストコントローラ9及びVideo/Text RAM11と接続される。バスBには、例えばPCI Express又はPCIのような拡張用バス12が接続される。
SPI ROM4は、BIOS40が実装されたシステムファームウェアを有する。BIOS40は、POST(自己診断)等の機能を有する。BIOS40は、PC10の電源投入時に行われる起動処理中にBIOS優先順位テーブル41を作成する。BIOS優先順位テーブル41には、PC10に接続された起動デバイスの起動の優先順位が設定される。
優先順位制御プログラム44は、BIOS40が設定及び保存するBIOS優先順位テーブル41とは異なるプログラム優先順位テーブル31を作成し、プログラム優先順位テーブル31をBIOS優先順位テーブル41と入れ替える。優先順位制御プログラム44は、プログラム優先順位テーブル31に基づき起動デバイスを起動させる。優先順位制御プログラム44は、SPI ROM4の中にBIOS40のデータとともに保存され、BIOSの処理の一部としてPOST中に実行される。つまり、CPU1の制御により、BIOS40が作成する優先順位テーブルを「BIOS優先順位テーブル41」、優先順位制御プログラム44が作成する優先順位テーブルを「プログラム優先順位テーブル31」とする。BIOS優先順位テーブル41は不揮発性記録装置であるSPI ROM4に保存されているため、PC10の電源供給が断たれたり、システムメモリ3のリセットが行われてもBIOS優先順位テーブル41の内容は保持される。作業者が、BIOSセットアップから優先順位を変更した時は、このBIOS優先順位テーブル41が変更される。BIOS優先順位テーブル41に設定された起動デバイスの起動の優先順位は作業者、またはOSによる変更操作が行われるまで自動的に変わることはない。
一方、プログラム優先順位テーブル31は、SPI ROM4には保存されず、揮発性記録装置であるシステムメモリ3に保存される。そのためPC10の電源供給が断たれるか、システムメモリ3のリセットが行われると、プログラム優先順位テーブル31は失われる。よって、PC10がシャットダウンする際、プログラム優先順位テーブル31は自動的に削除される。
優先順位制御プログラム44は、PC10に接続されたGPTパーティションを持つ全ての起動デバイスを対象に動作する。言い換えれば、PC10に接続された起動デバイスであっても、GPTパーティションを有さないデバイスは本実施形態にかかるデバイス起動の優先順位制御方法にて制御対象とならないデバイスである。具体的には、制御対象となる起動デバイスは、GPT(GUID Partition Table)形式でフォーマットされ、二つ以上のパーティションを持つ起動デバイスである。二つ以上あるパーティションのうちの一つには、優先順位制御プログラム44へ対応するための特殊なデータ構造体を持つ。USBやSATA(Serial ATA)などの接続方法には限定されず、BIOSが読み込み処理を実施できればどのような接続方法であってもよい。
図2の例では、USBホストコントローラ9にて制御されるUSBメモリ91についてGPT90のデータパーティション190及び特定パーティション191が設定される。しかしながら、HDD61、ODD(Optical Disk Drive)62、USB HDD92において、GPTのデータパティション及び特定パーティションを設定することができる。
SPI ROM4は、プログラム用照合キー42を記録する。プログラム用照合キー42は、BIOS40が検出した起動デバイスが、本実施形態に対応したデバイスかどうかを判断するために使用される。プログラム用照合キー42は、SPI ROM4のデータ領域に複数個記録することができ、そのデータ領域の大きさはBIOS40の構成やSPI ROM4の容量により異なる。また、プログラム用照合キー42を書きこむ際、BIOS40が復号できる形式、例えばハッシュ関数などでは暗号化して書きこんでもよい。なお、プログラム用照合キー42が書き込まれていない場合でも優先順位制御プログラム44は動作することができる。
ネットワークコントローラ5は、ネットワーク30を介して外部機器との接続を制御する。SATAコントローラ6は、システムコントローラ2を介してCPU1からの指示に従ってHDD61及びODD62を制御し、種々のプログラムや種々のデータの入出力を実行する。表示コントローラ7は、システムコントローラ2を介してCPU1からの指示に従ってディスプレイ71を制御し、種々の画面表示を実行する。入出力コントローラ8は、システムコントローラ2を介してCPU1からの指示に従ってキーボード81を制御し、キーボード81からの入力を実行する。
USBホストコントローラ9は、システムコントローラ2を介してCPU1からの指示に従ってUSBメモリ91及びUSB HDD92を制御する。USBホストコントローラ9には、USBメモリ91の他、例えばマウス、プリンタ、送受信装置等が接続されてもよい。Video/Text RAM11は、画像情報やテキスト情報を記録する。
システムコントローラ2は、PC10の全体を制御する。ユーザによりPC10の電源が投入されると、SPI ROM4に格納されたBIOS40を先頭から順に読み出してCPU1にロードする。CPU1は、BIOSによる起動処理後にHDD61からオペレーティングシステム(OS)を読み出して、システムメモリ3上に常駐させ、OSを起動する。
CPU1は、BIOS40のシステムファームウェアにより自己診断を実行する。CPU1は、優先順位制御プログラム44を実行する。優先順位制御プログラム44には、SPI ROM4に格納されたBIOS優先順位テーブル41からシステムメモリ3に格納されたプログラム優先順位テーブル31に先順位テーブルを切り替える優先順位制御処理の手順が設定されている。また、優先順位制御プログラム44には、プログラム優先順位テーブル31に基づき特定されるデバイスを起動させる起動の優先順位制御処理の手順が設定されている。なお、SPI ROM4は、不揮発性記録装置の一例である。BIOS優先順位テーブル41は、不揮発性記録装置に記録された第1の優先順位テーブルの一例である。システムメモリ3は、揮発性記録装置の一例である。プログラム優先順位テーブル31は、揮発性記録装置に記録された第2の優先順位テーブルの一例である。
[BIOS処理]
図3は、本実施形態にかかるBIOS処理フローの一例を示す。USBメモリ91が挿入され(ステップS11)、PC10の電源がオンされると(ステップS12)、BIOS40が、POST時に起動可能な起動デバイス、例えばUSBメモリ91やHDD61が接続されているかを確認する。起動デバイスが接続されている場合、BIOS40はそのデバイスを起動させるために必要な情報が記録された起動エントリデータを作成する。もし接続されていない場合、起動エントリデータは作成されない。
次に、CPU1は、後述される図9の優先順位制御プログラムを実行する(ステップS13)。これにより、プログラム優先順位テーブル31が作成され、システムメモリ3に保存される。
プログラム優先順位テーブル31には、BIOS40が起動デバイスを起動させる優先順位が書き込まれ、その起動の優先順位に従いBIOSは起動デバイスの起動を試行する。プログラム優先順位テーブル31に設定された起動デバイスの優先順位は、BIOS優先順位テーブル41に設定された起動デバイスの優先順位から変更されている。これにより電源投入時にPC10に接続された起動デバイスの起動順序が変更される。
次に、プログラム優先順位テーブル31に従って起動デバイスが起動される(ステップS14)。次に、PC10の電源がオフされ(ステップS15)、システムメモリ3がクリアされる(ステップS16)。次に、USBメモリの抜去を行い(ステップS17)、本処理を終了する。
本実施形態では、ステップS14において起動デバイスを起動した後、優先順位テーブルの復元処理を行う必要がない。本実施形態では、BIOS優先順位テーブル41は変更されていないため、BIOS優先順位テーブル41の設定を元に戻す必要がないためである。
図3に示す処理フローのうちステップS11、S12、S14、S15及びステップS17は、作業者の操作が必要な処理であり、ステップS13、S16はPC10が自動で行う処理である。つまり、本実施形態にかかるデバイス起動の優先順位制御処理では、ステップS13にてプログラム優先順位テーブル31が自動生成され、ステップS16にてプログラム優先順位テーブル31が自動削除される。
これにより、デバイスを接続するだけで当該デバイスを起動できるので、作業者の作業時間と手順を減らすことができる。また、作業者がBIOS優先順位テーブル41の設定を変更する必要がないため、作業ミスや優先順位テーブルの復元を減らすことができる。また、作業者の工数を減らすことで、さらに作業ミスを無くすことができる。
[起動の優先順位制御処理]
次に、本実施形態にかかる起動の優先順位制御処理の一例について図4を参照して説明する。ここでは、作業者の操作に応じてPC10のBIOS40と本実施形態にかかる起動の優先順位制御に対応可能な起動デバイスとの間で実行される処理、及び優先順位制御プログラムにより実行される処理を説明する。
まず、作業者が、起動デバイスをPC10に接続し、PC10の電源をオンする。これに応じて、BIOS40は、起動デバイスに対して(1)デバイスの接続確認を行う。これに対して、起動デバイスは、(2)デバイスが接続されていることをBIOS40に通知する。
通知を受けたBIOS40は、(3)通知元のデバイスが本実施形態にかかる起動の優先順位制御に対応可能な起動デバイスであるかを確認する。これに対して、起動デバイスは、(4)優先順位制御に対応可能な起動デバイスであることを通知する。
通知を受けたBIOS40は、優先順位制御プログラム44を実行するCPU1に(5)デバイスリストを提供する。これに応じて、優先順位制御プログラム44を実行するCPU1は、(6)デバイスリストに対応する(デバイスリストに存在する)デバイスであるかを確認する。起動デバイスは、(7)自デバイスが対応デバイスであることを通知する。
これに対して、優先順位制御プログラム44を実行するCPU1は、(8)照合データの一例である、SPI ROM4に格納されたプログラム用照合キー42の検証を行う。起動デバイスは、(9)プログラム用照合キー42と特定パーティション191のデバイス用照合キー(図7参照)とが一致したか否かの結果を通知する。
(9)において照合キーが一致する場合、優先順位制御プログラム44を実行するCPU1は、(10)システムメモリ3に格納されたプログラム優先順位テーブル31をBIOS40に提供する。BIOS40は、(11)プログラム優先順位テーブル31に基づき特定される、本実施形態にかかる起動順位制御に対応可能な起動デバイスの起動を試行する。起動デバイスは、(12)自デバイスの起動を通知する。通知を受けたBIOS40は、起動デバイスの起動を作業者に通知する。
[起動の優先順位制御処理]
次に、本実施形態にかかる起動の優先順位制御処理の他の例について図5を参照して説明する。まず、作業者が、デバイスをPC10に接続し、PC10の電源をオンする。これに応じて、上述した(1)デバイスの接続確認から(5)デバイスリストの提供までが実行される。次に、優先順位制御プログラム44を実行するCPU1は、(6)デバイスリストに対応する(デバイスリストに存在する)デバイスであるかを確認する。起動デバイスは、(7)自デバイスが対応デバイスであること及び、対応デバイスのパスワードフラグ(図7参照)があることを通知する。
これに対して、優先順位制御プログラム44を実行するCPU1は、(8)BIOS40にパスワードの要求を指示する。これに対して、(9)BIOS40が作業者にパスワードを要求する。作業者から(10)パスワードの入力があると、BIOS40はこれに応じて(11)入力パスワードを提供する。
優先順位制御プログラム44を実行するCPU1は、(12)提供されたパスワードが、起動デバイスの特定パーティション191に保持されたパスワード(デバイス用照合キー194)と一致するか否かを検証する。特定パーティション191に保持されたパスワードは、図7に示すデバイス用照合キーの替わりに記録されていてもよい。
(13)においてパスワードが一致する場合、優先順位制御プログラム44を実行するCPU1は、(14)システムメモリ3に格納されたプログラム優先順位テーブル31をBIOS40に提供する。BIOS40は、(15)プログラム優先順位テーブル31に基づき特定される、本実施形態にかかる起動順位制御に対応可能な起動デバイスの起動を試行する。起動デバイスは、(16)デバイスの起動を通知する。通知を受けたBIOS40は、デバイス起動を作業者に通知する。
[起動デバイスのパーティション構成]
起動デバイスは、USBメモリ91やHDD61などの可搬媒体がGPTでフォーマットされたデバイスが対象となる。二つ以上のパーティションを持ち、そのうちの一つは本実施形態に対応していることを示すGUID(Globally-Unique Identifier)を持つ特定パーティション191である。この特定パーティション191は、一つの起動デバイスにつき一つのPC10に対して一つ以上存在してはいけない。また、OSなどの起動ファイルが保存されるデータパーティション190の数は問わない。特定パーティション191のパーティション番号はいずれでもよい。
特定パーティションの構成について、図6の一実施形態にかかる起動デバイスのパーティション構成を参照して説明する。USBメモリ91やHDD61などの可搬媒体はLBA(Logical Block Addressing)という方法でデータアドレスを決めることでアクセスできる。LBA0からLBA33などのデータアドレスは既に予約されており、LBA34から実データ領域が始まる。図6は、LBA形式のデータ構造に本実施形態にかかる特定パーティション191を割り当てた一例を示す。
LBA Xのデータアドレスは、特定パーティション191の開始位置を示す。LBA Xが示すパーティション2には、本実施形態に対応していることを示すGUIDが記録されている。
LBA X+1のデータアドレスには、デバイス認証データ194が記録されている。図7に、一実施形態にかかるデバイス認証データ194の構成の一例を示す。デバイス認証データ194は、起動させたいパーティションの起動エントリ番号194a、パスワードフラグ194b、デバイス用照合キー194cの3つデータを有する。
図8に、一実施形態にかかる特定パーティション191のデバイス認証データ194の一例を示す。デバイス認証データ194は、特定パーティション191にて予め定められた領域内で複数個書き込むことができる。図8には、第1デバイス認証データ194A、第2デバイス認証データ194Bの二つが記録されている。
デバイス認証データ194は、セキュリティの為、起動デバイスから得られるデバイス名などの情報を元にハッシュ関数などで暗号化後、特定パーティション191に書きこんでもよい。デバイス認証データ194がもつデバイス用照合キーは作業者に入力させるためのパスワードでもよい。その場合、デバイス内のパスワードフラグを設定し、デバイス用照合キーが書き込まれている領域のデータがパスワードとして機能する。
[優先順位制御プログラムによる動作フロー(起動の優先順位制御処理)]
次に、本実施形態にかかる優先順位制御プログラムによりCPU1が実行する動作、すなわち、起動の優先順位制御処理の一例について、図9を参照しながら説明する。まず作業者は予め、対応する起動デバイスに必要な情報を設定しておく。
例えば、図2では、GPT90の二つのパーティション191,192に所定の情報が設定されたUSBメモリ91が作成されている。二つのパーティション191,192のうち、一つはWindows(登録商標)などの起動アプリケーション(OS等)が保存されたデータパーティション190である。もう一つはデバイス認証データ194が保存された特定パーティション191である。特定パーティション191に設定されたデバイス認証データ194は暗号化されていて、OSから判読が困難なようになっている。
優先順位制御プログラムは、BIOSの処理の一部において実行されるプログラムである。また、優先順位制御プログラムは、起動時に実行される。
CPU1は、優先順位制御プログラム44の実行を開始すると(ステップS20)、BIOS40からPC10に接続された起動デバイスの情報を取得し、起動デバイスの確認を行う(ステップS21)。PC10は電源が投入され起動すると、自身に接続されているデバイスを確認し、デバイスリストを作成する。CPU1は、デバイスリストから対応したデバイス(起動デバイス)が接続されているかを確認する。次に、優先順位制御プログラム44を実行するCPU1は、起動デバイスの情報の基づき起動デバイスに対応するパーティションGUIDが設定された特定パーティションが存在するかを判定する(ステップS22)。
起動デバイスに対応するパーティションGUIDが設定された特定パーティションが存在しない場合、優先順位制御プログラム44を実行するCPU1は、他に起動デバイスがあるかを判定する(ステップS23)。GPTパーティションを持つ全てのデバイスを確認するまでステップS21以降の処理を繰り返し実行し、他に起動デバイスがないと判定されたとき(ステップS23)、本処理を終了する。
起動デバイスに対応するパーティションGUIDが設定された特定パーティションが存在する場合、CPU1は、プログラム用照合キー42がSPI ROM4に存在するかを判定する(ステップS24)。プログラム用照合キー42がSPI ROM4に存在しない場合、本処理を終了する。
プログラム用照合キー42がSPI ROM4に存在する場合、CPU1は、特定パーティションのデバイス認証データ194にパスワードフラグ194bが設定されているかを判定する(ステップS25)。パスワードフラグ194bが設定されていない場合、CPU1は、SPI ROM4に格納されたプログラム用照合キー42とデバイス認証データ194に格納されたデバイス用照合キー194cとが一致するかを判定する(ステップS26)。
プログラム用照合キー42とデバイス用照合キー194cとが一致しない場合、CPU1は、他に起動デバイスがあるかを判定し(ステップS23)、GPTパーティションを持つ全てのデバイスがある間、ステップS21以降の処理を繰り返し実行し、他に起動デバイスがないと判定されたとき(ステップS23)、本処理を終了する。
プログラム用照合キー42とデバイス用照合キー194cとが一致する場合、優先順位制御プログラム44を実行するCPU1は、一致したデバイス認証データ194が示すパーティションのエントリ番号194aをプログラム優先順位テーブル31に記録する。複数のデバイス認証データ194が存在する場合、CPU1は、デバイス認証データ194が記載されている順番でデバイス用照合キー194cとプログラム用照合キー42とを照合していく。デバイス用照合キー194cが複数のプログラム用照合キー42と一致した場合、CPU1は、最初に一致したデバイス認証データ194が示すパーティションのエントリ番号194aのみをプログラム優先順位テーブル31に記録する。また対応する起動デバイスが複数接続されている場合、もっとも早く検出された起動デバイスのデバイス認証データ194が示すエントリ番号194aのみをプログラム優先順位テーブル31に記録する。
ステップS25において、パスワードフラグが設定されていると判定された場合、CPU1は、パスワード入力画面を表示し(ステップS27)、作業者にパスワードを入力させる。パスワードフラグが設定されたデバイス認証データ194が複数存在している場合、CPU1は、検出された順番にパスワード入力画面を表示させ、パスワードの入力を求める。
CPU1は、入力されたパスワードとデバイス用照合キー194cとが一致するかを判定する(ステップS28)。パスワードとはデバイス認証データの一例であり、BIOSに設定された管理者用パスワードとは異なる。
入力されたパスワードとデバイス用照合キー194cとが一致しない場合、CPU1は、他に起動デバイスがあるかを判定し(ステップS23)、GPTパーティションを持つ全てのデバイスを確認するまでステップS21以降の処理を繰り返し実行し、他に起動デバイスがないと判定されたとき(ステップS23)、本処理を終了する。
入力されたパスワードとデバイス用照合キー194cとが一致する場合、CPU1は、一致したデバイス認証データ194が示す起動させたいパーティションのエントリ番号194aをプログラム優先順位テーブル31に記録し(ステップS29)、本処理を終了する。入力されたパスワードとデバイス用照合キーと一致した場合、CPU1は、それ以降のパスワードの要求は行わず、最初に一致した起動エントリ番号194aをプログラム優先順位テーブル31に記録する。
なお、CPU1は、デバイス認証データ194が複数あった場合、最初のデバイス認証データ194が示す特定パーティションのエントリ番号194aのみをプログラム優先順位テーブル31に記録する。また対応する起動デバイスが複数接続されている場合、もっとも早く検出された起動デバイスに関するエントリ番号194aのみをプログラム優先順位テーブル31に記録する。
(動作例)
次に、BIOSの起動処理時の動作の一例について、図10を参照しながら説明する。前提として、PC10は、SPI ROM4へ予めプログラム用照合キー42を書きこんでおく。また、作業者はPC10を起動する前にUSBメモリ91を接続する。USBメモリ91は、起動デバイスの一例である。
PC10は電源が投入され起動すると、PC10に接続されている起動デバイスを確認し、起動デバイスのエントリを作成する。すべての起動デバイスのエントリの作成完了後、CPU1は、優先順位制御プログラム44の手順により優先順位テーブル31から対応したデバイスが接続されているかを確認する。対応したデバイスが接続されている場合、CPU1は、プログラム優先順位テーブル31が存在するか判定する(ステップS30)。
プログラム優先順位テーブル31が存在する場合、CPU1は、BIOS優先順位テーブル41ではなく、プログラム優先順位テーブル31をBIOSに提供し、BIOSは、プログラム優先順位テーブル31に基づき起動デバイスを起動する(ステップS31)。
BIOSは、起動処理が正常に完了したかを判定し(ステップS32)、起動処理が正常に完了した場合、本処理を終了する。起動処理が正常に完了しなかった場合、CPU1は、SPI ROM4に記録されているBIOS優先順位テーブル41をBIOSに提供し、BIOSは、BIOS優先順位テーブル41に基づき起動デバイスを起動し(ステップS33)、本処理を終了する。
また、ステップS30において、プログラム優先順位テーブル31が存在しない場合においても、BIOSは、BIOS優先順位テーブル41に基づき起動デバイスを起動し(ステップS33)、本処理を終了する。
これによれば、SPI ROM4に格納されたBIOS優先順位テーブル41からシステムメモリ3に格納されたプログラム優先順位テーブル31に切り替え、プログラム優先順位テーブル31に基づき特定されるデバイスが起動される。
例えば、図11に示すように、プログラム優先順位テーブル31に、エントリ番号131、デバイス132及びパーティション番号133が記録されている場合、エントリ番号131が最初の「#1」のデバイスが起動される。
以上に説明したように、本実施形態にかかる起動デバイスの優先順位制御方法によれば、PC10に起動デバイスを接続するだけで当該起動デバイスの起動が可能なため、作業者の作業時間と手順を減らすことができる。また、作業者の工数が減るため、作業ミスを無くすことができる。また、BIOS優先順位テーブル41は書き替えない、つまり、BIOSの設定を変更する必要がなくなるので、作業ミスや設定の戻し忘れを減らすことができる。また、保守作業だけではなく、工場の製造現場でもこの機能を用いることで工数や製造時間を削減することができる。例えば、製造にはOS_Aを使用しているが、OS_Bをシステムメモリ3から自動的に起動することができる。
(変形例)
図12は、特定パーティションを用いて、一つのデバイスにおいて起動させるパーティションをPC10ごとに変えるときの動作例である。例えば、同一の起動デバイスでもデバイス認証データ194の中で指定するパーティション番号を変更できるようにする。例えば、図7のデバイス認証データ194において、第1デバイス認証データの起動させたいパーティションのエントリ番号を「02」に設定し、第2デバイス認証データの起動させたいパーティションのエントリ番号を「03」に設定した場合について説明する。
この場合、PC10Aにおいて、SPI ROM4に格納されたプログラム用照合キー42と、特定パーティション191の第1デバイス認証データのデバイス用照合キー194cとを照合する。これにより、照合の結果に基づき一致するパーティションのエントリ番号「02」に設定されたOS1が起動される。
他方、PC10Bにおいて、SPI ROM4に格納されたプログラム用照合キー42と、特定パーティション191の第2デバイス認証データのデバイス用照合キー194cとを照合する。これにより、照合の結果に基づき一致するパーティションのエントリ番号「03」に設定されたOS2が起動される。これにより、一つのデバイスにおいて、異なるPC(PC10A及びPC10B)に対して、プログラム用照合キー42とデバイス用照合キー194cとが一致するそれぞれのパーティション番号を指定できる。
以上の変形例によれば、同一デバイスでもデバイス認証データ194の中で指定するパーティション番号を変更することにより、デバイス認証データ194ごとに指定させるパーティションを特定できる。
以上に説明したように、本実施形態及びその変形例にかかるデバイス起動の優先順位制御方法によれば、作業者は起動デバイスを接続しただけで、目的の起動デバイスから自動的に起動させることができる。これにより、作業者の作業時間と手順を減らすことができる。また、作業者の工数が減り、作業ミスを無くすことができる。また、BIOS優先順位テーブル41は書き替えない、つまり、BIOSの設定を変更する必要がなくなるので、作業ミスや設定の戻し忘れを減らすことができる。
また、プログラム用照合キー42とデバイス認証データ194とを設定することで、機能に対応した異なるPC間で起動デバイスを共有することができる。また、デバイス認証データ194を暗号化することで、デバイス認証データ194はOSから認識されないため、データの流出や改変、誤って削除するなどのリスクを減らすことができる。また、起動デバイスは、USBメモリ91やHDD61で対応可能であるため特別なデバイスを不要とすることができる。加えて、本実施形態にかかる優先順位制御方法によれば、キーボードやマウスなどBIOSの設定を変更するための入力装置を不要にすることができる。
以上、デバイス起動の優先順位制御装置及び優先順位制御方法を上記実施形態により説明したが、本発明にかかる優先順位制御装置及び優先順位制御方法は上記実施形態に限定されるものではなく、本発明の範囲内で種々の変形及び改良が可能である。また、上記実施形態及び変形例が複数存在する場合、矛盾しない範囲で組み合わせることができる。
以上の説明に関し、更に以下の項を開示する。
(付記1)
デバイスの起動の優先順位を制御する優先順位制御プログラムと、第1の優先順位テーブルとを記録する不揮発性記録装置と、
第2の優先順位テーブルを記録する揮発性記録装置と、
電源投入時の自装置に接続されたデバイスに対応する認証が正常である場合、前記優先順位制御プログラムを実行するCPUと、を有し、
前記CPUが実行する前記優先順位制御プログラムは、前記不揮発性記録装置に格納された第1の優先順位テーブルから前記揮発性記録装置に格納された第2の優先順位テーブルに切り替え、前記第2の優先順位テーブルに基づき特定されるデバイスを起動させる、
デバイス起動の優先順位制御装置。
(付記2)
前記デバイスの特定パーティションに格納された複数のデバイス認証データに基づき、前記デバイスに対応する認証が行われ、
前記複数のデバイス認証データのそれぞれに起動させるパーティションのエントリ番号を設定する、
付記1に記載の優先順位制御装置。
(付記3)
デバイスの起動の優先順位を制御する優先順位制御プログラムと、第1の優先順位テーブルとを記録する不揮発性記録装置と、第2の優先順位テーブルを記録する揮発性記録装置とを有する優先順位制御装置において実行されるデバイス起動の優先順位制御方法であって、
電源投入時に接続されたデバイスに対応する認証が正常である場合、前記第1の優先順位テーブルから前記第2の優先順位テーブルに切り替え、
前記第2の優先順位テーブルに基づき特定されるデバイスを起動させる、
処理をCPUが実行する優先順位制御方法。
(付記4)
前記デバイスの特定パーティションに格納された複数のデバイス認証データに基づき、前記デバイスに対応する認証を行い、
前記複数のデバイス認証データのそれぞれに起動させるパーティションのエントリ番号を設定する、
付記3に記載の優先順位制御方法。
1:CPU
3:システムメモリ
4:SPI ROM
10:PC
20:管理サーバ
30:ネットワーク
31:プログラム優先順位テーブル
40:BIOS
41:BIOS優先順位テーブル
42:プログラム照合用キー
44:優先順位制御プログラム
61:HDD
90:GPT
91:USBメモリ
190:データパティション
191:特定パーティション
194:デバイス認証データ
194a:起動させたいパーティションのエントリ番号
194b:パスワードフラグ
194c:デバイス用照合キー

Claims (3)

  1. デバイスの起動の優先順位を制御する優先順位制御プログラムと、第1の優先順位テーブルとを記録する不揮発性記録装置と、
    第2の優先順位テーブルを記録する揮発性記録装置と、
    電源投入時の自装置に接続されたデバイスに対応する認証が正常である場合、前記優先順位制御プログラムを実行するCPUと、を有し、
    前記CPUが実行する前記優先順位制御プログラムは、前記不揮発性記録装置に格納された第1の優先順位テーブルから前記揮発性記録装置に格納された第2の優先順位テーブルに切り替え、前記第2の優先順位テーブルに基づき特定されるデバイスを起動させる、
    デバイス起動の優先順位制御装置。
  2. 前記デバイスの特定パーティションに格納された複数のデバイス認証データに基づき、前記デバイスに対応する認証が行われ、
    前記複数のデバイス認証データのそれぞれに対して起動させるパーティションのエントリ番号を設定する、
    請求項1に記載の優先順位制御装置。
  3. デバイスの起動の優先順位を制御する優先順位制御プログラムと、第1の優先順位テーブルとを記録する不揮発性記録装置と、第2の優先順位テーブルを記録する揮発性記録装置とを有する優先順位制御装置において実行されるデバイス起動の優先順位制御方法であって、
    電源投入時に接続されたデバイスに対応する認証が正常である場合、前記第1の優先順位テーブルから前記第2の優先順位テーブルに切り替え、
    前記第2の優先順位テーブルに基づき特定されるデバイスを起動させる、
    処理をCPUが実行する優先順位制御方法。
JP2016014907A 2016-01-28 2016-01-28 デバイス起動の優先順位制御装置及び優先順位制御方法 Pending JP2017134692A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016014907A JP2017134692A (ja) 2016-01-28 2016-01-28 デバイス起動の優先順位制御装置及び優先順位制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016014907A JP2017134692A (ja) 2016-01-28 2016-01-28 デバイス起動の優先順位制御装置及び優先順位制御方法

Publications (1)

Publication Number Publication Date
JP2017134692A true JP2017134692A (ja) 2017-08-03

Family

ID=59502745

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016014907A Pending JP2017134692A (ja) 2016-01-28 2016-01-28 デバイス起動の優先順位制御装置及び優先順位制御方法

Country Status (1)

Country Link
JP (1) JP2017134692A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109814985A (zh) * 2017-11-20 2019-05-28 杭州华为数字技术有限公司 一种任务调度方法及调度器、计算设备、系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109814985A (zh) * 2017-11-20 2019-05-28 杭州华为数字技术有限公司 一种任务调度方法及调度器、计算设备、系统
CN109814985B (zh) * 2017-11-20 2021-07-16 华为技术有限公司 一种任务调度方法及调度器、计算设备、系统

Similar Documents

Publication Publication Date Title
JP5565040B2 (ja) 記憶装置、データ処理装置、登録方法、及びコンピュータプログラム
JP6054908B2 (ja) 変数セットを修復する方法、コンピュータ・プログラムおよびコンピュータ
EP2477111B1 (en) Computer system and program restoring method thereof
US20140115316A1 (en) Boot loading of secure operating system from external device
JP4850949B2 (ja) シンクライアント端末装置、その運用プログラム、及び方法、並びにシンクライアントシステム
US9721102B2 (en) Boot mechanisms for bring your own management
TWI601068B (zh) 用於接取網路之設備及方法、以及電腦可讀媒體
JP2013506205A (ja) ポータブルデスクトップデバイス、ならびにホストコンピュータシステムハードウェア認識および構成の方法
JP5689429B2 (ja) 認証装置、および、認証方法
KR102195344B1 (ko) Usb 저장 매체를 이용하는 컴퓨터용 보안 시스템 및 방법
US20100042710A1 (en) Remote management of computer system
US8335891B2 (en) Method and system for configuring a storage array
JP2011150499A (ja) シンクライアントシステム、シンクライアント端末およびシンクライアントプログラム
TW202137002A (zh) 資料儲存裝置及維持資料儲存裝置正常開機運作的方法
TWI581187B (zh) 傳送用以安裝作業系統之資料影像的技術
US9940461B2 (en) Enabling an external operating system to access encrypted data units of a data storage system
JP5026908B2 (ja) スティックサーバ
TW202223628A (zh) 資料儲存裝置及維持資料儲存裝置正常開機的方法
JP2017134692A (ja) デバイス起動の優先順位制御装置及び優先順位制御方法
JP2010152750A (ja) 端末装置
JP4498956B2 (ja) ネットワークブートシステム、単位記憶ユニットのマウント方法およびプログラム
JP6669958B2 (ja) 情報処理装置
US20140136777A1 (en) Method and system for configuring a storage array
JP2017107283A (ja) 初期化方法、配備サーバ、配備プログラム及び初期化プログラム
WO2010001731A1 (ja) メモリ装置

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20180706

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20180711

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20180717

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20180907