BIOS

ウィキペディアから、無料の百科事典
ナビゲーションにジャンプ 検索にジャンプ

1980年代のDell310コンピュータ用のAMDBIOSチップのペア

コンピューティングは、BIOS/ ˈbaɪɒs-oʊs / BY -oss、-⁠ohss ;基本入力/出力システムシステムBIOSROM BIOSBIOS ROM、またはPC BIOSとも呼ばれます))が使用されるファームウェアです。オペレーティングシステムとプログラムにランタイムサービスを提供し、起動プロセス(電源投入時の起動)中にハードウェアの初期化を実行します。[1]BIOSファームウェアは、 IBMPCまたはIBMPC互換機のシステムボードにプリインストールされており、UEFIベースのシステムにも存在します。[2] [3]この名前は、1975年にCP / Mオペレーティングシステムで使用された基本入出力システムに由来します。 [4] [5]元々 IBMPCが所有していたBIOSは、一部の企業によってリバースエンジニアリングされています(フェニックステクノロジーズとして)互換性のあるシステムを作成しようとしています。その元のシステムのインターフェースは、事実上の標準として機能します。

最新のPCのBIOSは、システムハードウェアコンポーネントを初期化してテストし(電源投入時自己診断)、大容量記憶装置からブートローダーをロードしてオペレーティングシステムを初期化します。DOSの時代、BIOSは、キーボード、ディスプレイ、ストレージ、およびアプリケーションプログラムとオペレーティングシステムへのインターフェイスを標準化したその他の入出力(I / O)デバイスにBIOS割り込み呼び出しを提供しました。最近のオペレーティングシステムは、起動後にBIOS割り込み呼び出しを使用しません。[6]

ほとんどのBIOS実装は、さまざまなデバイス、特にシステムチップセットとインターフェイスすることにより、特定のコンピューターまたはマザーボードモデルで動作するように特別に設計されています元々、BIOSファームウェアはPCマザーボード上のROMチップに保存されていました。後のコンピュータシステムでは、BIOSの内容はフラッシュメモリに保存されるため、マザーボードからチップを取り外さなくても書き換えることができます。これにより、エンドユーザーがBIOSファームウェアを簡単に更新できるため、新しい機能を追加したり、バグを修正したりできますが、コンピューターがBIOSルートキットに感染する可能性もあります。さらに、BIOSアップグレードが失敗すると、マザーボードがブリックする可能性があります。の最後のバージョンBIOSファームウェアを使用するPCで実行されているMicrosoftWindowsはWindows10です。

Unified Extensible Firmware Interface(UEFI)は、従来のPC BIOSの後継であり、その技術的限界に対処することを目的としています。[7]

歴史

/ * CP / MBASICI / OSYSTEM(BIOS)
                    著作権(C)ゲイリー・A・キルドール
                             1975年6月* /
[…]
/ * BASICDISKOPERATINGSYS TEM(BDOS)
                    著作権(C)ゲイリー・A・キルドール
                            1975年6月* /
— ローレンスリバモアラボラトリーズ(LLL)のCP / M1.1または1.2のPL / MソースコードのBDOS.PLMファイルヘッダーからの抜粋[4]

BIOS(基本入出力システム)という用語は、Gary Kildall [8] [9]によって作成され、1975年にCP / Mオペレーティングシステムに最初に登場しました[4] [5] [9] [10] [11] [ 12]ハードウェアと直接インターフェースする起動時にロードされるCP / Mのマシン固有の部分を説明します[5] (CP / Mマシンは通常、ROMに単純なブートローダーしかありません。)

MS-DOSPC DOS、またはDR-DOSのバージョンには、さまざまな「 IO.SYS」、「 IBMBIO.COM」、「 IBMBIO.SYS」、または「DRBIOS.SYS」と呼ばれるファイルが含まれています。このファイルは「DOSBIOS」(「DOS I / Oシステム」とも呼ばれます)と呼ばれ、オペレーティングシステムの下位レベルのハードウェア固有の部分が含まれています。ROMに常駐する、基盤となるハードウェア固有であるがオペレーティングシステムに依存しない「システムBIOS」とともに、「 CP / MBIOS」に類似したものを表します

もともとIBMPCが所有していたBIOSは、互換性のあるシステムの作成を検討している一部の企業(Phoenix Technologiesなど) によってリバースエンジニアリングされまし

PS / 2マシンの導入により、IBMはシステムBIOSを実モードと保護モードの部分に分割しました。リアルモード部分は、DOSなどの既存のオペレーティングシステムとの下位互換性を提供することを目的としていたため、「CBIOS」(「互換性BIOS」の略)と名付けられましたが、「ABIOS」(「高度なBIOS」の略)は、特に新しいインターフェイスを提供しました。OS / 2などのマルチタスクオペレーティングシステムに適しています[13]

ユーザーインターフェイス

元のIBMPCおよびXTのBIOSには、対話型のユーザーインターフェイスがありませんでした。エラーコードまたはメッセージが画面に表示されるか、電源投入時自己診断(POST)がビデオディスプレイアダプタの初期化に成功しなかったときにエラーを通知するためにコード化された一連の音が生成されました。IBM PCおよびXTのオプションは、メインボードおよび拡張カードのスイッチとジャンパーによって設定されました。1990年代半ば頃から、BIOS ROMに「BIOS構成ユーティリティ」(BCU [14])が含まれるようになりました。)または「BIOSセットアップユーティリティ」。特定のキーシーケンスによってシステムの電源投入時にアクセスされます。このプログラムにより、ユーザーは、キーボードで制御されるインタラクティブメニューシステムを介して、以前はDIPスイッチを使用して設定されていたタイプのシステム構成オプションを設定できました。暫定期間中、IBM互換PC(IBM ATを含む)はバッテリバックアップRAMに構成設定を保持し、ROMではなくフロッピーディスクに起動可能な構成プログラムを使用して、このメモリに含まれる構成オプションを設定しました。フロッピーディスクはコンピュータに付属しており、紛失した場合はシステム設定を変更できませんでした。同じことが、構成プログラムがEISA構成ユーティリティ(ECU)と呼ばれる EISAバスを備えたコンピューターに一般的に適用されます。

最新のWintel互換コンピュータは、1990年代後半のROM常駐BIOSセットアップユーティリティから本質的に変更されていないセットアップルーチンを提供します。ユーザーは、キーボードとビデオディスプレイを使用してハードウェアオプションを構成できます。最新のWintelマシンは、BIOS構成設定をフラッシュROM、おそらくBIOS自体を保持しているのと同じフラッシュROMに保存する場合があります。

操作

システム起動

初期のIntelプロセッサは、物理アドレス000FFFF0hで起動しました。それ以降のプロセッサを搭載したシステムは、システムROMからBIOSの実行を開始するロジックを提供します。 [15]

システムの電源を入れたばかりの場合、またはリセットボタンが押された場合(「コールドブート」)、完全な電源投入時自己診断(POST)が実行されます。Ctrl + Alt + Deleteが押された場合(「ウォームブート」)、 BIOSによってテストされた不揮発性BIOSメモリ(「CMOS」)に保存された特別なフラグ値により、長いPOSTとメモリ検出をバイパスできます。

POSTは、CPUチップセットRAMマザーボードビデオカードキーボードマウスハードディスクドライブ光ディスクドライブ、および統合周辺機器を含むその他のハードウェアなどのシステムデバイスを識別、テスト、および初期化します。

初期のIBMPCには、POSTに、キーボードポートを介してプログラムをRAMにダウンロードして実行するルーチンがありました。[16] [17]この機能は、工場でのテストまたは診断を目的としています。

起動プロセス

起動プロセス

オプションROMスキャンが完了し、有効なチェックサムで検出されたすべてのROMモジュールが呼び出された後、またはオプションROMをスキャンしないBIOSバージョンでPOSTが実行された直後に、BIOSはINT19hを呼び出してブート処理を開始します。起動後、ロードされたプログラムはINT 19hを呼び出してシステムを再起動することもできますが、BIOSの再起動プロセスに干渉する可能性のある割り込みやその他の非同期ハードウェアプロセスを無効にするように注意する必要があります。そうしないと、システムが再起動中にハングまたはクラッシュする可能性があります。 。

INT 19hが呼び出されると、BIOSは、ハードディスクフロッピーディスクCDDVDなどの「ブートデバイス」上のブートローダーソフトウェアを見つけようとします検出した最初のブートソフトウェアをロードして実行し、PCを制御できるようにします。[18]

BIOSは、不揮発性BIOSメモリCMOS )に設定されたブートデバイス、または初期のPCではDIPスイッチを使用します。BIOSは、最初のセクター(ブートセクター)をロードしようとして、デバイスが起動可能かどうかを確認するために各デバイスをチェックしますセクターを読み取ることができない場合、BIOSは次のデバイスに進みます。セクターが正常に読み取られると、一部のBIOSは、ブートセクターを受け入れてデバイスを起動可能と見なす前に、セクターの最後の2バイト(512バイト長)のブートセクター署名0x550xAAもチェックします。[nb 1]

起動可能なデバイスが見つかると、BIOSはロードされたセクターに制御を移します。BIOSは、最後の2バイトのブートセクター署名をチェックする以外に、ブートセクターの内容を解釈しません。パーティションテーブルやBIOSパラメータブロックなどのデータ構造の解釈は、ブートセクタ自体のブートプログラム、またはブートプロセスを通じてロードされた他のプログラムによって行われます。

ネットワークアダプタなどの非ディスクデバイスは、オプションROMまたはマザーボードのBIOSROMに統合されている同等の手順で定義された手順で起動を試みます。そのため、オプションROMは、マザーボードのBIOSROMによって定義された起動プロセスに影響を与えたり置き換えたりする場合もあります。

El Toritoオプティカルメディアブート標準では、オプティカルドライブは実際にブート目的で3.5インチの高密度フロッピーディスクをBIOSにエミュレートします。CD-ROMまたはDVD-ROMの「最初のセクター」の読み取りは単純に定義された操作ではありません。フロッピーディスクやハードディスクのように。さらに、メディアが複雑なため、1つのセクターで有用なブートプログラムを作成することは困難です。ブート可能な仮想フロッピーディスクには、ネイティブの光学メディアへのアクセスを提供するソフトウェアを含めることができます。フォーマット。

起動優先度

ユーザーは、BIOSによって実装された起動優先度を選択できます。たとえば、ほとんどのコンピュータには起動可能なハードディスクがありますが、起動優先度の高いリムーバブルメディアドライブがある場合があるため、ユーザーはリムーバブルディスクを起動させることができます。

最近のほとんどのBIOSでは、起動の優先順位はユーザーが構成できます。古いBIOSでは、制限付きの起動優先度オプションを選択できます。初期のBIOSでは、固定優先順位スキームが実装され、フロッピーディスクドライブが最初で、固定ディスク(つまり、ハードディスク)が2番目であり、通常、他のブートデバイスはサポートされていませんが、インストールされたオプションROMによってこれらのルールが変更されます。また、初期のPCのBIOSは、2つのドライブがインストールされている場合でも、通常、最初のフロッピーディスクドライブまたは最初のハードディスクドライブからのみ起動します。

起動失敗

のIBMPCおよびXTでは、起動可能なディスクが見つからなかった場合、INT18hを呼び出すことによってROMBASICが開始されました。ROMでBASICを使用するプログラムはほとんどないため、クローンPCメーカーはそれを省略しました。次に、ディスクからの起動に失敗したコンピューターは、「ROM BASICなし」と表示して停止します(INT 18hに応答して)。

それ以降のコンピュータでは、「起動可能なディスクが見つかりません」などのメッセージが表示されます。ディスクを挿入し、キーを押して起動プロセスを再試行するように求めるメッセージもあります。最新のBIOSは、何も表示しないか、起動プロセスが失敗したときにBIOS構成ユーティリティに自動的に入る場合があります。

ブート環境

ブートプログラムの環境は非常に単純です。CPUはリアルモードであり、SS、SP、CS、およびDLを除いて、汎用レジスタとセグメントレジスタは未定義です。CS:IPは常に物理アドレスを指します0x07C00CSとIPが実際に持つ値は明確に定義されていません。一部のBIOSはのCS:IPを使用しますが0x0000:0x7C00、他のBIOSはを使用する場合があります0x07C0:0x0000ブートプログラムは常にこの固定アドレスにロードされるため、ブートプログラムを再配置可能にする必要はありません。INT 13hで使用されるように、DLにはドライブ番号が含まれる場合があります、ブートデバイスの。SS:SPは、おそらくハードウェア割り込みをサポートするのに十分な大きさの有効なスタックを指しますが、それ以外の場合、SSとSPは未定義です。(割り込みを処理するには、スタックがすでに設定されている必要があります。また、BIOSが少なくとも時刻カウントを維持するために常に使用し、初期化するシステムタイマーティック割り込みを有効にするには、割り込みを有効にする必要があります。 POST中にアクティブになり、キーボードが機能するようになります。BIOSキーボードサービスが呼び出されなくてもキーボードは機能します。キーストロークが受信され、BIOSによって維持される15文字の先行先行バッファに配置されます。)ブートプログラムは設定する必要があります。 BIOSによって設定されたスタックのサイズは不明であり、その場所も同様に可変であるため、独自のスタックをアップします。ブートプログラムはSS:SPを調べることでデフォルトのスタックを調査できますが、

起動時には、すべてのBIOSサービスが利用可能であり、アドレスの下のメモリには割り込みベクタテーブル0x00400が含まれていますBIOS POSTは、システムタイマー、割り込みコントローラー、DMAコントローラー、およびその他のマザーボード/チップセットハードウェアを必要に応じて初期化して、すべてのBIOSサービスを準備完了状態にします。コンベンショナルメモリと拡張メモリ(必ずしも拡張メモリである必要はありません)のすべてのシステムDRAMのDRAMリフレッシュが設定され、実行されています。割り込みベクタBIOS割り込みに対応して、BIOSの適切なエントリポイントを指すように設定され、BIOSによって初期化されたデバイスのハードウェア割り込みベクトルは、BIOSが提供するISRを指すように設定され、BIOSが生成するものを含む他のいくつかの割り込みがあります。プログラムがフックするために、すぐに戻るデフォルトのダミーISRに設定されています。BIOSは0x00400–0x004FF、POST中に初期化されたさまざまなパラメータを持つアドレスにシステムRAMの予約ブロックを維持します。アドレス以上のすべてのメモリは0x00500、ブートプログラムで使用できます。それ自体を上書きすることさえあります。

拡張機能(オプションROM)

ハードディスクドライブのホストバスアダプタビデオカードなどの周辺機器カードには独自のファームウェアがあり、BIOS拡張オプションROMは、BIOSに追加機能を提供する拡張カードファームウェアの一部である場合があります。オプションROMのコードは、BIOSが大容量記憶装置からオペレーティングシステムを起動する前に実行されますこれらのROMは通常、ハードウェアのテストと初期化、新しいBIOSサービスの追加、または既存のBIOSサービスを独自のサービスに置き換えます。たとえば、SCSIコントローラには通常、そのコントローラを介して接続されたハードドライブのサポートを追加するBIOS拡張ROMがあります。拡張ROMには、原則としてオペレーティングシステムを含めることも、次のようなまったく異なるブートプロセスを実装することもできます。ネットワークブーティングIBM互換コンピュータシステムの動作は、BIOS拡張ROMを含むアダプタカード(またはROMチップ)を取り外したり挿入したりすることで完全に変更できます。

マザーボードのBIOSには通常、統合ディスプレイと統合ストレージを初期化およびブートストラップするためのコードが含まれています。さらに、SCSIRAIDネットワークインターフェイスカードビデオカードなどのプラグインアダプタカードには、多くの場合、特定のコンポーネントのシステムBIOSコードを補完または置換する独自のBIOS(ビデオBIOSなど)が含まれています。マザーボードに組み込まれているデバイスでさえ、このように動作できます。それらのオプションROMは、マザーボードBIOSの一部にすることができます。

カードがマザーボードBIOSでサポートされておらず、オペレーティングシステムをロードする前にカードを初期化するかBIOSサービスからアクセスできるようにする必要がある場合、アドインカードにはオプションROMが必要です(通常、これは起動プロセスで必要であることを意味します) )。一部の初期のPCシステム(特にIBM PCjrを含む)でのROMの追加の利点は、ROMがメインシステムのRAMよりも高速であったことです。(最近のシステムでは、ケースはこれとはまったく逆であり、BIOS ROMコードは通常RAMにコピー(「シャドウ」)されるため、より高速に実行されます。)

起動手順

拡張ROMがシステムの起動方法(ネットワークデバイスやSCSIアダプターなど)を協調的に変更したい場合は、BIOSブート仕様(BBS)APIを使用してその機能を登録できます。拡張ROMがBBSAPIを使用して登録されると、ユーザーはBIOSのユーザーインターフェイス内から使用可能なブートオプションから選択できます。これが、ほとんどのBBS準拠のPC BIOS実装では、拡張ROMの実行とBBS APIへの登録が完了するまで、ユーザーがBIOSのユーザーインターフェイスに入ることができない理由です。[要出典]

また、拡張ROMがシステムの一方的な起動方法を変更したい場合は、INT 19hまたは割り込み19hから通常呼び出される他の割り込み(BIOSディスクサービスであるINT 13hなど)をフックして、BIOS起動プロセスをインターセプトできます。次に、BIOSブートプロセスを独自のものに置き換えるか、独自のブートアクションを挿入するか、BIOSが特定のデバイスをブート可能として検出しないようにするか、またはその両方によって、ブートシーケンスを変更するだけです。BIOSブート仕様が公布される前は、これが拡張ROMがマザーボードのネイティブBIOSによるブートをサポートしていないデバイスのブート機能を実装する唯一の方法でした。[要出典]

初期化

マザーボードBIOSがPOSTを完了した後、ほとんどのBIOSバージョンは、BIOS拡張ROMとも呼ばれるオプションROMモジュールを検索し、それらを実行します。マザーボードのBIOSは、「アッパーメモリエリア」の一部(アドレス0xA0000以上のx86リアルモードアドレス空間の一部)で拡張ROMをスキャンし、見つかった各ROMを順番に実行します。メモリマップドオプションROMを検出するために、BIOS実装はリアルモードアドレス空間を2 KB(2,048バイト)境界でスキャン0x0C00000x0F0000、  2バイトのROM署名(0x55の後に0xAA )を探します。有効な拡張ROMでは、この署名の後に、拡張ROMが実メモリで占有する512バイトのブロック数を示す1バイトが続き、次のバイトはオプションROMです。エントリポイント(「エントリオフセット」とも呼ばれます)。ROMに有効なチェックサムがある場合、BIOSは制御をエントリアドレスに転送します。通常のBIOS拡張ROMでは、拡張の初期化ルーチンの開始になります。

この時点で、拡張ROMコードが引き継ぎ、通常、それが制御するハードウェアをテストおよび初期化し、ブート後のアプリケーションで使用するために割り込みベクトルを登録します。BIOSサービス(以前に初期化されたオプションROMによって提供されるサービスを含む)を使用して、ユーザー構成インターフェイスを提供したり、診断情報を表示したり、その他必要なことを実行したりする場合があります。オプションROMがBIOSに戻らず、BIOSのブートシーケンスが完全に横取りされる可能性があります。

オプションROMは通常、初期化プロセスの完了後にBIOSに戻る必要があります。オプションROMが戻ると、BIOSはさらにオプションROMを検索し続け、メモリスペースのオプションROM領域全体がスキャンされるまで、見つかったときにそれぞれを呼び出します。

物理的な配置

チップを交換して更新されたDell310のBIOSチップ

オプションROMは通常、アダプタカードにあります。ただし、元のPC、およびおそらくPC XTには、マザーボード上に予備のROMソケット(IBMの用語では「システムボード」)があり、そこにオプションROMを挿入できます。BASICインタープリターを含む4つのROMには、また、削除して、オプションROMにすることができるカスタムROMに置き換えます。IBM PCjr前面に2つのROMカートリッジスロットがあるという点で、PCの中でもユニークです。これらのスロットのカートリッジは、オプションROMに使用される上位メモリ領域の同じ領域にマップされ、カートリッジには、BIOSが認識するオプションROMモジュールを含めることができます。カートリッジには、BASICプログラムなど、異なる方法で処理される他のタイプのROMモジュールを含めることもできます。1つのPCjrカートリッジには、異なるタイプの複数のROMモジュールを含めることができ、1つのROMチップに一緒に格納される場合があります。

オペレーティングシステムサービス

BIOS ROMは特定のメーカーのハードウェアに合わせてカスタマイズされているため、オペレーティングシステムを含むプログラムに標準化された方法で低レベルのサービス(キーストロークの読み取りやデータのセクターのディスケットへの書き込みなど)を提供できます。たとえば、IBM PCにはモノクロまたはカラーのディスプレイアダプタ(異なるディスプレイメモリアドレスとハードウェアを使用)がありますが、単一の標準BIOSシステム呼び出しを呼び出して、画面上の指定された位置に文字を表示することができます。テキストモードまたはグラフィックモード

BIOSは、周辺機器(キーボード、基本的なテキストおよびグラフィックス表示機能など)を操作するための基本的な入出力機能の小さなライブラリを提供します。MS-DOSを使用する場合、BIOSサービスには、アプリケーションプログラム(またはMS-DOS)から、ディスク機能にアクセスするためのINT 13h割り込み命令を実行するか、ビデオにアクセスするために文書化された他のBIOS割り込み呼び出しの1つを実行することによってアクセスできます。ディスプレイキーボード、カセット、およびその他のデバイス機能。

この基本的なファームウェア機能に取って代わるように設計されたオペレーティングシステムとエグゼクティブソフトウェアは、アプリケーションソフトウェアへの代替ソフトウェアインターフェイスを提供します。アプリケーションは、これらのサービスを自分自身に提供することもできます。これは、1980年代にMS-DOSで始まったもので、プログラマーはグラフィックス表示にBIOSビデオサービスを使用するのが非常に遅いことに気づきました。画面出力の速度を上げるために、多くのプログラムはBIOSをバイパスし、ビデオディスプレイハードウェアを直接プログラムしました。他のグラフィックプログラマー、特にデモシーンに限定されない、IBM BIOSでサポートされておらず、それを回避せずに利用できないPCディスプレイアダプタの技術的機能があることを確認しました。AT互換BIOSはIntelリアルモードで実行されたため、286以降のプロセッサでプロテクトモードで実行されたオペレーティングシステムでは、BIOSサービスを置き換えるためにプロテクトモード操作と互換性のあるハードウェアデバイスドライバが必要でした。

最新のオペレーティングシステムWindowsLinuxなど)を実行している最新のPCでは、BIOS割り込み呼び出しは、オペレーティングシステムの起動および初期ロード中にのみ使用されます。オペレーティングシステムの最初のグラフィカル画面が表示される前に、入力と出力は通常BIOSを介して処理されます。ユーザーが起動するオペレーティングシステムを選択したり、セーフモードで起動したり、最後の既知の正常な構成を使用したりできるWindowsのテキストメニューなどの起動メニューは、BIOSを介して表示され、BIOSを介してキーボード入力を受け取ります。[6]

最近の多くのPCは、システムにBIOSまたはCSM対応のUEFIファームウェアがあれば、コンソールとディスクI / OをBIOSに大きく依存するMS-DOSやDR-DOSなどのレガシーオペレーティングシステムを起動して実行できます。

プロセッサのマイクロコードの更新

Intelプロセッサには、 P6マイクロアーキテクチャ以降の再プログラム可能なマイクロコードがあります。[19] [20] [21] AMDプロセッサは、K7マイクロアーキテクチャ以降、再プログラム可能なマイクロコードを備えています。BIOSには、最初のプロセッサマイクロコードのエラーを修正するプロセッサマイクロコードへのパッチが含まれています。マイクロコードはプロセッサのSRAMにロードされるため、再プログラミングは永続的ではありません。したがって、システムの電源を入れるたびにマイクロコードの更新のロードが実行されます。再プログラム可能なマイクロコードがなければ、高価なプロセッサの交換が必要になります。[22]たとえば、Pentium FDIVのバグは、Intelにとって高価な大失敗となりました。 元のPentiumプロセッサの欠陥のあるマイクロコードを再プログラムできなかったため、製品のリコール。オペレーティングシステムは、メインプロセッサのマイクロコードも更新できます。[23] [24]

識別

一部のBIOSには、ソフトウェアライセンス記述テーブル(SLIC)が含まれています。これは、 Dellなどの相手先ブランド供給(OEM)によってBIOS内に配置されたデジタル署名です。SLICはACPIデータテーブルに挿入され、アクティブなコードは含まれていません。[25] [26]

Microsoft WindowsおよびMicrosoftアプリケーションソフトウェアのOEMバージョンを配布するコンピューターメーカーは、SLICを使用して、Windowsソフトウェアを含むOEMWindowsインストールディスクおよびシステムリカバリディスクへのライセンスを認証できます。SLICを備えたシステムは、OEMプロダクトキーを使用して事前にアクティブ化でき、自己アクティブ化の手段として、BIOSのSLICに対してXML形式のOEM証明書を検証します(システムロックプリインストール、SLPを参照)。ユーザーがWindowsの新規インストールを実行する場合、アクティブ化をバイパスするには、OEMキー(SLPまたはCOA)とSLICのデジタル証明書の両方を所有している必要があります。[25]これは、ユーザーがOEMによって提供された事前にカスタマイズされたイメージを使用して復元を実行する場合に実現できます。パワーユーザーは、OEMイメージから必要な証明書ファイルをコピーし、SLPプロダクトキーをデコードしてから、SLPアクティベーションを手動で実行できます。非正規のWindowsディストリビューションのクラックは通常、Windowsのアクティブ化をバイパスするために、SLICを編集またはエミュレートします。[要出典]

オーバークロック

一部のBIOS実装では、オーバークロックが許可されています。これは、 CPUが保証された機能のためにメーカーの定格よりも高いクロックレートに調整されるアクションです。ただし、オーバークロックは、十分に冷却されていないコンピュータのシステムの信頼性を著しく損ない、一般にコンポーネントの寿命を短くする可能性があります。オーバークロックは、誤って実行されると、コンポーネントが急速に過熱して機械的に破壊される可能性もあります。[27]

現代の使用

一部の古いオペレーティングシステムMS-DOSなど)は、PC内でほとんどの入出力タスクを実行するためにBIOSに依存しています。[28]

リアルモードBIOSサービスを直接呼び出すことは、プロテクトモード(およびロングモード)オペレーティングシステムでは非効率的です。BIOS割り込み呼び出しは、最初にロードされた後、最新のマルチタスクオペレーティングシステムでは使用されません。

1990年代、BIOSは、 Advanced Power Management(APM)、Plug and Play BIOSDesktop Management Interface(DMI)、VESA BIOS Extensions(VBE)、e820MultiProcessorなどのMicrosoftWindowsおよびUnixのようなオペレーティングシステム用のプロテクトモードインターフェイスを提供しました。仕様(MPS)。2000年以降、ほとんどのBIOSは、最新のオペレーティングシステム用にACPISMBIOSVBE、およびe820インターフェイスを提供します。[29] [30] [31] [32] [33]

オペレーティングシステムがロードされた後も、システム管理モードコードはSMRAMで実行されています。2010年以降、BIOSテクノロジはUEFIに向けて移行中です。[7]

構成

セットアップユーティリティ

これまで、IBM PCおよびXTのBIOSには、組み込みのユーザーインターフェイスがありませんでした。以前のPC(XTクラス)のBIOSバージョンは、ソフトウェアで構成できませんでした。代わりに、ユーザーはマザーボードのDIPスイッチを介してオプションを設定します。その後のコンピュータには、80286 CPUを搭載したすべてのIBM互換機が含まれ、BIOS設定を保持するバッテリバックアップ式の不揮発性BIOSメモリ(CMOS RAMチップ)が搭載されていました。[34]ビデオアダプタの種類、メモリサイズ、ハードディスクパラメータなどのこれらの設定は、ROMに組み込まれているのではなく、ディスクから構成プログラムを実行することによってのみ構成できます。メモリサイズなどの設定を構成するため に、特別な「参照ディスケット」がIBMATに挿入されました

初期のBIOSバージョンには、パスワードまたはブートデバイス選択オプションがありませんでした。BIOSは、最初のフロッピードライブ、または失敗した場合は最初のハードディスクから起動するようにハードコーディングされています。初期のATクラスのマシンでのアクセス制御は、物理的なキーロックスイッチによるものでした(コンピューターのケースを開けることができれば、それを打ち負かすことは難しくありませんでした)。コンピュータの電源を入れることができる人なら誰でもそれを起動することができます。[要出典]

その後、386クラスのコンピュータがBIOSコードとともにBIOSセットアップユーティリティをROM自体に統合し始めました。これらのコンピュータは通常、特定のキーまたはキーの組み合わせが押された場合にBIOSセットアップユーティリティを起動します。それ以外の場合は、BIOSPOSTおよび起動プロセスが実行されます。

標準PCでBIOSセットアップユーティリティを授与

最新のBIOSセットアップユーティリティには、PCの起動時にキーボードの特定のキーを押すことでアクセスできるテキストユーザーインターフェイス(TUI)またはグラフィカルユーザーインターフェイス(GUI)があります。通常、キーは初期起動時に短時間アドバタイズされます。たとえば、「DELを押してセットアップに入ります」などです。実際のキーは特定のハードウェアによって異なります。BIOSセットアップユーティリティに存在する機能には、通常、次のものがあります。

  • ハードウェアコンポーネントの構成、有効化、および無効化
  • システム時刻の設定
  • 起動順序の設定
  • BIOSユーザーインターフェイスへのアクセスを保護し、悪意のあるユーザーが不正なポータブルストレージデバイスからシステムを起動するのを防ぐためのパスワードや、システムを起動するためのパスワードなど、さまざまなパスワードを設定します。

ハードウェア監視

最新のBIOSセットアップ画面には、多くの場合、メインボードのハードウェアモニターチップと直接インターフェイスするPCヘルスステータスまたはハードウェアモニタータブがあります。[35]これにより、CPUとシャーシの温度、電源ユニットから供給される電圧を監視し、マザーボードに接続されて いるファンの速度を監視および制御することができます。

システムが起動すると、ハードウェアの監視とコンピューターのファン制御は通常、ハードウェアモニターチップ自体によって直接実行されます。ハードウェアモニターチップは、個別のチップ、I 2 CまたはSMBusを介したインターフェイス、またはスーパーI / Oソリューションの一部として提供されます。 、 Industry Standard Architecture(ISA)またはLow Pin Count(LPC)を介してインターフェースされます。[36] envsysを使用したNetBSDsysctlhw.sensorsを使用したOpenBSDなどの一部のオペレーティングシステムは、ハードウェアモニターとの統合されたインターフェースを備えています。

ただし、状況によっては、BIOSがACPIを介したハードウェア監視に関する基本情報も提供します。その場合、オペレーティングシステムはACPIを使用してハードウェア監視を実行している可能性があります。[37] [38]

再プログラミング

1980年代後半のDell310用のBIOS交換キット。含まれているのは、2つのチップ、チップ用のプラスチックホルダー、およびチッププラーです。

最近のPCでは、BIOSは書き換え可能なEEPROMまたはNORフラッシュメモリに保存されているため、内容を置き換えたり変更したりできます。この内容の書き換えは、点滅と呼ばれることもありますこれは、通常はシステムの製造元から提供される特別なプログラムによって、またはPOSTで、ハードドライブまたはUSBフラッシュドライブにBIOSイメージを使用して実行できます。このような内容を含むファイルは、「BIOSイメージ」と呼ばれることもあります。新しいバージョンにアップグレードしてバグを修正したり、パフォーマンスを向上させたり、新しいハードウェアをサポートしたりするために、BIOSが再フラッシュされる場合があります。

ハードウェア

American Megatrends BIOS686。このBIOSチップは、ソケット内のPLCCパッケージに収容されています。

元のIBMPC BIOS(およびカセットBASIC)は、マザーボード上のソケットにあるマスクプログラムされた読み取り専用メモリ(ROM)チップに保存されていました。ROMは、ユーザーが置き換えることはできますが、変更することはできません。更新を可能にするために、多くの互換性のあるコンピュータは、 EPROMEEPROM、およびそれ以降のフラッシュメモリ(通常はNORフラッシュ)デバイスなどの再プログラム可能なBIOSメモリデバイスを使用していました。BIOSメーカーのMicroFirmwareの社長であるRobertBraverによると、電気的に消去可能なPROM(EEPROM)チップは、標準の紫外線消去可能なPROM(EPROM )よりも安価でプログラミングが簡単なため、1995年頃にFlashBIOSチップが一般的になりました。)チップ。フラッシュチップは回路内でプログラム(および再プログラム)されますが、EPROMチップは再プログラムのためにマザーボードから取り外す必要があります。[39] BIOSバージョンは、新しいバージョンのハードウェアを利用し、以前のリビジョンのBIOSのバグを修正するためにアップグレードされます。[40]

IBM AT以降、PCはBIOSを介して設定可能なハードウェアクロックをサポートしていました。2000年が起こったときに手動で世紀を変更することを可能にする世紀のビットがありました。1995年に作成されたほとんどのBIOSリビジョンと1997年のほぼすべてのBIOSリビジョンは、1999年12月31日の深夜を過ぎたときに時計が自動的に世紀ビットを設定することによって2000年をサポートしました。 [41]

最初のフラッシュチップはISAバスに接続されていました。1998年以降、BIOSフラッシュは「ファームウェアハブ」(FWH)と呼ばれる新しい標準実装に従ってLPCバスに移行しました。2006年に、BIOSフラッシュメモリはSPIバスに移動しました。[42]

BIOSのサイズ、およびBIOS、EEPROM、またはBIOSが保存される可能性のあるその他のメディアの容量は、コードに新しい機能が追加されるにつれて、時間の経過とともに増加しました。現在、BIOSバージョンは最大32メガバイトのサイズで存在します。対照的に、元のIBM PCBIOSは8KBのマスクROMに含まれていました。一部の最新のマザーボードには、一部のLinuxディストリビューションなど、コンパクトなオペレーティングシステム全体を格納できるさらに大きなNANDフラッシュメモリICが搭載されています。たとえば、一部のASUSノートブックには、NANDフラッシュメモリICに組み込まれたSplashtopOSが含まれていました。[43]ただし、PCのROMにBIOSとともにオペレーティングシステムを含めるという考え方は新しいものではありません。1980年代に、MicrosoftはMS-DOS用のROMオプションを提供し、 Tandy 1000HXなどの一部のPCクローンのROMに含まれていました

別のタイプのファームウェアチップがIBMPCATおよび初期の互換機で見つかりました。ATでは、キーボードインターフェイスは独自のプログラム可能なメモリを備えたマイクロコントローラによって制御されていました。IBM ATでは、これは40ピンのソケットデバイスでしたが、一部のメーカーは、EPROMに似たこのチップのEPROMバージョンを使用していました。このコントローラには、1メガバイトの範囲を超えるメモリを管理するためのA20ゲート機能も割り当てられています。アッパーメモリを使用できるソフトウェアを利用するために、この「キーボードBIOS」のアップグレードが必要になる場合がありました。[要出典]

BIOSには、メモリの初期化( SPDメモリのタイミングの初期化など)を担当するメモリ参照コード(MRC)などのコンポーネントが含まれている場合があります[44] :8  [45]

最新のBIOS [46]には、 Intel Management Engine [47]またはAMDプラットフォームセキュリティプロセッサフ​​ァームウェアが含まれています。

ベンダーと製品

さまざまなBIOS実装の比較
会社 AwardBIOS AMIBIOS インサイド SeaBIOS
ライセンス 専有 専有 専有 LGPL v3
維持/開発 終了 終了 終了 はい
32ビットPCIBIOS呼び出し はい はい はい はい
AHCI はい はい はい はい
APM はい はい はい(1.2) はい(1.2)
BBS はい はい はい はい
起動メニュー はい はい はい はい
圧縮 はいLHA [48] はい(LHA) はい(RLE) はい(LZMA)
CMOS はい はい はい はい
EDD はい はい はい はい
ESCD はい はい 番号
ROMからのフラッシュ はい 番号
言語 組み立て 組み立て 組み立て C
LBA はい(48) はい(48) はい はい(48)
マルチプロセッサ仕様 はい はい はい はい
オプションROM はい はい はい はい
パスワード はい はい はい 番号
PMM はい はい
セットアップ画面 はい はい はい 番号
SMBIOS はい はい はい はい
スプラッシュ画面 はい(EPA)[49] はいPCX はい はい(BMP、JPG)
TPM 未知の 未知の 未知の いくつか
USB起動 はい はい はい はい
USBハブ はい
USBキーボード はい はい はい はい
USBマウス はい はい はい はい

IBMは、元のPC、PC XT、PC AT、およびその他の最新のPCモデルのBIOSの全リストを、各マシンタイプのIBMPCテクニカルリファレンスマニュアルの付録に公開しました 。BIOSリストの公開の効果は、誰もが決定的なBIOSが何をし、どのようにそれを行うかを正確に見ることができるということです。

1984年5月、 Phoenix Software Associatesは最初のROM-BIOSをリリースしました。これにより、OEMは、CompaqがPortableに対して行ったように、IBM PC BIOS自体をリバースエンジニアリングすることなく、本質的に完全に互換性のあるクローンを構築でき、PCの成長を促進しました。互換機業界およびIBM以外のバージョンのDOSの販売。[50]そして最初のアメリカンメガトレンド(AMI)BIOSは1986年にリリースされました。

BIOSに移植された新しい標準には、通常、完全な公開ドキュメントやBIOSリストがありません。その結果、IBM以外のBIOSへの多くの追加について、コアBIOSサービスほど詳細を知ることは簡単ではありません。

ほとんどのPCマザーボードサプライヤは、「独立したBIOSベンダー」またはIBVとして知られる商用サードパーティからBIOS「コア」およびツールキットのライセンスを取得しています。次に、マザーボードの製造元は、自社のハードウェアに合わせてこのBIOSをカスタマイズしました。このため、更新されたBIOSは通常、マザーボードの製造元から直接入手します。以前の主要なBIOSベンダーには、American Megatrends(AMI)、Insyde SoftwarePhoenix Technologies、Byosoft、Award Software、およびMicroidResearchが含まれていました。Microid Research and Award Softwareは、1998年にPhoenixTechnologiesに買収されました。フェニックスは後にアワードのブランド名を段階的に廃止しました。一般的なソフトウェアも2007年にPhoenixに買収され、Intelプロセッサをベースにした組み込みシステム用のBIOSを販売しました。

オープンソースコミュニティは、librebootcorebootOpenBIOS / Open Firmwareプロジェクトを通じて、プロプライエタリBIOSの代替品とオープンソースの対応物を開発するための取り組みを強化しました。AMDは一部のチップセットの製品仕様を提供し、Googleはプロジェクトを後援しています。マザーボードメーカーのTyanは、 Opteronシリーズのマザーボードを備えた標準BIOSの隣にコアブートを提供しています。

セキュリティ

切り離されたBIOSチップ

EEPROMフラッシュメモリチップは、ユーザーが簡単に更新できるので有利です。ハードウェアメーカーは、BIOSアップデートを発行して製品をアップグレードし、互換性を向上させ、バグを削除するのが通例ですただし、この利点には、BIOS更新が不適切に実行または中止されると、コンピューターまたはデバイスが使用できなくなる可能性があるというリスクがありました。これらの状況を回避するために、最近のBIOSは「ブートブロック」を使用しています。最初に実行され、個別に更新する必要があるBIOSの一部。このコードは、BIOSの残りの部分が無傷であるかどうかを確認します(ハッシュ チェックサムを使用)または他の方法)制御をそれに移す前に。ブートブロックがメインBIOSの破損を検出すると、通常、ユーザーがBIOSのフラッシュを再試行できるように、リムーバブルメディア(フロッピー、CD、またはUSBフラッシュドライブ)から起動してリカバリプロセスを開始する必要があることをユーザーに警告します。一部のマザーボードには、BIOSの破損から回復するため のバックアップBIOS(DualBIOSボードと呼ばれることもあります)があります。

少なくとも5つの既知のBIOS攻撃ウイルスがあり、そのうち2つはデモンストレーション目的でした。野生で最初に見つかったのは、中国のユーザーを対象とし たMebromiでした。

最初のBIOSウイルスはBIOS髄膜炎で、BIOSチップを消去する代わりに感染しました。BIOS髄膜炎は、 CIHのようなウイルスと比較して、比較的無害です。

2番目のBIOSウイルスはCIHで、「チェルノブイリウイルス」とも呼ばれ、互換性のあるチップセットのフラッシュROMBIOSコンテンツを消去することができました。CIHは1998年半ばに登場し、1999年4月にアクティブになりました。多くの場合、感染したコンピュータは起動できなくなり、マザーボードからフラッシュROMICを取り外して再プログラムする必要がありました。CIHは、当時普及していたIntel i430TXマザーボードチップセットを対象とし、当時普及していたWindows 9xオペレーティングシステムがすべてのプログラムへの直接ハードウェアアクセスを許可したという事実を利用しました。

最新のシステムは、Intel i430TXチップセットや他のフラッシュROMICタイプと互換性のないさまざまなチップセットが使用されているため、CIHに対して脆弱ではありません。偶発的な上書きから保護されるブートブロックの形での偶発的なBIOS書き換え、またはクラッシュの場合にバックアップBIOSを使用する可能性のあるデュアルおよびクアッドBIOSを装備したシステムからの追加の保護もあります。また、 FreeBSDLinuxmacOSWindows2000WindowsXP以降などのWindowsNTベースのWindowsOSなどの最新のオペレーティングシステムでは、ユーザーモードプログラムがハードウェアに直接アクセスすることはできません。[要出典]

その結果、2008年の時点で、CIHは本質的に無害になり、最悪の場合、実行可能ファイルに感染し、ウイルス対策ソフトウェアをトリガーすることで迷惑をかけています。ただし、他のBIOSウイルスは引き続き発生する可能性があります。[51] Windows Vista / 7のUACを持たないほとんどのWindowsホームユーザーはすべてのアプリケーションを管理者権限で実行するため、最新のCIHに似たウイルスは、原則として、最初にエクスプロイトを使用しなくてもハードウェアにアクセスできます。[要出典]オペレーティングシステムOpenBSDは、すべてのユーザーがこのアクセスを取得できないようにします。また、Linuxカーネルのgrsecurityパッチは、デフォルトでこの直接ハードウェアアクセスを防止します。違いは、攻撃者がはるかに困難なカーネルレベルのエクスプロイトまたはマシンの再起動を必要とすることです。 。[[要出典]

3番目のBIOSウイルスは、英国を拠点とする次世代セキュリティソフトウェアの主任セキュリティコンサルタントであるJohnHeasmanによって提示された手法でした。2006年のBlackHat Security Conferenceで、彼は、フラッシュメモリに格納されている通常のACPI関数を置き換える悪意のある手順を使用して、特権を昇格させ、物理メモリを読み取る方法を示しました。[52]

4番目のBIOSウイルスは、「永続的なBIOS感染」と呼ばれる手法でした。2009年にバンクーバーで開催されたCanSecWestセキュリティ会議とシンガポールで開催されたSyScanセキュリティ会議に登場しました。研究者アニバルサッコ[53]Core SecurityTechnologiesのAlfredoOrtegaは、悪意のあるコードをBIOSの解凍ルーチンに挿入して、オペレーティングシステムが起動する前であっても、起動時にPCをほぼ完全に制御できるようにする方法を示しました。概念実証は、BIOS実装の欠陥を悪用するのではなく、通常のBIOSフラッシュ手順のみを含みます。したがって、マシンへの物理的なアクセス、またはユーザーがrootになる必要があります。これらの要件にもかかわらず、Ortegaは、彼とSaccoの発見の深い意味を強調しました。「ドライバーにパッチを適用して、完全に機能するルートキットを削除できます。ウイルス対策を削除または無効にできる小さなコードもあります。」[54]

Mebromiは、AwardBIOSMicrosoft Windows、および2つの中国企業(RisingAntivirusとJiangminKV Antivirus )のウイルス対策ソフトウェアを搭載したコンピューターを標的とするトロイの木馬です。[55] [56] [57] Mebromiは、マスターブートレコードに感染するルートキットをインストールします。

2013年12月の60Minutesとのインタビューで米国国家安全保障局の情報保証局長であるDeborah Plunkettは、NSAが米国の金融システムを標的とした外国によるBIOS攻撃の可能性を発見し、阻止したと主張しました。[58]プログラムは、それが中国の陰謀であると主張する匿名の情報源を引用した。[58]しかし、 The Guardian[59] The Atlantic[60] Wired [61]、およびThe Register [62]のフォローアップ記事は、NSAの主張に反論しました。

新しいIntelプラットフォームでは、Intel Boot Guard(IBG)テクノロジが有効になっており、このテクノロジは起動時にBIOSデジタル署名をチェックし、IBG公開鍵がPCHに融合されています。エンドユーザーはこの機能を無効にすることはできません。

代替案と後継者

Unified Extensible Firmware Interface(UEFI)は、多くの新しいマシンのBIOSを補完します。当初はIntelItaniumアーキテクチャ用に作成されていましたが、UEFIはx86およびARMアーキテクチャプラットフォームで利用できるようになりました。仕様の開発は、業界の特別利益団体であるUnified EFIForumによって推進されています。EFIブートはGPTをサポートするMicrosoft Windowsバージョン[63] Linuxカーネル2.6.1以降、およびIntelベースのMac上のmacOSでのみサポートされています。[64] 2014年現在、新しいPCハードウェアは主にUEFIファームウェアとともに出荷されます。ルートキットセーフガードのアーキテクチャは、システムがユーザー自身のソフトウェア変更を実行するのを防ぐこともできます。これにより、UEFIはオープンハードウェアコミュニティでのレガシーBIOSの代替品として物議を醸しています。また、Windows11を起動するにはUEFIが必要です。[65]

x86の世界での「レガシーBIOS」の機能に代わる他の方法として、corebootlibrebootがあります。

一部のサーバーおよびワークステーションは、 Forthプログラミング言語に基づくプラットフォームに依存しないOpen Firmware (IEEE-1275)を使用します。これは、SunのSPARCコンピューター、IBMのRS / 6000ライン、およびCHRPマザーボードなどの他のPowerPCシステム、およびx86ベースのOLPCXO-1に含まれています。

少なくとも2015年の時点で、AppleはMacBookProコンピュータからレガシーBIOSサポートを削除しました。そのため、BIOSユーティリティはレガシーオプションをサポートしなくなり、「このシステムではレガシーモードはサポートされていません」と出力されます。2017年、Intelは2020年までにレガシーBIOSサポートを削除すると発表しました。2019年以降、新しいIntelプラットフォームOEMPCはレガシーオプションをサポートしなくなりました。

も参照してください

メモ

  1. ^ ブートセクタのオフセットでの署名、オフセットオフセットでです。IBM PC互換機のコンテキストではリトルエンディアン表現を想定する必要があるため、これはx86プロセッサのプログラムでは16ビットワードとして記述できますが(順序の入れ替えに注意)、他のプログラムの場合と同様に記述する必要があります。ビッグエンディアン表現を使用するCPUアーキテクチャこれは本や元のMicrosoftリファレンスドキュメントでも何度も混同されているため、この記事では、オフセットベースのバイト単位のディスク上の表現を使用して、誤解を避けることができます。+0x1FE0x55 0xAA0x55+0x1FE0xAA+0x1FF0xAA550x55AA

参考文献

  1. ^ 「参照—システムBIOS」PCGuide2014年12月21日にオリジナルからアーカイブされまし2014年12月6日取得
  2. ^ 「UnifiedExtensibleFirmwareInterface」インテルインテル。
  3. ^ 「UEFI」OSDev.org
  4. ^ a b c Kildall、Gary Arlen(1975年6月)、CP / M1.1または1.2BIOSおよびBDOSfor Lawrence Livermore Laboratories
  5. ^ a b c Kildall、Gary Arlen(1980年1月)。「CP / Mの歴史-産業の進化:一人の視点」(第5巻、第1号、第41版)。Dr. Dobb's Journal of Computer Calisthenics&Orthodontia。pp。6–7。2016年11月24日にオリジナルからアーカイブされました2013年6月3日取得
  6. ^ a b 「起動・LinuxInside」0xax.gitbooks.io 2020年11月10日取得
  7. ^ a b ブラッドリー、トニー。「RIPBIOS:UEFI入門書」PCWorld2014-01-27にオリジナルからアーカイブされました2014年1月27日取得
  8. ^ Swaine、Michael(1997-04-01)。「ゲイリーキルドールと大学の起業家精神」ドブ博士の日記2007年1月24日にオリジナルからアーカイブされました2006年11月20日取得
  9. ^ a b 「電気工学およびコンピューティングにおけるIEEEマイルストーン-CP / M-マイクロコンピューターオペレーティングシステム、1974年」(PDF)コンピュータ歴史博物館2014-04-25。2019-04-03のオリジナルからアーカイブ(PDF)2019年4月3日取得
  10. ^ Shustek、Len(2016-08-02)。「彼自身の言葉で:ゲイリー・キルドール」注目すべき人々コンピュータ歴史博物館2016年12月17日にオリジナルからアーカイブされました。
  11. ^ キリアン、A。ジョセフ「ジョー」(2001)。「ゲイリーキルドールのCP / M:いくつかの初期のCP / Mの歴史-1976-1977」トーマス "トッド"フィッシャーIMSAI2012年12月29日にオリジナルからアーカイブされました2013年6月3日取得
  12. ^ フレーリー、ボブ; スパイサー、ダグ(2007-01-26)。「ジョセフ・キリアンのオーラル・ヒストリー、インタビュー:ボブ・フレーリー、編集:ダグ・スパイサー、録音:2007年1月26日、カリフォルニア州マウンテンビュー、CHM参照番号:X3879.2007」(PDF)コンピュータ歴史博物館。2014-07-14にオリジナル(PDF)からアーカイブされました2013年6月3日取得
  13. ^ Glass、Brett(1989)。「IBMPCBIOS」バイト:303–310 2021-12-31を取得しました。
  14. ^ 「HPBIOS構成ユーティリティ」ヒューレットパッカード2013年。 2015年1月12日にオリジナルからアーカイブ2015年1月12日取得
  15. ^ Wayback Machine、ボリューム3、セクション9.1.2でアーカイブされたIntel64およびIA-32アーキテクチャソフトウェア開発者マニュアル2012-01-26を参照
  16. ^ 5-27ページIBMパーソナルコンピュータハードウェアリファレンスライブラリテクニカルリファレンス、1984、発行番号6361459
  17. ^ 「IBM5162PC XT286 TechRef 68X2537テクニカルリファレンスマニュアル」(PDF)1986年8月。p。35(システムBIOS A-5)。2014年12月11日のオリジナルからアーカイブ(PDF)2014年12月11日取得
  18. ^ ハウスタッフワークス:WaybackMachineで アーカイブされBIOSは2008-02-07です。
  19. ^ Stiller、Andreas; ポール、マティアスR.(1996-05-12)。「Prozessorgeflüster」c't –magazinfürcomputertechnikTrends&News / aktuell-Prozessoren(ドイツ語)。1996年、いいえ。6. Verlag Heinz Heise GmbH&CoKGp。20. ISSN0724-8679_ 2017年8月28日にオリジナルからアーカイブされまし2017年8月28日取得 
  20. ^ ミューラー、スコット(2001-06-08)。プロセッサー更新機能| マイクロプロセッサの種類と仕様InformIT。2014年4月16日にオリジナルからアーカイブされました2014年4月15日取得
  21. ^ 「Linux *プロセッサマイクロコードデータファイル」ダウンロードセンターDownloadcenter.intel.com。2009-09-23。2014年4月16日にオリジナルからアーカイブされました2014年4月15日取得
  22. ^ Scott Mueller、 PCのアップグレードと修復第15版、Que Publishing、2003 ISBN 0-7897-2974-1、109〜110ページ 
  23. ^ 「KB4100347:Intelマイクロコードの更新」support.microsoft.com 2020年9月20日取得
  24. ^ 「マイクロコード-DebianWiki」wiki.debian.org 2020年9月19日取得
  25. ^ a b "SLPとSLICのしくみ"guytechie.com2010-02-25。2015-02-03にオリジナルからアーカイブされました2015年2月3日取得
  26. ^ 「OEMACPI SLICテーブルモジュールを作成して、congatec BIOSに追加する」(PDF)congatec.com2011-06-16。2014-08-02のオリジナルからアーカイブ(PDF)2015年2月3日取得
  27. ^ ホイットソンゴードン。「Intelプロセッサのオーバークロックの初心者向け入門書」ライフハッカーゴーカーメディア。2014年12月7日にオリジナルからアーカイブされました2014年12月6日取得
  28. ^ スマートコンピューティングの記事-BIOSとは何ですか? ウェイバックマシンで2012年3月10日にアーカイブ-コンピューティングの基本1994年7月•Vol.5Issue 7
  29. ^ 「ACPI(Advanced Configuration and Power Interface)とは何ですか?-WhatIs.comからの定義」SearchWindowsServer 2020年9月18日取得
  30. ^ 「Windows2000 / XPでのハードウェアアブストラクションレイヤーの変更–Smallvoid.com」2020年9月18日取得
  31. ^ 「ACPIとは何ですか?」www.spo-comm.de 2020年9月18日取得
  32. ^ ロリホラッシュ。「ヘッドレスシステムのサポート-Windowsドライバー」docs.microsoft.com 2020年12月5日取得
  33. ^ 「メモリマップ(x86)-OSDevWiki」wiki.osdev.org 2020年12月11日取得
  34. ^ トーレス、ガブリエル(2004-11-24)。「はじめにとリチウム電池」マザーボードのバッテリーの交換Hardwaresecrets.com。2013年12月24日にオリジナルからアーカイブされまし2013年6月20日取得
  35. ^ コンスタンティンA.ムレニン(2010-05-21)。「11.1BIOSからのインターフェース」。OpenBSDハードウェアセンサー–環境モニタリングとファン制御MMath論文)。ウォータールー大学:UWSpace。hdl10012/5234ドキュメントID:ab71498b6b1a60ff817b29d56997a418。
  36. ^ コンスタンティンA.ムレニン(2007-04-17)。「2.ハードウェアレビュー」。マイクロプロセッサシステムハードウェアモニタとの一般化されたインターフェースネットワーク、センシング、および制御に関する2007 IEEE国際会議の議事録、2007年4月15〜17日。英国ロンドン:IEEEpp。901–906。土井10.1109 /ICNSC.2007.372901ISBN 978-1-4244-1076-7IEEE ICNSC 2007、pp。901-906。
  37. ^ 「aibs– ASUSTeKAIブースターACPIATK0110電圧、温度、ファンセンサー」OpenBSDDragonFly BSDNetBSDおよびFreeBSD2010年。
  38. ^ "acpi_thermal(4)"www.freebsd.org 2021-02-24を取得
  39. ^ ウェイバックマシンでアーカイブされたRAMとROMのデコード 2012-04-06。」スマートコンピューティング1997年6月。第8巻、第6号。
  40. ^ ウェイバックマシンでのプラグアンドプレイアーカイブ2012-04-06用のフラッシュBIOSのアップグレード 。」スマートコンピューティング1996年3月。第7巻、第3号。
  41. ^ ウェイバックマシンでアーカイブされたBIOS2011-07-16をチェックする時間 。」スマートコンピューティング1999年4月。第7巻、第4号。
  42. ^ 「アーカイブされたコピー」2021-08-18にオリジナルからアーカイブされました2021-04-01を取得{{cite web}}:CS1 maint:タイトルとしてアーカイブされたコピー(リンク
  43. ^ 「SplashTopのインスタント-Linuxデスクトップ| Geek.com」2008年9月7日にオリジナルからアーカイブされました
  44. ^ Alex Watsonによる投稿、custompc.comの元のコンテンツからの再投稿[不明]。「現代のマザーボードの寿命と時代」2007-11-272012年7月24日にオリジナルからアーカイブされました2013年2月2日取得
  45. ^ David Hilber Jr.(2009年8月)。「システムメモリをダウンさせた組み込みIntelアーキテクチャシステムの設計に関する考慮事項」(PDF)インテル2012-10-18のオリジナルからアーカイブ(PDF)2013年2月2日取得
  46. ^ 「BIOSの種類」rompacks.com 2021-09-20を取得
  47. ^ 「ME--flashrom」www.flashrom.org 2020年9月19日取得
  48. ^ Stiller、Andreas(2001)。「Prozessor-Patches」c't(ドイツ語)。ハイゼ(5):240。 2015年11月22日のオリジナルからアーカイブ2015年11月21日取得
  49. ^ 「AwardBIOSロゴ」2015年6月15日。2015年12月21日にオリジナルからアーカイブされました2015年12月6日取得
  50. ^ フェニックスは次世代のIBMBIOSのクローンを作成するのを熱心に待っています1987年3月9日 InfoWorldのWaybackMachineで2014-01-22にアーカイブされました。
  51. ^ 新しいBIOSウイルスはHDDワイプに耐えます、2009年3月27日。マーカスヤム。トムスハードウェアUS
  52. ^ 「ブラックハット2006マルチメディア-プレゼンテーション、オーディオおよびビデオアーカイブ」www.blackhat.com 2019年4月21日取得
  53. ^ サッコ、アニバル; アルフレドオルテガ(2009-03-23)。「永続的なBIOS感染」ものを利用する2009年8月4日にオリジナルからアーカイブされました2010年2月6日取得
  54. ^ フィッシャー、デニス。「研究者は永続的なBIOS攻撃方法を明らかにします」脅威の投稿2010年1月30日にオリジナルからアーカイブされました2010年2月6日取得
  55. ^ ジュリアーニ、マルコ(2011-09-13)。「Mebromi:最初のBIOSルートキット」ブログ2011年9月23日にオリジナルからアーカイブされました2011年9月19日取得
  56. ^ "360ρ布" BMW病毒 "技無分析报告"ブログ2011年9月25日にオリジナルからアーカイブされました2011年9月19日取得
  57. ^ 元、梁。「Trojan.Mebromi」脅威への対応2011年9月23日にオリジナルからアーカイブされました2011年9月19日取得
  58. ^ a b 「60ミニッツはどのようにしてカメラをスパイ機関に持ち込んだのですか?」CBSニュース2014年4月22日にオリジナルからアーカイブされました2014年4月15日取得
  59. ^ ワシントンのスペンサーアッカーマン(2013-12-16)。「NSAは60分続きます:CBSの欠陥のあるレポートの背後にある決定的な事実」theguardian.com2014年1月25日にオリジナルからアーカイブされました2014年1月27日取得
  60. ^ フリーダースドルフ、コナー(2013-12-16)。「60分間の質問:なぜ中国は世界経済を破壊したいのか?」大西洋2019-03-26を取得
  61. ^ ポールセン、ケビン(2013-12-16)。「60ミニッツのパフピースは、NSAがサイバーテロから米国を救ったと主張している」有線ISSN1059-1028 _ 2019-03-26を取得–www.wired.com経由。 
  62. ^ tweet_btn()、Simon Sharwood 2013年12月16日03:13。「NSAは「PCを破壊するBIOSプロット」を主張している" 。www.theregister.co.uk。2019-03-26取得_
  63. ^ 「WindowsとGPTのFAQ」microsoft.comマイクロソフト。2011年2月19日にオリジナルからアーカイブされまし2014年12月6日取得
  64. ^ 「ExtensibleFirmwareInterface(EFI)およびUnified EFI(UEFI)」インテル2010年1月5日にオリジナルからアーカイブされました2014年12月6日取得
  65. ^ 「Windows11の仕様とシステム要件| Microsoft」Microsoft 2021-10-14を取得

さらに読む

外部リンク