マザーボードの情報(名前、IDなど)を取得するためのC関数を開発しようとしていますが、これらの情報が格納されている場所を見つけることができません。私はCPUIDを見ましたが、マザーボードに関連するものは何も見つかりませんでした(CPUに関する情報はたくさんありますが)。CPUIDを使用してマザーボード情報を検索するには?
どこから知ることができますか?
ありがとうございます。
マザーボードの情報(名前、IDなど)を取得するためのC関数を開発しようとしていますが、これらの情報が格納されている場所を見つけることができません。私はCPUIDを見ましたが、マザーボードに関連するものは何も見つかりませんでした(CPUに関する情報はたくさんありますが)。CPUIDを使用してマザーボード情報を検索するには?
どこから知ることができますか?
ありがとうございます。
CPUIDはCPU自体に関する情報(したがって名前)を返します。マザーボードに関する情報は返されません。お使いのOSにACPIデータを照会する方法があるかもしれません。マザーボードの製造元がそのような情報を記録するのに迷惑をかけると、探しているものがあるかもしれません。ただし、これを行う正確な方法はOSによって異なります。
ベアメタルにコーディングする場合、最初の停止はACPI tablesです。特に興味深いのは、DSDTのOEMIDとOEMテーブルIDです。他の場所でもモデル情報を見つけることができます。しかし、BIOSはfull of interesting bugsになる傾向があり、Windowsが起動するために絶対に必要ではないものが製造元に埋め込まれているという保証はありません。
非ACPIシステムは、少なくともPCハードウェアでは一般的に廃止されています。あなたがACPI以外のシステムにいる場合は、幸運を祈ってください。非ACPIシステムでのマザーボード識別情報の標準化された場所はありません。ハードウェアを調べ、既知のハードウェアプロファイルの表に基づいて推測することができますが、これが最善の方法です。
dmidecodeソースとそれが参照する標準(SMBIOS/DMI)から始めます。
あなたが起動可能なアプリケーションを作成しようとしていて、ハードウェアに直接アクセスして、あなたのアプリケーションを実行するOSを知る必要がない限り、 – Djole
これはブート可能なバイナリの – limp
@limpなので、ブートローダーの、Windowsやなどからですか? – bdonlan