問題タブ [grub]

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 投票する
1 に答える
1618 参照

python - python grub.cfg パーサーはありますか?

grub2のgrub.cfgファイルのpythonパーサーを知っている人はいますか?

デバイス パーティション (ルート) で「menuentry」を取得しようとしています。

解決:

[('Ubuntu, Linux 3.0.0-15-generic', '(hd0,msdos1)'), ('Ubuntu, Linux 3.0.0-15-generic (リカバリモード)', '(hd0,msdos1) '), ('Ubuntu, Linux 3.0.0-14-generic', '(hd0,msdos1)'), ('Ubuntu, Linux 3.0.0-14-generic (リカバリモード)', '(hd0, msdos1)'), ('Ubuntu, Linux 3.0.0-13-generic', '(hd0,msdos1)'), ('Ubuntu, Linux 3.0.0-13-generic (リカバリモード)', '( hd0,msdos1)'), ('Ubuntu, Linux 3.0.0-12-generic', '(hd0,msdos1)'), ('Ubuntu, Linux 3.0.0-12-generic (リカバリモード)', '(hd0,msdos1)'), ('メモリ テスト (memtest86+)', '(hd0,msdos1)'), ('メモリ テスト (memtest86+, シリアル コンソール 115200)', '(hd0,msdos1)'), ( 'Windows 7 (/dev/sdc1 上)', '(hd2,msdos1)')]

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

bootloader - grub stage1.5コードはディスクのどこにありますか?

GRUBstage1.5をロードするstage1ブートローダーを作成しようとしています。では、そのコードは正確にどこにありますか?そして、どうすればそれがどれくらい大きいかを知ることができます(つまり、読み取る必要のあるバイト数を知ることができます)?

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

linux - GRUB ステージ 1.5 のコードはディスク上のどこにあり、ロードされるアドレスは何ですか?

インストールしてgrub v1.98MBR を逆アセンブルした後、理解できない次のコード スニペットを見つけました。

このコードは、ステージ 1.5 コードのディスク アドレスを設定し、ロードして実行しようとしているようです。ただし、読み取ろうとしている物理ブロックをどのように特定できますか? さらに、ステージ 1.5 のコードの行き先は? 0x7000?

後続の起動コードが読み込まれる Windows 7 の MBR を参照します0x7c00。MBR が最初にアドレス にロードされたとすると、元のコードが破損した場合に備えて、0x7c00MBR を から0x7c00にコピーし0x0600、次に に分岐するコードが含まれています。0x0600ステージ 1.5 のコードをロード0x7000して元のコードと競合しますか? さらに、次のことも見つけました。

MBR の先頭。最初の命令を除いて、コードは元の MBR を から0x7c00にコピーするために Windows 7 の MBR と同じことをしようとしているようです。これらのコードは実際に実行されますか? はいの場合、ここでジャンプを制御するのはいつですか。0x0600jmpjmp

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

debugging - ブートローダーをデバッグする方法は?

gdbを使用して小さなプログラムをデバッグしました。

GRUBのソースコードを持っています。GRUBの第2段階はCで記述されています。gdbを使用してデバッグできますか?

ブートローダーをデバッグすることは可能ですか?はいの場合、どのように?

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

ubuntu - Ubuntuのインストール中に問題が発生する

ubuntuをインストールしましたが、マシンを再起動すると次のように表示されます。

ライブCDからboot-repairを実行してみました。ここにそのダンプがあります:http://paste.ubuntu.com/1411870/

誰かが以前にこれをしたことがあるかどうか私に知らせてください

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

centos - centos 6.2 grubは、カーソルが点滅している黒い画面で失敗しますが、手動でブートコマンドラインに入ると機能します

$ workには、CentOS 6.2のカスタムインストールがあります(パッケージのセットが減った事前準備済みのイメージ)。

通常のCentOS6.2インストールは正常に機能します。

カスタムのものは次のように起動できません。

  • grubが起動し、定義されたブートオプションを表示します
  • 続行して起動しようとすると、「カーソルが点滅している黒い画面」が表示されます。これは、カーネルが見つからないことを示しています。
  • grubコマンドラインに移動し、grub.confからロードされたgrubとまったく同じブートコマンドを手動で入力すると、マシンは正常に起動します。

私のgoogle-fooはここで失敗しています、誰かが提案や解決策を持っていますか?

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

assembly - 単純なカーネルが GRUB で起動しない

OSDev.orgから OS 開発について少し学んでいます。カーネルがあり、qemu を使用して GRUB Legacy (0.97) で起動しようとしています。ただし、入力するとkernel 200+9、メッセージが表示されます

これは、(悪い)部分を除いて、私が期待するものです。ここで入力するbootと、GRUB がハングします。

0x100000、0x44、0x4008 という数字は、それぞれ .text セグメントの開始アドレス、.bss の開始アドレス、.bss セクションのサイズを表していると思います。objdump -hこれは、カーネル イメージで実行すると次の出力が得られるためだと思います。

先ほど挙げた数字がほぼ一致していることがわかります。問題は、.bss の開始が 100044 ではなく 44 になっていることです。これが、GRUB が悪いと言っている理由だと思います。メモリ内に 1 MB 未満のセクションを作成できません (メモリ不足)。しかし、objdump は、セクションがそのしきい値を超えていることを示しているため、何が問題なのかわかりません。とにかく、コードを下に貼り付けます。比較的短いです。以前にOS開発を行ったことがある場合、私の質問はおそらく非常に基本的なものなので、コードは無関係かもしれません。

.

以下は、私のカスタム リンカー スクリプトです。

最後に、次の行でカーネルをビルドします。

stage1 と stage2 は GRUB Legacy のファイルで、pad は任意の 750 バイトのファイルです (つまり、stage1+stage2+pad のファイル サイズは 102400 バイト、つまり 200 ブロックです。これが、カーネル 200+9 で起動する理由です)。

最後に、qemu でカーネルを実行します。

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

file - grub を使用してファイルを編集する

rc.local ブート ファイルで本当に悪い間違いをしました。このファイルのリストに無限ループを伴うプロセスを追加しました。これにより、このプロセスがそれ以降の起動手順をブロックするため、arch Linux ディストリビューションが完全に起動できなくなります。

このプロセスを削除できるように、この rc.local ファイルを grub で編集する方法はありますか?

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

linux - Linux カーネルをすばやくテストする

Linux カーネルのプログラミングを学びたいので、www.kernel.org から Linux カーネル 3.7.6 のソースをダウンロードしました。ただし、何かを編集する前に、オンライン チュートリアルを使用してコンパイルしようとしました。

コンパイルにはmake時間がかかり、まだ完全には完了していません。ソースコードを変更してテストする簡単な方法はありますか? カーネルのコンパイルには約 1 時間かかると読んだことがあります。

また、変更したカーネルを USB ドライブにコピーしてテストすることは可能ですか? GRUB を USB ドライブにインストールし、カーネルを USB にコピーし、USB で GRUB を構成してから実行することはできますか? もしそうなら、同じことをする手順があるリソースを教えてください。また、ラップトップにGRUBをインストールしています。ラップトップの構成を乱すことなく、USB で新しい GRUB をセットアップする方法は?

ありがとう.. :)