Nothing Special   »   [go: up one dir, main page]

JP5048526B2 - 計算機システム及びその計算機システムへのレガシーブート方法 - Google Patents

計算機システム及びその計算機システムへのレガシーブート方法 Download PDF

Info

Publication number
JP5048526B2
JP5048526B2 JP2008003333A JP2008003333A JP5048526B2 JP 5048526 B2 JP5048526 B2 JP 5048526B2 JP 2008003333 A JP2008003333 A JP 2008003333A JP 2008003333 A JP2008003333 A JP 2008003333A JP 5048526 B2 JP5048526 B2 JP 5048526B2
Authority
JP
Japan
Prior art keywords
bios
computer system
emulator
bootstrap
emulation
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.)
Expired - Fee Related
Application number
JP2008003333A
Other languages
English (en)
Other versions
JP2009169450A (ja
Inventor
晴美 大井川
孝 下城
晃 竹下
崇夫 戸塚
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2008003333A priority Critical patent/JP5048526B2/ja
Priority to US12/350,994 priority patent/US8671270B2/en
Publication of JP2009169450A publication Critical patent/JP2009169450A/ja
Application granted granted Critical
Publication of JP5048526B2 publication Critical patent/JP5048526B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1423Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2330/00Aspects of power supply; Aspects of display protection and defect management
    • G09G2330/02Details of power systems and of start or stop of display operation
    • G09G2330/026Arrangements or methods related to booting a display

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)

Description

本発明は、計算機システム及びその計算機システムへのレガシーブート方法に係り、特に、物理的なBIOS機構を備えていない計算機システムにレガシーオペレーティングシステムをブートすることができる計算機システム及びその計算機システムへのレガシーブート方法に関する。
計算機システムが備えるBIOS機構を必要とする古いタイプのオペレーティングシステムであるレガシーオペレーティングシステムのブート処理で行われるI/O装置に対する制御は、ブートストラップコードから発行されるINT命令によりBIOSがコールされ、ハードウェアに備える物理I/OデバイスのROMに組み込まれたBIOSコードを実行することにより行われている。従来、この制御は、ブート処理における低水準のI/O動作を仮想マシンのモニタ上で実現するに留まっている。
レガシーオペレーティングシステムのブーティングに関する従来技術として、例えば、特許文献1等に記載された技術が知られている。この従来技術は、仮想計算機上におけるI/O制御のセキュリティ向上を図る技術、BIOSコール時の拡張ファームウェアを使用した場合に、I/OデバイスのBIOSコードのエミュレーションを行う技術に関するものである。
特表2005−528665号公報
前述した従来技術は、仮想マシン上でベンダーが提供するI/Oデバイスドライバが複数動作する場合におけるセキュリティ対策に関する技術であり、仮想マシンモニタを持たない計算機システムで、かつ、BIOS機構が備わっていない計算機システムにおけるレガシーオペレーティングシステムのブートを実現する方法については配慮されていない。
一般に、新しいオペレーティングシステムのブートは、BIOS機構を必要としない方式が広がりつつあるが、現在に至ってもレガシーオペレーティングシステムの利用は多く見られる。BIOSの実装は、BIOSを提供するベンダーに依存しているため、ベンダーから提供されるBIOSは、拡張ファームウェアで計算機システムを提供する製造側にとっては拡張や改変に融通が利きにくいものである。
本発明の目的は、前述したような点に鑑み、BIOS機構を持たない計算機システムへのレガシーオペレーティングシステムのブーティングを可能とした計算機システム及びその計算機システムへのレガシーオペレーティングシステムのブート方法を提供することにある。
また、本発明の目的は、本来、BIOSコードをサポートしていないI/Oデバイスにおいてエミュレーションを行う際に、I/Oデバイスドライバが提供する初期化及びI/O駆動に関する実行コードそのもののエミュレーションを、I/Oデバイスベンダが提供するドライババイナリコードを利用して行うことを可能にした計算機システム及びその計算機システムへのレガシーオペレーティングシステムのブート方法を提供することにある。
上記目的を達成するため、本発明の第1の手段はCPU、メモリ、及びI/Oデバイスを備えた計算機と、I/Oデバイスに接続されたI/O装置と、を備えた計算機システムにおいて、メモリは、I/Oデバイスを駆動するための拡張ファームウェア及び計算機システムの初期動作で使用されるブートストラッププログラムを有し拡張ファームウェアは、BIOSエミュレータ及び複数のデバイスドライバを有し、計算機でI/OデバイスのI/O駆動を行う際、BIOSエミュレータは、ブートストラッププログラムからBIOSコールが発行されると処理を引き継いでBIOSスイッチングを判断した結果、当該I/Oデバイスがレガシーオペレーティングシステムの初期起動で使用されるブートストラップを動作するためのBIOS機構を搭載していれば当該処理を当該BIOSに引き渡し、BIOSサポートの当該I/Oデバイスの当該I/O駆動を行い、当該BIOS機構を搭載していなければ複数のデバイスドライバを使用して当該BIOS機構をエミュレーションして拡張ファームウェアを呼び出し、拡張ファームウェアサポートの当該I/Oデバイスの当該I/O駆動を行うことを特徴とする。また、本発明の第2の手段は、CPU、メモリ、及びI/Oデバイスを備えた計算機と、I/Oデバイスに接続されたI/O装置と、を備えた計算機システムへのレガシーブート方法において、メモリには、I/Oデバイスを駆動するための拡張ファームウェア及び計算機システムの初期動作で使用されるブートストラッププログラムを持たせ、拡張ファームウェアには、BIOSエミュレータ及び複数のデバイスドライバを持たせ、計算機でI/OデバイスのI/O駆動を行う際、BIOSエミュレータによって、ブートストラッププログラムからBIOSコールが発行されると処理を引き継いでBIOSスイッチングを判断した結果、当該I/Oデバイスがレガシーオペレーティングシステムの初期起動で使用されるブートストラップを動作するためのBIOS機構を搭載していれば当該処理を当該BIOSに引き渡し、BIOSサポートの当該I/Oデバイスの当該I/O駆動を行い、当該BIOS機構を搭載していなければデバイスドライバを使用して当該BIOS機構をエミュレーションして拡張ファームウェアを呼び出し、拡張ファームウェアサポートの当該I/Oデバイスの当該I/O駆動を行うステップを有することを特徴とする。
本発明によれば、BIOSエミュレータがブートストラッププログラムからのBIOSコール発行時にBIOS機構の搭載有無を判断した結果に応じて、BIOS機構を搭載していればBIOSサポートのI/OデバイスのI/O駆動を行い、BIOS機構を搭載していなければ拡張ファームウェアサポートのI/OデバイスのI/O駆動を行うため、BIOSコードを持たないベンダー提供のI/Oデバイス、及びBIOS機構を備えるI/Oデバイスの両方に対してレガシーオペレーティングシステムのブートを行うことが可能になる。
以下、本発明による計算機システム及びその計算機システムへのレガシーブート方法の実施形態を図面により詳細に説明する。
本発明の実施形態を説明する前に、まず、従来技術によるBIOS機構を必要とするレガシーペレーティングシステムが動作可能な計算機システムの構成について説明する。
図1は従来技術によるBIOS機構を必要とするレガシーペレーティングシステムが動作可能な計算機システムの構成例を示すブロック図である。
図1に示す計算機システムは、物理計算機としてマザーボード1上に構成されるものであり、マザーボード1の上に、CPU10、メモリ20、複数のI/Oデバイス301〜303が搭載され、I/Oデバイス301〜303のそれぞれにI/O装置401〜403が接続されて構成されている。そして、メモリ20には、I/Oデバイス301〜303のそれぞれに対応するBIOS3011〜3013がロードされる。
前述のように構成された計算機システムの電源オン、すなわち、パワーオンが実行されると、メモリ20には、マザーボード上に設けられている図示しないROM、あるいは、図示しない外部の記憶装置等から初期起動動作に必要なBIOS201とINTベクタ202とがロードされ、実装されているI/Oデバイス301〜303のデバイスのうち適切なブートデバイスを選択し、BIOS201の実行コードにより選択済みのデバイスのI/Oからレガシーペレーティングシステムのブートストラッププログラム203がロードされ、CPU10がブートストラッププログラム203の命令コードの実行を行う。
レガシーブートストラッププログラム203の命令コードには、BIOSコールを発行するINT命令が含まれ、ブートストラッププログラム203の中のINT命令が実行されると、ソフトウェアによる割り込み処理が発生し、INTベクタ202の設定に従って特定の割り込プログラムが実行される。この割込プログラムは、BIOSコードであり、I/Oデバイス301〜303のBIOSコードを実行してI/O装置401〜403の駆動制御を行う。このようなI/O装置401〜403の駆動制御により、1つのI/O装置からオペレーティングシステムが読み込まれて、計算機システムにブートされることになる。
図2は本発明の一実施形態によるBIOSエミュレータを搭載した計算機システムの構成例を示すブロック図である。
図2に示す計算機システムは、物理計算機あるいは仮想計算機としてマザーボード2上に構成されるものであり、マザーボード2の上に、CPU10、メモリ20、複数のI/Oデバイス301〜303が搭載され、I/Oデバイス301〜303のそれぞれにI/O装置401〜403が接続されて構成されている。そして、メモリ20には、I/Oデバイス301〜303のそれぞれに対応するBIOS3011〜3013がロードされる。そして、図2に示す計算機システムは、本発明により、拡張ファームウェア2010がメモリ20にロードされて構成される。拡張ファームウェア2010は、I/Oデバイスを駆動するための複数の拡張ファームウェアデバイスドライバ2011〜2013と、拡張ファームウェア2010をプラットフォームとするBIOSエミュレータ2020とが組み込まれて構成されている。
なお、前述したI/Oデバイス301〜303のそれぞれに対応するBIOS3011〜3013は、メモリカードとして提供される場合もあり、また、I/Oデバイス301〜303に備えられていない場合もある。
前述のように構成された本発明の実施形態による計算機システムの電源オン、すなわち、パワーオンが実行されると、メモリ20には、マザーボード上に設けられている図示しないROM、あるいは、図示しない外部の記憶装置等から拡張ファームウェア2010がロードされ、この拡張ファームウェア2010により、デバイスドライバ2011〜2013と、INTベクタ202とが適切にロードされ、また、ブートストラッププログラム230がロードされる。拡張ファームウェア2010は、BIOSエミュレータ2020をロードするよう拡張ファームウェア2010にバンドルする形態をとり、拡張ファームウェア2010によりBIOSエミュレータ2020がロードされる。
また、拡張ファームウェア2010は、実装されるI/Oデバイス301〜303のデバイス初期化を適切に実行し、I/Oデバイス301〜303のそれぞれに接続されているI/O装置401〜403の接続状況を確認して適切にブート可能なデバイスを検出する。図2に示す例では、I/O装置401がストレージデバイスであり、I/O装置401に、ブートストラップファイル501とオペレーティングシステムファイル502とが登録されているものとする。このとき、ブート起動I/OデバイスとしてのI/O装置401を起動選択すると、拡張ファームウェア2010により、I/Oデバイス301に対するデバイスドライバ2013のI/O駆動によりメモリ20にブートストラップファイル501がロードされブートストラッププログラム203が実行される。
ブートストラッププログラム203は、命令コードを順次実行し、やがてBIOSによるI/O動作を必要とするINT命令が実行され、このINT命令が実行されたときソフトウェア割り込みによりINTベクタ202が索引され、このベクタにリンクするBIOSエミュレータ2020のコード呼び出しを行い、BIOSエミュレーション/モード移行を得て拡張ファームウェア2010のデバイスドライバ2013の制御を行うことによりI/O駆動が実行される。このI/O駆動により、オペレーティングシステムが読み込まれて、計算機システムにブートされることになる。
図3はBIOSエミュレータ2010の処理動作を説明する図であり、次に、前述したBIOSエミュレーションの処理動作について説明する。
(1)メモリ2にロードされたINTベクタ202には、拡張ファームウェア2010の持つBIOSエミュレータベクタ2021が上書きされて設定されており、INT命令によりBIOSコールが発生すると、BIOSエミュレータベクタ2021は、BIOSエミュレータ2020にハンドリングする。
(2)BIOSエミュレータ2020は、最初にBIOSスイッチング2101を判断し、BIOSサポートのデバイスでありレガシーサポートのBIOSをコールする場合、元のBIOS INTハンドラ204に処理を引き渡し、従来通りのレガシーBIOSの実行によりBIOSサポートのI/Oデバイス3002のI/O駆動を行う。
(3)BIOSスイッチング2101の判断で、エミュレーションを行うとされた場合、INT発行時におけるソフト割り込みタイプを分析し割り込み発生時の情報保持等を行った後、BIOSモード、32/64ビットモード移行2103により、X86またはX64CPUアーキテクチャで動作するBIOSモードの16ビットモードから拡張ファームウェア2010が動作可能な32ビットプロテクトまたは64ビットモードに移行させる。
(4)その後、拡張ファームウェアエミュレーションコール2104を実行し、拡張ファームウェア2010を呼び出すことにより、拡張ファームウェア2010が持つI/Oドライバ2201により拡張ファームウェアサポートのI/Oデバイス3001のI/O駆動を行う。
前述したBIOSエミュレータ2020での処理によるI/O駆動の結果は、拡張ファームウェア2010より拡張ファームウェアエミュレーションコール2104に返送され、32/64ビットモードからBIOSモード移行2103に移され、BIOSスイッチング2101からINT発行元にBIOSコール結果として返送される。
なお、前述したエミュレーション処理において、拡張ファームウェア2010にBIOSサポートI/Oデバイス3002を制御するI/Oデバイスドライバ2201が実装されている場合、これらもエミュレーション可能となる。
図4はBIOSエミュレータ環境の初期化からブートストラップの実行に至るディスパッチングとBIOSコール時におけるBIOSエミュレータ及び拡張ファームウェアの処理動作を説明するシーケンスチャートであり、次に、これについて説明する。
(1)計算機システムがパワーオンされると、初動動作で拡張ファームウェア2010が起動され、拡張ファームウェア2010は、処理A4101によりBIOSエミュレータ2020の32/64ビットエミュレーション実行部421(図3に示すBIOSモード、32/64ビットモード移行2103に相当)を初期化する。
(2)その後、32/64ビットエミュレーション実行部421は、処理B4211によりBIOSエミュレータ2020のBIOSモード実行部422(図3に示す拡張ファームウェアエミュレーションコール2104に相当)のコード32/64ビットコード及びBIOSモード移行エミュレータの初期化を行う。
(3)また、32/64ビットエミュレーション実行部421は、処理C4212によりINTベクタをBIOSエミュレータH4223をエントリーとするように括り付けを行って初期化を行うと共に、処理D4213によりブートストラップファイルをメモリにロードした後、処理E4214によりBIOSモードエミュレーションディスパッチを行う。
(4)ディスパッチの後、BIOSモード実行部422は、処理F4222によりブート起動の起動準備を実施し、ブートストラッププログラム203のブートストラップコード430に実行を遷移させる。
(5)その後、ブートストラップコード430は、処理G4301の実行により、順次命令の実行を進め、BIOS実行の処理に必要なINT命令が出現するとBIOSコールによりBIOSエミュレータ2020のBIOSモード実行部422の処理H4223にハンドリングする。
(6)BIOSモード実行部422は、処理H4223によりBIOSモードから32/64ビットへのモード移行を行い、BIOSエミュレータ2020の32/64ビットモード実行部421の処理J4215をコールする。
(7)BIOSエミュレータ2020の32/64ビットモード実行部421は、処理J4215によりエミュレーション対応毎の動作要求が必要なI/Oデバイスの制御のための拡張ファームウェア2020の処理K4102を呼び出しI/O動作を実行させる。
(8)拡張ファームウェア2010は、処理K4102でのI/O動作結果を適切にBIOSエミュレータ2020の32/64ビットモード実行部421の処理L4216により受領させる。
(9)32/64ビットモード実行部421は、処理L4216によりBIOSモード移行を行い、BIOS実行部422に結果の報告を行う。BIOS実行部422は、処理M422を呼び出してエミュレーション結果をブートストラップコード430に返す。
(10)ブートストラップコード430は、処理N4302により、前回のINT命令直後の命令コードからの命令コードを順次実行す。以降ブートストラップコード430の実行でINT命令が発行されれば、処理G4301からのシーケンスをブートストラップ実行終了まで繰り返す。
前述した本発明の実施形態によれば、BIOSコードを持たないベンダー提供のI/Oデバイスに対して及びBIOS機構を備えるI/Oデバイスの両方に対してレガシーオペレーションシステムのブートを行うことが可能になる。また、本発明の実施形態によれば、ベンダー提供のデバイスドライバをそのままI/O駆動制御として使用することができるので、エミュレーションによる駆動制御の動作不具合や駆動中における性能には影響を及ぼさないため質を維持することができる。
前述した本発明の実施形態での拡張ファームウェアでの処理は、プログラムにより構成し、本発明が備えるCPUに実行させることができ、また、それらのプログラムは、FD、CDROM、DVD等の記録媒体に格納して提供することができ、また、ネットワークを介してディジタル情報により提供することができる。
前述した本発明の実施形態は、本発明を物理計算機に適用したものとして説明したが、本発明は、仮想計算機に対しても適用することができる。
本発明によれば、レガシーペレーティングシステムを利用している個人ユーザならびに企業サーバを提供するサーバ開発者にとって、拡張ファームウェアと併用してレガシー環境を提供する計算機システムの開発が可能になる。
従来技術によるBIOS機構を必要とするレガシーペレーティングシステムが動作可能な計算機システムの構成例を示すブロック図である。 本発明の一実施形態によるBIOSエミュレータを搭載した計算機システムの構成例を示すブロック図である。 BIOSエミュレータの処理動作を説明する図である。 BIOSエミュレータ環境の初期化からブートストラップの実行に至るディスパッチングとBIOSコール時におけるBIOSエミュレータ及び拡張ファームウェアの処理動作を説明するシーケンスチャートである。
符号の説明
1 マザーボード(物理計算機)
2 マザーボード(物理計算機)/仮想計算機
10 CPU
20 メモリ
201、3011〜3013 BIOS
202 INTベクタ
203 ブートストラッププログラム
301〜303 I/Oデバイス
401〜403 I/O装置
2010 拡張ファームウェア
2011〜2013 デバイスドライバ
2020 BIOSエミュレータ

Claims (8)

  1. CPU、メモリ、及びI/Oデバイスを備えた計算機と、前記I/Oデバイスに接続されたI/O装置と、を備えた計算機システムにおいて、
    前記メモリは、前記I/Oデバイスを駆動するための拡張ファームウェア及び前記計算機システムの初期動作で使用されるブートストラッププログラムを有し
    前記拡張ファームウェアは、BIOSエミュレータ及び複数のデバイスドライバを有し、
    前記計算機で前記I/OデバイスのI/O駆動を行う際、前記BIOSエミュレータは、前記ブートストラッププログラムからBIOSコールが発行されると処理を引き継いでBIOSスイッチングを判断した結果、当該I/Oデバイスがレガシーオペレーティングシステムの初期起動で使用されるブートストラップを動作するためのBIOS機構を搭載していれば当該処理を当該BIOS機構に引き渡し、BIOSサポートの当該I/Oデバイスの当該I/O駆動を行い、当該BIOS機構を搭載していなければ前記デバイスドライバを使用して当該BIOS機構をエミュレーションして前記拡張ファームウェアを呼び出し、拡張ファームウェアサポートの当該I/Oデバイスの当該I/O駆動を行わせることを特徴とする計算機システム。
  2. 請求項1記載の計算機システムにおいて、前記BIOSエミュレータは、前記BIOS機構のBIOS動作のエミュレーションの実行時に、前記ブートストラップ実行中の前記BIOSコール発生毎に、X86またはX64CPUアーキテクチャのCPU動作モードの16ビットリアルモードから、前記拡張ファームウェアエミュレーション実行環境時の32ビットプロテクトモードまたは64ビットモードへのCPU動作モード移行処理を実行することにより、当該ブートストラップ処理側で当該BIOS動作モードを変更することなくエミュレーションを行うことを特徴とする計算機システム。
  3. 請求項1記載の計算機システムにおいて、前記BIOSエミュレータは、エミュレーション対象として搭載される前記I/Oデバイス中の前記BIOSサポートさていないI/Oデバイスに対して、前記拡張ファームウェアがサポートするI/OデバイスをBIOSエミュレーションの対象とすることを特徴とする計算機システム。
  4. 請求項1記載の計算機システムにおいて、前記BIOSエミュレータは、搭載される前記I/Oデバイスに対応するカードにより提供されるBIOSコードを使用することなく、前記デバイスドライバを使用したI/O駆動によりエミュレーションを行うことを特徴とする計算機システム。
  5. 請求項1記載の計算機システムにおいて、前記BIOSエミュレータは、前記ブートストラッププログラムから発行される前記BIOSコール命令のINT命令に対する割り込みイベントを前記拡張ファームウェアに処理させるよう渡し、命令コードのデコード、解釈の変更を要するエミュレーション行わずに当該拡張ファームウェアに前記I/O処理を肩代わりさせることを特徴とする計算機システム。
  6. CPU、メモリ、及びI/Oデバイスを備えた計算機と、前記I/Oデバイスに接続されたI/O装置と、を備えた計算機システムへのレガシーブート方法において、
    前記メモリには、前記I/Oデバイスを駆動するための拡張ファームウェア及び前記計算機システムの初期動作で使用されるブートストラッププログラムを持たせ、
    前記拡張ファームウェアは、BIOSエミュレータ及び複数のデバイスドライバを持たせ、
    前記計算機で前記I/OデバイスのI/O駆動を行う際、前記BIOSエミュレータによって、前記ブートストラッププログラムからBIOSコールが発行されると処理を引き継いでBIOSスイッチングを判断した結果、当該I/Oデバイスがレガシーオペレーティングシステムの初期起動で使用されるブートストラップを動作するためのBIOS機構を搭載していれば当該処理を当該BIOS機構に引き渡し、BIOSサポートの当該I/Oデバイスの当該I/O駆動を行い、当該BIOS機構を搭載していなければ前記デバイスドライバを使用して当該BIOS機構をエミュレーションして前記拡張ファームウェアを呼び出し、拡張ファームウェアサポートの当該I/Oデバイスの当該I/O駆動を行うステップを有することを特徴とする計算機システムへのレガシーブート方法。
  7. 請求項6記載の計算機システムへのレガシーブート方法において、前記BIOSエミュレータは、前記BIOS機構のBIOS動作のエミュレーションの実行時に、前記ブートストラップ実行中の前記BIOSコール発生毎に、X86またはX64CPUアーキテクチャのCPU動作モードの16ビットリアルモードから、前記拡張ファームウェアエミュレーション実行環境時の32ビットプロテクトモードまたは64ビットモードへのCPU動作モード移行処理を実行することにより、当該ブートストラップ処理側で当該BIOS動作モードを変更することなくエミュレーションを行うことを特徴とする計算機システムへのレガシーブート方法。
  8. 請求項6記載の計算機システムへのレガシーブート方法において、前記拡張ファームウェアに前記BIOS機構が搭載されている計算機システムのI/Oデバイスのドライバを実装し、前記BIOSエミュレータ前記ドライバを使用してBIOS動作のエミュレーションを実行可能とし、前記拡張ファームウアを使用した当該BIOS機構を持つ計算機システムが必要とする前記レガシーオペレーティングシステムのブートを行うことを特徴とする計算機システムへのレガシーブート方法。
JP2008003333A 2008-01-10 2008-01-10 計算機システム及びその計算機システムへのレガシーブート方法 Expired - Fee Related JP5048526B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008003333A JP5048526B2 (ja) 2008-01-10 2008-01-10 計算機システム及びその計算機システムへのレガシーブート方法
US12/350,994 US8671270B2 (en) 2008-01-10 2009-01-09 System connected to a memory for storing an extended firmware having a bios emulator in which the bios emulator is overwritten using a interruption vector for handling a bios call

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008003333A JP5048526B2 (ja) 2008-01-10 2008-01-10 計算機システム及びその計算機システムへのレガシーブート方法

Publications (2)

Publication Number Publication Date
JP2009169450A JP2009169450A (ja) 2009-07-30
JP5048526B2 true JP5048526B2 (ja) 2012-10-17

Family

ID=40900421

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008003333A Expired - Fee Related JP5048526B2 (ja) 2008-01-10 2008-01-10 計算機システム及びその計算機システムへのレガシーブート方法

Country Status (2)

Country Link
US (1) US8671270B2 (ja)
JP (1) JP5048526B2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5316432B2 (ja) * 2010-01-19 2013-10-16 富士通株式会社 ネットワークコントローラの制御方法、プログラム及び情報処理装置
KR101805627B1 (ko) * 2011-11-28 2017-12-08 삼성전자주식회사 컴퓨터 시스템의 부팅 제어 방법 및 이를 수행하는 부팅 제어 장치
US9558012B2 (en) * 2013-02-21 2017-01-31 Applied Micro Circuits Corporation System boot with external media
EP2980699B1 (en) 2013-03-29 2017-08-16 Fujitsu Limited Program, information processing system, and program migration method
CN104516742B (zh) * 2013-09-26 2018-08-10 联想(北京)有限公司 一种信息处理方法及电子设备
JP6194764B2 (ja) * 2013-11-08 2017-09-13 富士通株式会社 情報処理装置、制御方法、および制御プログラム
CN104360710B (zh) * 2014-10-22 2018-07-24 技嘉科技股份有限公司 可切换外接显示端口的显示电路
TWI522806B (zh) * 2014-10-22 2016-02-21 Giga Byte Tech Co Ltd You can switch the display circuit of the external display port
US10360051B2 (en) * 2014-12-22 2019-07-23 International Business Machines Corporation Emulated device firmware testable by native operating system tools
US9542201B2 (en) * 2015-02-25 2017-01-10 Quanta Computer, Inc. Network bios management
US20170269942A1 (en) * 2016-03-17 2017-09-21 MSI Computer (Shenzhen) Co., Ltd Method for setting redundant array of independent disks

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04213119A (ja) * 1990-11-27 1992-08-04 Toshiba Corp コンピュータシステム
US6006029A (en) * 1993-09-28 1999-12-21 Bull Hn Information Systems Inc. Emulating disk drives of a first system on a second system
JPH07103529A (ja) 1993-10-07 1995-04-18 Fujita Corp 排気促進装置
JP3861304B2 (ja) * 1994-12-09 2006-12-20 セイコーエプソン株式会社 エミュレーション装置およびその方法
US6081890A (en) * 1998-11-30 2000-06-27 Intel Corporation Method of communication between firmware written for different instruction set architectures
US20050114639A1 (en) * 2001-05-11 2005-05-26 Zimmer Vincent J. Hardened extensible firmware framework to support system management mode operations using 64-bit extended memory mode processors
US7103529B2 (en) 2001-09-27 2006-09-05 Intel Corporation Method for providing system integrity and legacy environment emulation
US6961848B2 (en) * 2001-12-11 2005-11-01 Intel Corporation System and method for supporting legacy operating system booting in a legacy-free system
EP1378830B1 (en) * 2002-06-28 2006-04-05 Hewlett-Packard Company Operating system selector and data storage drive
US7343591B2 (en) * 2002-08-01 2008-03-11 Texas Instruments Incorporated Real-time data exchange on demand
US7103767B2 (en) * 2003-09-30 2006-09-05 Intel Corporation Method and apparatus to support legacy master boot record (MBR) partitions
US7191328B2 (en) * 2004-07-20 2007-03-13 Hewlett-Packard Development Company, L.P. System and method for using an extensible firmware interface (EFI) utility to build an EFI layer between an operating system and a legacy basic input/output system during a boot process
US7571090B2 (en) * 2004-09-30 2009-08-04 Intel Corporation Emulating a host architecture in guest firmware
US7484083B1 (en) * 2005-10-07 2009-01-27 American Megatrends, Inc. Method, apparatus, and computer-readable medium for utilizing BIOS boot specification compliant devices within an extensible firmware interface environment
TW200807301A (en) * 2006-07-18 2008-02-01 Via Tech Inc Read-only memory simulator and its method
US7958343B2 (en) * 2006-09-08 2011-06-07 Hewlett-Packard Development Company, L.P. BIOS bootable RAID support
US8458726B2 (en) * 2007-12-03 2013-06-04 Intel Corporation Bios routine avoidance
US8099274B2 (en) * 2007-03-30 2012-01-17 International Business Machines Corporation Facilitating input/output processing of one or more guest processing systems

Also Published As

Publication number Publication date
US20090193244A1 (en) 2009-07-30
JP2009169450A (ja) 2009-07-30
US8671270B2 (en) 2014-03-11

Similar Documents

Publication Publication Date Title
JP5048526B2 (ja) 計算機システム及びその計算機システムへのレガシーブート方法
US10613773B2 (en) Backing up firmware during initialization of device
JP6124994B2 (ja) レガシーos環境から統合拡張可能ファームウェア・インターフェース(uefi)ブート前環境への復元を行うための方法およびシステム、ならびにコンピュータ・プログラム
US8407396B2 (en) Providing block data access for an operating system using solid-state memory
JP6130617B1 (ja) ハイパーバイザーを有するシステム
US8291209B2 (en) Integration model for instant-on environment
EP1873638A1 (en) Portable apparatus supporting multiple operating systems and supporting method therefor
CN103988181B (zh) 用于给虚拟映像打补丁的方法和系统
US7721080B2 (en) Management of option ROM
WO2007045133A1 (fr) Systeme informatique et procede pouvant realiser une verification d’integrite
US20010039612A1 (en) Apparatus and method for fast booting
CN113326105B (zh) 基于主机迁移的硬件设备配置方法、装置及设备
KR20130068630A (ko) 임베디드 디바이스의 초기화 방법 및 장치
KR101212273B1 (ko) 가상화 기술 기반의 고속 부팅 장치 및 방법
US20090198988A1 (en) Method for verifying refreshed bios content
CN111966470A (zh) 虚拟机监控器的加载方法、装置和电子设备
KR20180067581A (ko) 예외 처리
US20220147343A1 (en) Tranistionary firmware packages
JP3033713B2 (ja) 仮想計算機エミュレート装置
JP3945405B2 (ja) コンピュータシステム及びコンピュータシステムのブートデバイス初期化方法
CN114385255B (zh) Pos机的控制方法、系统、装置以及计算可读介质
CN117075973A (zh) 一种基于RISC-V服务器CPU的新型LinuxBoot启动引导方法及系统
JPH1021088A (ja) コンピュータシステム
CA2524455A1 (en) System and method for virtualizing basic input/output system (bios) including bios run time services

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100809

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120413

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120424

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120606

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120703

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120719

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150727

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5048526

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees