問題タブ [bios]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
boot - 起動後のレジスタの状態
x86 マシンでブートローダーに取り組んでいます。
BIOS が MBR の内容を 0x7c00 にコピーし、そのアドレスにジャンプする場合、レジスタの内容に標準的な意味はありますか? レジスターには標準値がありますか?
セグメント レジスタは通常 0 に設定されていますが、0x7c0 になることもあります。他のハードウェアレジスタはどうですか?
boot - 低メモリ(OS以前)を予約するにはどうすればよいですか?
背景:オペレーティングシステムを起動する前に、0xA0000未満のメモリを予約する必要があります。これを行うには、KiBで使用可能な低メモリの量である0040:0013 (または0x413)ワードを変更します。
ただし、Windowsおよびその他のオペレーティングシステムはE820h / INT15hを使用してメモリレイアウトを照会し、一部のBIOS:esはE820h /INT15hBIOS機能に対する0x413の変更を反映しません。したがって、必要に応じてE820h関数もフックする必要があります。
質問: OSの前に低メモリを予約する別の(より信頼性の高い)方法はありますか?または、INT15hをフックする以外のE820h / INT15hの結果を変更する他の方法(おそらくEBDAを突くことによって?)
bios - LINGO で BIOS 時刻を取得する
Lingo で BIOS 時刻を取得する方法を誰か教えてもらえますか?
assembly - BIOS の下で USB フラッシュ ドライブを使用して低レベル IO を実行する方法 (フロッピーと比較)?
私は最近、フロッピー ドライブで使用するためのブートストラップ コードを研究しています。私の目標は、私の USB フラッシュ ドライブを使用するようにプログラムを変更することです。これで、INT 13H 機能がフロッピー デバイスでどのように使用されたかがわかりますが、私の質問は、USB ドライブとの通信はどのように異なるのでしょうか?
たとえば、フロッピー コード (GNU アセンブラ) の一部を次に示します。
0x80 を %dl に移動すると、BIOS で最初の HDD が選択されることを確認しました。私の特定の BIOS では、USB ドライブを含むドライブの順序を変更できます。これが BIOS に依存するようになっていることは確かですが、BIOS にリストされている順序は、%dl に移動する値に対応している可能性があると考えていました。いくつかのドキュメントを追跡する必要があります...
ブロックデバイスをそのまま使用することに本当に慣れていません。誰かがもっと学び始めるのに適した場所を教えてもらえますか?
ありがとう!
c# - ネットワーク経由で BIOS からエラー ログを取得できるようにしたい
ネットワーク経由で BIOS からエラー ログを取得できるようにしたいと考えています。MSDN で Win32_BIOS を見てみると、エラー ログを定義するものは何も見つかりませんでした。WMI を使用して C# でこれを行いたいと思っていますが、提案は受け付けています。出来ますか?
Win32_BIOS には、BIOS エラー ログを含むプロパティがありません (正しい用語かどうかはわかりません)。この情報をローカルまたはネットワークから取得するために使用できるライブラリ、API などはありますか?
bios - プログラムで Wake on LAN を有効にする方法
プログラムで BIOS に到達し、Wake on LAN 機能をサポートしているマシンで有効にする方法はありますか?
理想的には、ソリューションはクロス BIOS ですが、主要ベンダーのそれぞれに個別のソリューションを提供することも問題ありません。
c++ - パワーオンセルフテスト
POSTについて学び、POSTを設計およびコーディングする方法を学ぶのに適した場所はありますか?私はC++プログラマーであり、この用語にかなり困惑しています。
ありがとう
linux - Linux カーネルをシャットダウンして、リアル モードで再開することはできますか?
通常のオペレーティング システムが起動する前に、小さな Linux ディストリビューションを起動したいとします。
- BIOS は MBR をロードし、MBR を実行します。
- MBR は、私の Linux パーティションであるアクティブなパーティションを見つけます。
- Linux が起動し、必要なことを実行します。
- Linux がシャットダウンし、再びリアル モードに切り替えます。
- 元のパーティションのブート セクタが読み込まれ、通常の OS が起動します。
私の知る限り、ステップ 4 は難しい作業です。Linux より前のすべてのデバイスの状態を復元します。INT13h は機能しますか? 割り込みベクタ テーブルを復元する必要がありますか? いくつか言及します。
これはおそらく既存のプロジェクトで行われましたか?
bios - WMI を使用せずに C++ で BIOS の製造元とモデルを取得するにはどうすればよいですか?
Windows XP Pro Service Pack 3 を 32 ビットと 64 ビットの両方で実行しています。BIOS の製造元とモデルを取得するために WMI を使用していますが、Win32 API またはアセンブリ言語、または WMI や COM 以外の何かを使用する方法が望ましいと考えています。コードサンプルは大歓迎です。