私はかなり悪い経験をしましたGRUB2
。私は言うことができる(そして言った)デザインと開発プロセスのいくつかの不快な点。特に更新される方法が気に入らない。何らかの理由で半自動で複数のスクリプトを更新する必要があります。 1つのスクリプトはチェーン内の他のスクリプトを介して間接的に更新され、すべてのカーネル更新または他のいくつかのマイナーな更新について(そして表には関係がないようですが)構成の変更。
これは、復元を真剣に検討している以前の経験とはまったく対照的です。LILO
何の問題もなく、構成も非常に簡単だったからです。一方では、私が知っている限り更新するだけです。(またはアップデートだけになっても過言ではありません)各カーネルアップデートには、管理しやすい設定テキストファイルがあります。
それでは、LILOは今日のコアを備えた最新のハードウェアでどのように機能しますか? GRUBはどうしますか?他のブートローダはどうですか?前提条件を満たす必要がありますか、それともlilo
以前に思い出したように構成ファイルを作成してコマンドを実行する必要がありますか?カーネルパッケージアップデート(Debian / Ubuntu)はGRUB2と同じ方法でLILOをアップデートしますか?
ベストアンサー1
エリヨ
Linux 用 EFI ブートローダの管理: ELILO の使用
これらのどの部分をコピー+貼り付けるべきかを決定するのは本当に難しいです。すべてがとても好きで、読んでください。
ロードスミス
両方とも作成してメンテナンスgdisk
そしてrEFInd
。
しかし、その前にこれについていくつかのコメントを提示したいと思います。上記のELILOリンクは、UEFIブートについて見つけることができる多くのページの1つです。Rodsbooks.comロードスミスが書いた。彼は優れた技術作家です。 UEFIブートトピックを検索したが、彼の内容を読めなかった場合は、最初のいくつかの結果をスキップした可能性があります。
Linux UEFIブート
デフォルトでは、Linuxカーネルはファームウェアによって直接実行できます。
上記のリンクで彼が言及したLinuxカーネル用EFIスタブローダ- 私の考えでは、ファームウェア自体がLinuxカーネルを直接呼び出すことができるので、この機能を使うべきだと思います。何をしても構いません。何ファームウェアで実行 - 何かが実行されているような音がしますgrub
。ファームウェアがオペレーティングシステムカーネルを直接ロードできる場合、ブートローダはどんな役に立ちますか? UEFI ファームウェアは、FAT 形式で表示される GPT パーティションをマウントします。特にテーブルを分割し、オンボードフラッシュモジュールで実行し、ルートをUEFIブート変数として保存します。したがって、できることの1つは、LinuxカーネルをそのFATパーティションに配置し、そのパスを対応するブート変数に保存することです。突然カーネルそれブートローダー。
ブートローダー
UEFI システムでは、ELIO を含むブートローダが重複しています。
ブートローダが解決するように設計された問題は、BIOSシステムが読み取り専用であることです。始めるパーティションを表示して実行します。 512バイトのカーネルでは意味のある操作を実行するのがやや難しいので、保存可能なファイルシステムをマウントできる小さなユーティリティを書くのが一般的です。実際カーネルがそれをチェーンロードします。
実際、512バイトは通常ブートローダには不十分です。grub
たとえば、カーネルをチェーンロードする前に、実際にはそれ自身をチェーンロードします。第二段階ブートセクタとファイルシステムの最初のセクタの間の空きスペース。汚いハッキングですが、うまくいきます。
ブートマネージャ
しかし、構成の便宜のために一部ブローカーが役に立ちます。
Rod SmithのrEFIndがしたことは、EFIとしてリリースされました。アプリケーション- 比較的新しい概念です。ファームウェアによってディスクから再びファームウェアとして実行されるプログラムです。 rEFInd の機能は、ブートメニューを管理し、ブート選択を返すことです。ファームウェアで実装する。UEFIファイルシステムドライバが付属しています。- 例えば、することができます非脂肪分割(現在のものと同じ/boot
)。必要に応じて管理が非常に簡単で、実行可能なシステムカーネルのシンプルさと設定可能なブートマネージャの利便性が追加されます。
原子間接
カーネルにはシンボリックリンクは必要ありませんmount --bind
。
/
あなたがいる場所に道がある場合しなければならないシンボリックリンクは禁止されています/boot
。孤児シンボリックリンクは次の/boot
とおりです。いいえ解決すべき問題のタイプ。それにもかかわらず、/boot
内部カーネルの更新および/または複数のカーネル構成を処理するために複数のディストリビューションにわたって複雑な間接参照を設定することは一般的な慣行です。ひどい考えだと言っても。
これは質問EFIシステムの場合いいえファイルシステムドライバをロードするように設定されています(例:rEFIndパッケージで提供)FATは全体的に非常に愚かなファイルシステムなので、それを理解していません。
私は個人的にrEFIndが提供するUEFIファイルシステムドライバを使用しません。ほとんどのディストリビューションにはパッケージマネージャを介してインストールできるrEFIndパッケージが含まれていますが、自分の過酷なシンボリックリンク/boot
構成とrEFIndパッケージUEFIファイルシステムドライバを使用することを忘れてください。
私の設定
かつてそれについて一連の指示を書いて投稿しました。ここにあります。しかし、次のようになります。
% grep esp /etc/fstab &&
> ls /esp/EFI
LABEL=ESP /esp vfat defaults 0 1
/esp/EFI/arch_root /boot none bind,defaults 0 0
arch_root/ arch_sqsh/ arch_xbmc/ BOOT/ ipxe/
だから私は/etc/fstab
新しいLinuxインストールを含むフォルダを指すこの2行を入力し、/boot
ほぼすべてについて心配しないでください。私もやるべきこと:
cat /boot/refind_linux.conf
"Arch" "root=LABEL=data rootflags=subvol=arch_root,rw,ssd,compress-force=lzo,space_cache,relatime"
refind-efi
最初のインストールパッケージを進めるだけでなく、pacman
必要な複数の個別のインストール/構成を設定するために必要なのはすべてです。上記の文字列は、ほとんどのカーネルパラメータで指定されたbtrfs固有のインストールオプションで構成されています。より一般的な/boot/refind_linux.conf
ものは次のとおりです。
"Menu Entry" "root=/dev/sda2"
それがすべてです。
Rodsbooks.com
それでもELILOが必要な場合は、上記のリンクでインストール手順を見つけることができます。 rEFIndが必要な場合は、最初の段落でそのリンクを見つけることができます。デフォルトで UEFI ブート構成を実行するには、次の内容をお読みください。Rodsbooks.com最初。