web-dev-qa-db-ja.com

オペレーティングシステムが(通常は?)BIOS設定にアクセスできないのはなぜですか?

マザーボードは、起動後にCPUとBIOSチップの間にバスを提供しませんか?もしそうなら、なぜでしょうか?

CPUがファン速度を制御できる場合、BIOS構成を制御できないのはなぜかわかりません。

20
Dmiters

オペレーティングシステムが(通常は?)BIOS設定にアクセスできないのはなぜですか?

OSがBIOSにアクセスできるため、上記の質問には答えられません。

尋ねられたかもしれない質問の下に答えます。


オペレーティングシステムはどのようにしてBIOS設定にアクセスできますか?

WindowsおよびUnixでは、OSはBIOSを読み取ることができます。

Windows

例(wmicを使用):

F:\test>wmic bios /?

BIOS - Basic input/output services (BIOS) management.

HINT: BNF for Alias usage.
(<alias> [WMIObject] | <alias> [<path where>] | [<alias>] <path where>) [<verb clause>].

USAGE:

BIOS ASSOC [<format specifier>]
BIOS CREATE <assign list>
BIOS DELETE
BIOS GET [<property list>] [<get switches>]
BIOS LIST [<list format>] [<list switches>]


F:\test>wmic bios list brief
Manufacturer              Name                                        SerialNumber      SMBIOSBIOSVersion  Version
American Megatrends Inc.  BIOS Date: 09/05/11 11:20:58 Ver: 04.06.03  27546064-5001600  R1190V3            Sony - 20110905

WindowsはBIOSに書き込むこともできます(一部のマザーボードメーカーはWindowsベースのBIOSアップデーターを提供しています)。

たとえば WindowsまたはBIOSで必要に応じてBIOSをフラッシュする方法 を参照してください。

Unix

Unixにも同様のコマンドがあります。

  • biosdecode BIOSメモリを解析し、すべての構造に関する情報を出力します。

  • 組み込みASM(アセンブリコード)を含むCアプリケーションを使用して、rootユーザーからリアルタイムBIOS呼び出しを行うことができます。

ソース BIOSデータをファイルにダンプする方法


参考文献

44
DavidPostill

それらは可能ですが、特に標準化されたインターフェイスの設定はそれほど多くありません。特に、「BIOS」が適切な場合(つまり、UEFIより前)は特にそうです。

BIOSの特定の部分は、BIOSとその上で実行されているOS間のソフトウェア契約によって管理されます。昔、BIOSルーチンは、ディスクの読み書き、画面への表示、接続されたプリンタへの印刷など、あらゆる種類の日常的なタスクに使用されていたため、「基本入出力システム」と呼ばれていました。 BIOSがハードウェアと一致した場合、OSはそれらすべての独自のルーチンを必要とせずにさまざまなハードウェアバリアントをサポートできます。しかし、ハードウェアとOSがより複雑になり、限られたBIOS機能のセットを超えると、OSはほぼすべての独自のドライバーを提供し始め、起動、電源管理、およびシステム構成情報の取得はBIOSにのみ依存していました。

しかし、BIOSもさらに複雑になり、OS-BIOSインターフェースによって制御されないあらゆる種類の設定と機能を獲得しました。そこにあるものについてもresultsのみを指定しています。 実装ではありません。つまり、すべてのBIOS製造元は、自由に好きなように操作でき、OSが稼働している限り、いつでも好きなように変更でき、そしてtell誰もする必要がないということです詳細のいずれか。 BIOSによって保存されたデータへのアクセスは簡単ですが、データを理解できるユーティリティ、またはBIOSが実際に理解する方法でデータを変更できるユーティリティがある場合、おそらくそれはBIOSメーカー自身、またはリバースエンジニアリングの結果です。

19
hobbs