説明

BIOSの画像ファイルを更新する方法及びシステム

【課題】ソースコードを修正せずに、基本入出力システム(BIOS)で支援された機能を更新する方法とシステムを提供する。
【解決手段】BIOSメモリのソース画像ファイルを更新する方法は、第1画像ファイルを作成し、システムロックプレインストール(SLP)2.0が支援されるかどうかを表す機能設定と、前記機能設定に関連した第1と第2アドレス情報とを含む初期化文書をロードするステップと、前記第1と第2アドレス情報に基づいて前記第1画像ファイルにSLPマーカーとOEM公開キーを書き込み、第2画像ファイルを成す前記初期化文書をロードするステップと、前記第2画像ファイルを前記BIOSメモリの前記ソース画像ファイルの中に書き込むステップと、を含む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、更新方法に関し、特に、ソースコードを修正せずに、基本入出力システム(BIOS)で支援された機能を更新する方法とシステムに関する。
【背景技術】
【0002】
通常、基本入出力システム(BIOS)は、読み出し専用メモリ(ROM)などの不揮発性メモリに保存され、ファームウェアの少なくとも1つの画像ファイル(またはバイナリファイル)を含み、コンピュータシステムのコンポーネントを初期化することで、オペレーティングシステム(OS)をロードする前に、確実に初期化されたコンポーネントが正常に動作するようにしている。
【発明の開示】
【発明が解決しようとする課題】
【0003】
一般的に、BIOSの画像ファイルは、ソースコードベンダーより提供されたソースコードによって作成される。異なるハードウェア装置、構造、または機能を支援するために、ソースコードベンダーは、ソースコードを手動で修正する必要がある。しかし、多数のOEMの顧客を有するBIOSベンダーにとっては、ソースコードベンダーと提携して画像ファイルのソースコードを修正することは非常に時間が掛かり、不便である。
【0004】
本発明は上記のような問題を考慮して創案されたものであり、本発明の課題は、ソースコードを修正せずに、基本入出力システム(BIOS)で支援された機能を更新する方法とシステムを提供することである。
【課題を解決するための手段】
【0005】
初期化文書をロードし、第1画像ファイルを作成する、BIOSメモリのソース画像ファイルを更新する方法の実施例が提供される。初期化文書は、機能設定と、その機能設定に関連した第1と第2アドレス情報を含み、機能設定は、システムロックプレインストール(SLP)2.0を支援するかどうかを表す。初期化文書は、ロードされ、第1と第2アドレス情報に基づいてSLPマーカーとOEM公開キーを第1画像ファイルに書き込み、第2画像ファイルを成す。第2画像ファイルは、BIOSメモリのソース画像ファイルの中に書き込まれる。
【0006】
本発明は、初期化文書をロードして第1画像ファイルを作成する、記憶装置のソース画像ファイルを更新する方法の実施例を提供する。初期化文書は、機能設定と、その機能設定に関連した第1と第2アドレス情報を含む。初期化文書はロードされ、第1と第2アドレス情報に基づいて第2と第3画像ファイルを第1画像ファイルに書き込み、第4画像ファイルを成す。第4画像ファイルは、記憶装置のソース画像ファイルに書き込まれる。
【0007】
本発明は、画像ファイルが初期化文書と、SLPマーカーと、OEM公開キーとに基づいて作成されたBIOSメモリのソース画像ファイルを更新し、システムロックプレインストール(SLP)2.0を支援する方法の実施例を提供する。画像ファイルは、BIOSメモリのソース画像ファイルに書き込まれることでBIOSメモリがSLP2.0を支援する。
【0008】
本発明は、第1ビルダーが初期化文書をロードし、第1画像ファイルを作成するBIOSメモリのソース画像ファイルを更新するシステムの実施例を提供する。初期化文書は、機能設定とその機能設定に関連した第1と第2アドレス情報を含む。第2ビルダーは、初期化文書をロードし、第1と第2アドレス情報に基づいて第2と第3画像ファイルを第1画像ファイルに書き込み、第4画像ファイルを成す。書込み装置は、第4画像ファイルを記憶装置のソース画像ファイルに書き込む。
【発明の効果】
【0009】
本発明のBIOSの画像ファイルを更新する方法及びシステムによれば、ソースコードベンダーと提携してソースコードを修正することなく、画像ファイルをBIOS ROMのソース画像ファイルに挿入することができるため、BIOS ROMがSLP2.0を支援することができる。
【発明を実施するための最良の形態】
【0010】
本発明についての目的、特徴、長所が一層明確に理解されるよう、以下に実施形態を例示し、図面を参照にしながら詳細に説明する。
【実施例】
【0011】
マイクロソフト(登録商標)Vistaオペレーティングシステムのシステムロックプレインストール(SLP)2.0を支援するために、相手先商標製品の製造会社(OEM)の公開キーとSLPマーカーが予めBIOSのメモリの中に内蔵されることが必要であり、ACPI BIOSテーブルは、SLP2.0を支援するかどうかを設定するために必要である。
【0012】
本発明は、BIOS ROMのソース画像ファイルを更新する方法とシステムを提供し、特に、BIOS ROMのソースコードを修正することなく、BIOS ROMのソースの画像ファイルを更新する方法とシステムを提供する。
【0013】
図1は、本発明に基づいたBIOS ROMのソースの画像ファイルを更新するシステムの実施例を表している。図示するように、システム100は、少なくともエディター10と、第1ビルダー20と、第2ビルダー30と、書込み装置40と、を備える。
【0014】
エディター10は、初期化文書11を受け、第1グラフィカルユーザーインターフェース(GUI)(図示せず)を提供し、初期化文書11に記載された設定情報を設定するようにユーザーを補助する。初期化文書11として、テキストデータ(一般的にXX.iniと言われる)を用いることができる。実施例では、初期化文書11は、VistaオペレーティングシステムのSLP2.0を支援するかどうかを設定する少なくとも1つの機能設定を含み、第1と第2アドレス情報は、OEM公開キー50とSLPマーカー60をそれぞれ保存する。
【0015】
OEMキー50とSLPマーカー60は、マイクロソフト(登録商標)により認定された後にOEMで得られた2つの画像ファイルであることに留意されたい。ユーザーは、第1GUIを通して初期化文書11をロードして編集し、SLP2.0を支援する、または支援しない初期化文書12を自ら作成することができる。例えば、ユーザーは、既定の項目の少なくとも1つの機能設定を入力、または選択し、SLP2.0を支援するかどうかを決めることができる。また、ユーザーは、第1と第2アドレス情報を修正してOEM公開キー50とSLPマーカー60を保存することもできる。
【0016】
第1ビルダー20は、エディター10から編集された初期化文書12を受け(またはロードし)、編集された初期化文書12を画像ファイル13に変換する。画像ファイル13として、バイナリファイル(一般的にXX.binと言われる)を用いることができる。
【0017】
第2ビルダー30は、OEM公開キー50とSLPマーカー60を第1ビルダー20からの画像ファイル13に挿入し、編集された初期化文書12の第1と第2アドレス情報に基づいて画像ファイル14を作成する。エディター10で編集された初期化文書12がSLP2.0を支援するように設定された場合、第1ビルダー20によって作成された画像ファイル13はSLP2.0を支援する情報を有することに留意されたい。画像ファイル14がOEM公開キー50とSLPマーカー60を画像ファイル13の中に挿入することで作成されることから、画像ファイル14はSLP2.0を支援するために必要な情報を有する。逆に編集された初期化文書12がSLP2.0を支援するように設定されていない場合、OEM公開キー50とSLPマーカー60が第2ビルダー30によって画像ファイル13の中に挿入されても画像ファイル13は、SLP2.0を支援しない。
【0018】
書込み装置40は、画像ファイル14をBIOS ROM(図示せず)のソース画像ファイル15の中に挿入して、新しい画像ファイル16を作成する。本発明の実施例では、ソース画像ファイル15は、ソースコードベンダーによって提供されたソースコードで作成されるが、これに限定されるものではない。例えば、ユーザーは、書込み装置40によって、画像ファイル14をソース画像ファイル15の中に挿入するアドレスを自ら選んで、新しい画像ファイル16を作成することができる。
【0019】
上述に鑑みて、ユーザーは、エディター10と、第1および第2ビルダー20、30とによって、SLP2.0を支援する画像ファイル14を自ら作成することができる。続いて、ユーザーは、ソースコードベンダーと提携してソースコードを修正することなく、画像ファイル14をBIOS ROMのソース画像ファイル15に挿入することができるため、BIOS ROMがSLP2.0を支援することができる。また、本発明におけるBIOS更新の用途は、SLP2.0を支援することに限定されるものではなく、任意の他の機能を支援することでもよい。
【0020】
また、他の実施例では、エディター10と、第1および第2ビルダー20、30と、書込み装置40とは、プロセッサによって実行可能で、かつ記憶装置内に保存されたアプリケーションプログラムであり、関連する機能を提供することができる。さらに他の実施例では、少なくとも2つのエディター10と、第1および第2ビルダー20、30と、書込み装置40とは、ユーザーが新しい画像ファイルを作成するのに便利なように互いに統合されている。例えば、第2ビルダー30は第1ビルダー20に統合されてよい。それによって、ユーザーが編集した初期化文書12をロードして画像ファイル13を作成し、第1ビルダー20のみでOEM公開キー50とSLPマーカー60を画像ファイル13に挿入して、画像ファイル14を作成することができる。
【0021】
また、ユーザーが画像ファイル14をソース画像ファイル15に挿入するアドレスと、OEM公開キー50とSLPマーカー60を画像ファイル13に挿入するアドレスを自ら決めることができることから、ユーザーは、例えばOEM公開キー50とSLPマーカー60のSLP2.0を支援する必要な情報が不正な方法で獲得されることを防ぐことができる。
【0022】
図2は、本発明に基づいた更新方法のフローチャートである。図示のように、更新方法は、初期化文書の機能と第1と第2アドレス情報を設定するステップS110と、初期化文書をロードして第1画像ファイルを作成するステップS120と、初期化文書をロードして第2および第3画像ファイルを第1画像ファイルに挿入し、第4画像ファイルとするステップS130と、第4画像ファイルをソース画像ファイルに挿入し、新規画像ファイルとするステップS140と、を含む。
【0023】
図3Aと図3Bは、本発明に基づいた実施例の画像ファイルの図を表しており、図1を参照にしてステップS110〜140を説明している。
【0024】
まず、ステップS110では、ユーザーは、エディター10によって初期化文書11の機能設定と第1と第2アドレス情報を設定することができる。実施例では、初期化文書11は、テキストデータ(一般的にXX.iniと言われる)であり、VistaオペレーティングシステムのSLP2.0を支援するかどうかを設定する少なくとも1つの機能設定を含む。第1と第2アドレス情報は、OEM公開キー50とSLPマーカー60とをそれぞれ保存する。
【0025】
OEMキー50とSLPマーカー60は、マイクロソフト(登録商標)により認定された後、OEMで得られた2つの画像ファイルであることに留意されたい。例えば、エディター10は、グラフィカルユーザインタフェース(GUI)を提供して、初期化文書11で記載された設定情報を設定(または編集)するようにユーザーを補助することができる。ユーザーは、初期化文書11をロードして編集し、エディター10のGUIによって、SLP2.0を支援する、または支援しない編集された初期化文書12を作成することができる。
【0026】
他の実施例では、ユーザーは、既定の項目の少なくとも1つの機能設定を入力、または選択し、SLP2.0を支援するかどうかを決めることができるが、本発明はこれを限定されるものではない。また、ユーザーは、第1と第2アドレス情報を修正してOEM公開キー50とSLPマーカー60を保存することもできる。
【0027】
続いてステップS120では、図3Aに示すように、第1ビルダー20は、編集された初期化文書12を受け(またはロードし)、編集された初期化文書12を画像ファイル13に変換する。図示するように、画像ファイル13は、基本データを保存する少なくとも2つのデータブロックと少なくとも1つのヘッダーをそれぞれ含む。例えば、画像ファイル13は、バイナリファイルであることができ、その機能と第1と第2アドレス情報は、ヘッダーに記載される。基本データは、OEM IDとOEMテーブルIDとを含む。
【0028】
ステップS130では、第2ビルダー30は、編集された初期化文書12に記載された第1と第2アドレス情報に基づいて、OEM公開キー(すなわち、PUBKEY.bin)50とSLPマーカー(すなわち、MARKER.bin)60を画像ファイル13に挿入し、画像ファイル14とする。よって、図3Aに示すように、SLP2.0を支援する必要な情報を含む画像ファイル14(すなわち、123.bin)が得られる。
【0029】
エディター10によって編集された初期化文書12がSLP2.0を支援するように設定された場合、第1ビルダー20によって作成された画像ファイル13は、SLP2.0を支援する情報を有することに留意されたい。逆に、エディター10によって編集された初期化文書12がSLP2.0を支援するように設定されていない場合、OEM公開キー50とSLPマーカー60とが第2ビルダー30によって画像ファイル13の中に挿入されても画像ファイル13は、SLP2.0を支援しない。
【0030】
最後に、ステップS140では、書込み装置40は、画像ファイル14をBIOS ROM(図示せず)のソース画像ファイル15に挿入して、新しい画像ファイル16とする。本発明の実施例では、ソース画像ファイル15は、ソースコードベンダーによって提供されたソースコードで作成される。例えば、ユーザーは、オプションのROM方式(optional ROM method)によって、書込み装置40により、BIOS ROMの画像ファイル14(すなわち、123.bin)をソース画像ファイル15に挿入するアドレスを決めることができる。
【0031】
上述に鑑みて、ユーザーは、エディター10と第1および第2ビルダー20、30とによって、SLP2.0を支援する画像ファイル14を自ら作成することができる。続いて、ユーザーは、ソースコードベンダーによりソースコードを修正することなく、画像ファイル14をBIOS ROMのソース画像ファイル15に挿入するため、BIOS ROMがSLP2.0を支援することができる。また、本発明のBIOSの更新の用途は、SLP2.0を支援することに限定されるものではなく、任意の他の機能を支援することであってよい。
【0032】
図4に示すように、新規画像ファイル16は、ソース画像ファイル15とSLP2.0を支援するために必要な情報を有する画像ファイル14を含むため、Vistaオペレーティングシステムが動作した時、システムロックプレインストール(SLP)2.0が通過(pass)する。
【0033】
また、他の実施例では、エディター10と、第1および第2ビルダー20、30と、書込み装置40には、プロセッサによって実行可能な記憶装置内に保存されたアプリケーションプログラムを用いることができ、これにより関連する機能を提供する。さらに他の実施例では、少なくとも2つのエディター10と、第1および第2ビルダー20、30と、書込み装置40とは、ユーザーが新規画像ファイルを作成するのに便利なように互いに統合されることができる。例えば、第2ビルダー30が第1ビルダー20に統合されることができる。それによって、ユーザーが編集された初期化文書12をロードして画像ファイル13を作成し、第1ビルダー20のみでOEM公開キー50とSLPマーカー60を画像ファイル13に挿入して、画像ファイル14を作成することができる。
【0034】
また、ユーザーが画像ファイル14をソース画像ファイル15に挿入するアドレスと、OEM公開キー50とSLPマーカー60を画像ファイル13に挿入するアドレスを自ら決めることができることから、ユーザーは、例えばOEM公開キー50とSLPマーカー60のSLP2.0を支援する必要な情報が不正な方法で得られることを防ぐことができる。
【0035】
図5Aと図5Bは、BIOSの動作フローチャートを表している。BIOS ROMの画像ファイルは、画像ファイル14(すなわち、123.bin)を含む画像ファイル16であると仮定する。
【0036】
ステップS201では、CPU(図示せず)は、電力制御インターフェース(ACPI)テーブルの構築の間に、ACPI_SLICテーブルを構築する手順と画像ファイル14(123.bin)をロードする手順を加えている。続いて、ステップS202では、CPUは、ACPI_SLICテーブルを構築する。ステップS203では、CPUは、画像ファイル14に基づいてSLP2.0を支援するかどうかを判断する。SLP2.0を支援する場合、ステップS204のSLP2.0の支援手順が行われ、支援しない場合、ステップS204がスキップされてステップS205の手順が行われる。
【0037】
ステップS204では、CPUは、画像ファイル14(すなわち、123.bin)からOEM公開キー(すなわち、PUBKEY.bin)50とSLPマーカー(すなわち、MARKER.bin)60をロードし、OEM公開キー50とSLPマーカー60をACPI_SLICテーブルの中に書き込む。続いて、ステップS205では、CPUは、ACPIルートシステム記述(ACPI_RSDT)ヘッダーを設定する。
【0038】
ステップS206では、CPUは再度、画像ファイル14に基づいてSLP2.0を支援するかどうかを判断する。SLP2.0を支援する場合、ステップS207の対応するSLP2.0の支援手順が行われ、支援しない場合、ステップS207がスキップされてステップS208が行われる。
【0039】
ステップS207では、CPUは、画像ファイル14(すなわち、123.bin)からOEM IDとOEMテーブルIDをロードし、IDをACPI_RSDTヘッダーに書き込む。続いて、ステップS208では、CPUは、ACPI extend system description(ACPI_XSDT)ヘッダーを設定する。
【0040】
ステップS209では、CPUは再度、画像ファイル14に基づいてSLP2.0を支援するかどうかを判断する。SLP2.0を支援する場合、ステップS210の対応するSLP2.0の支援手順が行われ、支援しない場合、ステップS210がスキップされてステップS211が行われる。
【0041】
ステップS210では、CPUは、画像ファイル14(すなわち、123.bin)からOEM IDとOEMテーブルIDをロードし、IDをACPI_XSDTヘッダーに書き込む。続いて、ステップS211では、CPUは、続くPOST手順を行い、起動を完成する。
【0042】
以上、本発明を図面に示した実施形態を用いて説明したが、これらは例示的なものに過ぎず、本技術分野の当業者ならば、本発明の範囲および趣旨から逸脱しない範囲で多様な変更および変形が可能なことは理解できるであろう。したがって、本発明の範囲は、説明された実施形態によって定められず、特許請求の範囲に記載された技術的趣旨により定められねばならない。
【図面の簡単な説明】
【0043】
【図1】本発明に基づいたBIOS ROMの画像ファイルを更新するシステムの実施例を表す。
【図2】本発明に基づいた更新方法のフローチャートである。
【図3A】本発明に基づいた実施例の画像ファイルの図を表す。
【図3B】本発明に基づいた実施例の画像ファイルの別の図を表す。
【図4】本発明に基づいた実施例の画像ファイルのさらに別の図を表す。
【図5A】本発明に基づいたBIOSの動作フローチャートを表す。
【図5B】本発明に基づいたBIOSの動作フローチャートを表す。
【符号の説明】
【0044】
10 エディター
11,12 初期化文書
13,14,16 画像ファイル
15 ソース画像ファイル
20 第1ビルダー
30 第2ビルダー
40 書込み装置
50 OEM公開キー
60 SLPマーカー
100 更新システム

【特許請求の範囲】
【請求項1】
BIOSメモリのソース画像ファイルを更新する方法であって、
第1画像ファイルを作成し、システムロックプレインストール(SLP)2.0を支援するかどうかを表す機能設定と、前記機能設定に関連した第1および第2アドレス情報とを含む初期化文書をロードするステップと、
前記第1および第2アドレス情報に基づいて前記第1画像ファイルにSLPマーカーとOEM公開キーを書き込み、第2画像ファイルとする前記初期化文書をロードするステップと、
前記第2画像ファイルを前記BIOSメモリの前記ソース画像ファイルに書き込むステップと、
を含むことを特徴とする方法。
【請求項2】
前記初期化文書をロードし、前記第1画像ファイルを作成する第1ビルダーを提供するステップを更に含むことを特徴とする請求項1に記載の方法。
【請求項3】
前記初期化文書をロードし、前記第2画像ファイルを作成する第2ビルダーを提供するステップを更に含むことを特徴とする請求項2に記載の方法。
【請求項4】
前記第1ビルダーによって前記第2画像ファイルを作成する前記初期化文書をロードするステップを更に含むことを特徴とする請求項2に記載の方法。
【請求項5】
前記機能設定と、前記第1および第2アドレス情報と、を設定するエディターを提供するステップを更に含むことを特徴とする請求項1に記載の方法。
【請求項6】
記憶装置のソース画像ファイルを更新する方法であって、
第1画像ファイルを作成し、機能設定と、前記機能設定に関連した第1および第2アドレス情報とを含む初期化文書をロードするステップと、
前記第1および第2アドレス情報に基づいて前記第1画像ファイルに第2および第3画像ファイルを書き込み、第4画像ファイルとする初期化文書をロードするステップと、
前記第4画像ファイルを前記記憶装置の前記ソース画像ファイルに書き込むステップと、
を含むことを特徴とする方法。
【請求項7】
前記初期化文書をロードし、前記第1画像ファイルを作成する第1ビルダーを提供するステップを更に含むことを特徴とする請求項6に記載の方法。
【請求項8】
前記初期化文書をロードし、前記第4画像ファイルを作成する第2ビルダーを提供するステップを更に含むことを特徴とする請求項7に記載の方法。
【請求項9】
前記第1ビルダーによって前記第4画像ファイルを作成する前記初期化文書をロードするステップを更に含むことを特徴とする請求項7に記載の方法。
【請求項10】
前記機能設定と、前記第1および第2アドレス情報を設定するエディターを提供するステップを更に含むことを特徴とする請求項6に記載の方法。
【請求項11】
前記機能設定は、システムロックプレインストール(SLP)2.0を支援するかどうかを表すことを特徴とする請求項6に記載の方法。
【請求項12】
前記第2画像ファイルは、システムロックプレインストール(SLP)マーカーであることを特徴とする請求項6に記載の方法。
【請求項13】
前記第3画像ファイルは、OEM公開キーであることを特徴とする請求項6に記載の方法。
【請求項14】
前記記憶装置は、BIOSメモリであることを特徴とする請求項6に記載の方法。
【請求項15】
BIOSメモリのソース画像ファイルを更新するシステムであって、
機能設定と前記機能設定に関連した第1と第2アドレス情報とを含む初期化文書をロードし、第1画像ファイルを作成する第1ビルダーと、
前記初期化文書をロードし、前記第1および第2アドレス情報に基づいて前記第1画像ファイルに第2および第3画像ファイルを書き込み、第4画像ファイルを成す第2ビルダーと、
前記第4画像ファイルを前記記憶装置の前記ソース画像ファイルに書き込む書込み装置と、
を備えることを特徴とするシステム。
【請求項16】
前記機能設定と、前記第1および第2アドレス情報とを設定するエディターを更に備えることを特徴とする請求項15に記載のシステム。
【請求項17】
前記機能設定は、システムロックプレインストール(SLP)2.0を支援するかどうかを表すことを特徴とする請求項16に記載のシステム。
【請求項18】
前記第2画像ファイルは、前記SLP2.0のシステムロックプレインストール(SLP)マーカーであることを特徴とする請求項17に記載のシステム。
【請求項19】
前記第3画像ファイルは、OEM公開キーであることを特徴とする請求項18に記載のシステム。
【請求項20】
BIOSメモリのソース画像ファイルを更新し、システムロックプレインストール(SLP)2.0を支援する方法であって、
初期化文書と、SLPマーカーと、OEM公開キーとに基づいて画像ファイルを作成するステップと、
前記画像ファイルを前記BIOSメモリの前記ソース画像ファイルに書き込むことで前記BIOSメモリがSLP2.0を支援するステップと、
を含むことを特徴とする方法。

【図1】
image rotate

【図2】
image rotate

【図3A】
image rotate

【図3B】
image rotate

【図4】
image rotate

【図5A】
image rotate

【図5B】
image rotate


【公開番号】特開2009−59343(P2009−59343A)
【公開日】平成21年3月19日(2009.3.19)
【国際特許分類】
【出願番号】特願2008−112005(P2008−112005)
【出願日】平成20年4月23日(2008.4.23)
【出願人】(502361706)技嘉科技股▲ふん▼有限公司 (111)
【Fターム(参考)】