問題タブ [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.
linker - GRUB マルチブート ヘッダーが見つかりません
この質問とそれが主な回答を読んだ後、カーネルで readelf を実行したところ、.text セクションが 0x00100000 ではなく 0x00101000 にあることに気付きました。また、.text セクションがあるはずの場所に .not.gnu.build-i と書かれている上記のセクションに気付きました。.text セクションを正しい場所に配置する方法はありますか? align 4
以前は1Mに設定していました。
performance - opensuse studio の起動を高速化し、起動メッセージを表示する方法
次のようなイメージを作成したいと考えています。
- ブート中にできるだけ多くの情報を表示します (ブート ステップの大まかなプロファイリング用)。
- シェルプロンプトでできるだけ速く起動する
注: ブートローダーは grub2 ですが、対応するタグを作成できなかったため、利用可能な最も近い "grub" を使用しました。
linux - Centos 7 緊急モード無限エラー
/etc/fstab に不正なコード行があるため、Linux マシンを起動できません。現在、私のマシンは起動を試み、「緊急モードへようこそ!...」というメッセージを無限にループします。コンソールまたはログインにアクセスできません。
起動画面でエスケープを押してレスキューモードに入っても機能しません。grub2 を使用すると、cat (lvm/centos-root)/etc/fstab 経由で fstab ファイルを確認できます。
このファイルを編集して、不適切なコード行を削除するにはどうすればよいですか?
c - Bochs (2.4.6)/GRUB (0.97) C 関数呼び出しで char 文字列を渡すと、「エラー 13 無効またはサポートされていない実行形式です」
「OS開発に関する小さな本」に従って、bochsで起動している小さなOSを実行しようとしています。
しかし、解決も説明もできない問題に遭遇しました。要するに、(C で) char 文字列を渡すと、カーネルは正常に起動し、動作します。
しかし、関数呼び出しで定義された char 文字列を使用して関数を直接呼び出そうとすると、GRUB はカーネルを起動しません。
それから私は得る
コンパイルとリンクは、警告やエラーなしでうまくいくようです。
私は何が欠けていますか?または、私は何を間違っていますか?
kmain.c
loader.s
link.ld
bochsrc.txt
メイクファイル
grub - UUID でディスク ドライブに grub をインストールする
/dev/sdX を使用する代わりに、UUID によってデバイス MBR にインストールするように grub に指示する方法はありますか? NixOS で外部 eSATA ハードディスクを設定していますが、明らかに、ハードディスクは常に同じ /dev/sd Xデバイスではありませんか?
で設定できることがわかりましたがboot.loader.grub.device = "/dev/sdX"
、次のように設定できます"/dev/disk/by-uuid/...."
か??
bootloader - GRUB2 ループバック コマンドを使用して VHD をマウントする
grub2 コマンド プロンプトで VHD ファイルをマウントする必要があります。
以下に示すように、「ループバック」コマンドを使用してみます。
「静的」と「動的」の両方のvhdを試しましたが、両方のVHDファイルにntfsパーティションデータが含まれていました。
VHDファイルには、「ループバック」マウント後にファイルシステムを認識できないヘッダーデータが含まれていると思います。同じ一連のコマンドを使用して、「iso」ファイルをマウントしてアクセスできます。
私の推測は正しいですか?もしそうなら、この問題を克服する方法はありますか?
c - エラー 13: 文字列リテラルを使用して grub で単純なカーネルを起動中に無効またはサポートされていない実行可能ファイル
フレーム バッファに 2 つの文字を書き込もうとする単純なカーネルを作成しました。
カーネルで文字列リテラルを定義すると、起動時に次の出力が得られます。
それ以外の場合、2 つの文字を定義すると、次のようになります (出力の先頭にある 'ab' に注意してください)。
ローダ
私はアセンブリでローダーを書きました:
カーネルは c で書かれている
外部ヘッダー
2 つの外部ヘッダーがあります。1 つは io.h と呼ばれる IO ポート用で、もう 1 つは fb.h と呼ばれるフレーム バッファへの書き込み用です。
ここに io.h と実装 io.s があります
io.h:
IO.S:
fb.h
fb.c
それを構築する
link.ld というリンカー スクリプトと Makefile があります。このガイド ( http://wiki.osdev.org/GCC_Cross-Compiler ) を使用してコンパイルした i386-elf 用の gcc クロス コンパイラを使用しています。
そして、ここに私のメイクファイルがあります
それを実行します
makefile は、iso というディレクトリの内容から iso を構築します。そのフォルダーには、ここで入手した事前構成済みのバージョンの grub ( https://github.com/littleosbook/littleosbook/blob/master/files/stage2_eltorito ) と、grub の menu.lst ファイルが含まれています。
menu.lst:
iso ディレクトリの内容:
iso イメージは bochs で起動します。ここに私のbochsrc.txtファイルがあります
isoを起動しようとすると、カーネルファイルの文字列リテラルがエラーを生成する理由を知っている人はいますか?
scripting - ユーザーが暗号化するためのパスワードを求められるスクリプトで「grub-md5-crypt」を使用します
タイトルからわかるように、grub で暗号化されたパスワードを構成したいと考えています/etc/grub.conf
。を使用する単一のスクリプトを使用しgrub-md5-crypt
たいのですが、暗号化するパスワードを入力し、sed
その暗号化された出力を/etc/grub.conf
. 第二部は私にとっては問題ありません。ただし、スクリプトでパスワードプロンプトを処理する方法:
暗号化されたパスワードを変数に自動的に保存したり、何らかの方法で管理したりして、スクリプトの次の行で次のようにするにはどうすればよいですかsed
。
助けてください
ubuntu - Ubuntu 12.0.4 にアップデートした後、再起動後に電源を入れると画面が機能しません
基本イメージをマシンにインストールして、セットアップが各マシンで同じであることを確認します。最近、基本イメージを更新して、Ubuntu 9.04 の代わりに Ubuntu 12.0.4 を使用するようにしました。
マシンの電源を入れた後に画面のプラグをオンにすると、画面がまったく接続されていないかのようにスリープモードになるという奇妙な問題があります。マシンを再起動すると機能します。Xorg.conf ファイルまたは grub の設定を変更して、この問題を解決できますか? これは、バージョン 9.04 を含む古い基本イメージでは使用されませんでした。