問題タブ [bootloader]

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.

0 投票する
0 に答える
284 参照

windows - NTLDR技術情報

私は、どのように機能するかについて、できる限り理解しようとしていますNTLDR。私の最大の質問は次のとおりです。

1)どのような実行可能形式をNTLDR使用しますか?

次のことにも興味がありますが、ファイル形式がわかれば、この2つは簡単に理解できると思います。

2)メモリのどこにNTLDRロードする必要がありますか?

3)のエントリポイントは何NTLDRですか?

0 投票する
2 に答える
210 参照

windows - Windows XP ブートローダー (NTLDR) はカーネルのインポート宣言に注意を払いますか?

Windows XP ブートローダ ( ntldr) は実際に Windows カーネル ( ntoskrnl.exe) のインポート宣言を利用するのでしょうか?

ntoskrnl.exeには次のインポートされたモジュールがあります: BOOTVID.dllHAL.dllおよびKDCOM.dll。したがって、これら 3 つのモジュールが最初にロードされます。カーネルに、インポート済みとして宣言された別のモジュールがあるとします。ntldrそれもそれをロードする原因になりますか?それともntldr、これら 4 つのモジュールをロードする必要があることを知っているだけで、それを変更する方法はありませんか?

0 投票する
4 に答える
996 参照

assembly - リアルモード、割り込みベクタ置換 クラッシュ

きれいなグラフィックスの下でシステムが実際にどのように機能するかについて、もっと学ぼうとしています。そのため、現在、BIOS が起動時にロードする 512 バイトのメモリで遊んでいます。現時点では、それをブートローダーと呼ぶことはできません。とにかく、割り込みベクターを交換していますが、問題があります。割り込み 09h (キーボード) を置き換えた後、正しく機能し、キーを押すと 'Memory messing' が出力されます。しかし、その後何もありません。その後、キーを押すたびに何もしません。システムがクラッシュしているのか、ハンドラーに何か不足しているのかはわかりません。コードは次のとおりです。

0 投票する
6 に答える
3452 参照

linux - カーネルへの引数

カーネルがブートローダーから取得する必要があるものはありますか?通常、カーネルはシステムを最初から起動することができますが、なぜブートローダーから何かが必要なのですか?私はこのようなカーネルからのブートメッセージを見てきました。

では、渡される変数は正確には何ですか?また、変数はブートローダーからどのように渡されますか?スタックを通過しますか?

0 投票する
3 に答える
1528 参照

assembly - ブートローダーがメモリに再配置されるのはなぜですか?

私はブートローダーを作成していて、詳細のほとんどを把握していますが、一部のブートローダーが実行の大部分を開始する前にメモリ内に再配置する理由がわかりません。

誰かがこれを説明できますか?

この動作の例は、次のコメントが含まれている元のv0.01Linuxカーネルブートローダーです。

boot.sはbios-startupルーチンによって0x7c00にロードされ、アドレス0x90000の邪魔にならないように移動し、そこにジャンプします。

0 投票する
4 に答える
3275 参照

documentation - PC MBRブートローダーのソースコードはどこにありますか?

できればよくコメントし、いくつかの関連するドキュメントとMakefileを付けてください。

明確にするために、これは、BIOSによってロードされ、ブートパーティション内のセカンダリブートローダーへのチェーンを担当するマシンコードの512バイト(512バイト-パーティションテーブル)未満です。

編集:Davidとbdonlanの両方の答えは有望に見えます。最小限のDosリンクはMBRのDebianソースパッケージに移動しますが、コメントされたWindows 2000 / XP MBRには、より詳細なコメントがあるようです。

0 投票する
9 に答える
7838 参照

c++ - CまたはC++でブートローダーを作成するには?

私は組み込みシステム用のプログラム、より具体的にはブートローダーを書いています。Cライブラリを使用していくつかのハードウェアコンポーネントと対話し、CまたはC++のいずれかで作成することを選択できます。どちらかを選択する理由はありますか?C ++のオブジェクト指向機能は必要ありませんが、より強力な型システムがあります。プログラムをより堅牢にする他の言語機能を備えているでしょうか?C ++は(常にではありませんが)大きなファームウェアイメージを生成できるため、C++を避ける人もいます。

0 投票する
1 に答える
1090 参照

linux - Linux ブートローダー

SD カードから GPS デバイスで Linux を起動しようとしています。

このデバイスに関する情報をインターネットで見つけたところ、カスタマイズされた Windows CE をロードできるようです。

これを実現するために、拡張子「.bld」を持つブート ローダー ファイルを使用します。

SDカードにUbuntu MIDのISOを解凍しましたが、拡張子がbldのファイルがありません。別のブートローダーシステムを使用していると思います..これはデバイスでは機能しないようです。

私の質問は次のとおりです。

「bld」ファイルを使用して Linux を起動する方法はありますか? もしそうなら、どうすればファイルを作成できますか?

質問がばかげていたり、軌道に乗っていなかったりしたらすみません。ブートローダーについてはよくわかりません..

ご参考までに、デバイスは次のとおりです。

http://www.curtisint.com/web/browser.asp?productID=GPD359&catName=GLOBAL%20POSITIONING%20SYSTEM

より詳細な仕様 (および mod サイト):

http://gpd359.wikidot.com/article:outofbox

編集:「YFGo2CE.bld」という名前のファイル(ファイルにはランダムな文字列のみが含まれています)をSDカードに置き、デバイスをリセットするだけでよいことがわかりました。そこから WindowsCE を直接起動して、提案された Haret ROM ツールをロードできます。

ありがとう!

0 投票する
1 に答える
1593 参照

assembly - 拡張割り込み 13、フォーマットされていないディスクの読み取り

ASM を作成してからしばらく経ちましたが、qemu でテストして、もう一度小さなブートローダーを作成してみることにしました。私の問題は割り込み 13 にあります。何らかの理由でキャリー フラグが設定されているため、読み取りが失敗しています。現在、私のディスク イメージは次のようになっています。

512バイトのBootLoader <-これは(私が知る限り)LBAのブロック0です

主な機能<- これはブロック 1 になります

基本的に、BIOS がメモリにロードする 512 バイトを使用して、同じドライブから次の 512 バイトをロードしたいと考えています。しかし、何が問題なのかわかりません。十分な情報を提供したことを願っています。

コードは次のとおりです。問題は、0x7E00 にジャンプする直前の 2 番目の 0x13 割り込みにあります。

0 投票する
2 に答える
8511 参照

operating-system - コンパイルされたブートセクタをUSBスティックまたはディスクに配置するにはどうすればよいですか?

ブートプロセスを介したPOSTからカーネル、GUIなどまで、OSがどのように機能するかに実際に興味があります。

さて、私は最初から始めなければなりません:ブートセクター

ほとんどのチュートリアルでは、Linuxユーザー向けに.binブートストラッパーをUSBスティックにインストールする方法のみを指定しています。

しかし、XPを使用しているので、512バイトの.binをUSBの正しい位置に配置するにはどうすればよいかを尋ねたいのですが、エクスプローラーでコピーするのではありません:D