エリロ
コピーして貼り付ける部分を決定するのは本当に難しいので、本当に難しいので、お読みください。
ロッド・スミス
しかし、あなたがする前に、私はそれについて少しコメントしたいと思います。上記のELILOリンクは、Rod Smithによって書かれたrodsbooks.comにあるUEFIブートに関する多くのページの1つです。彼は熟練したテクニカルライターであり、UEFIブートのトピックをグーグルで検索して、彼の何かを読んでいない場合は、上位のいくつかの結果をスキップした可能性があります。
Linux UEFIブート
基本的に、Linuxカーネルはファームウェアによって直接実行できます。
上記のリンクで、彼はLinuxカーネルのEFIスタブローダーについて言及しています。これは、Linuxカーネルをファームウェア自体から直接呼び出すことができるため、これを使用する必要があると思います。あなたが何をしているかに関係なく、ファームウェアによって何かが実行されていますgrub
。ファームウェアがOSカーネルを直接ロードできる場合、ブートローダーは何が良いですか?UEFIファームウェアマウントA FATは、GPTパーティションがフラグ付きフォーマットESPパーティションテーブルによって、それはオンボードのフラッシュメモリ・モジュール内のUEFIブート変数として保存されているがパスを実行します。そのため、LinuxカーネルをそのFATパーティションに配置し、そのブート変数にそのパスを保存することができます。突然カーネルが独自のものになりました ブートローダー。
ブートローダー
UEFIシステムでは、ブートローダーは冗長です-ELILOが含まれています。
ブートローダーが解決するように設計された問題は、BIOSシステムがブートフラグ付きパーティションの最初のセクターのみを読み取って実行することでした。512バイトのカーネルで何か意味のあることをするのは少し難しいので、一般的なことは、実際のカーネルを保持してチェーンロードするファイルシステムをマウントできる小さなユーティリティを書くことでした。
実際、512バイトはブートローダーにとっても十分ではありませんでした。grub
たとえば、カーネルをチェーンロードする前に、実際にチェーンロードします。これは、ブートセクタとファイルシステムの最初のセクタの間の空きスペースに2番目のステージを挿入するためです。これは一種の汚いハックですが、機能しました。
ブートマネージャー
ただし、構成を簡単にするために、いくつかの中間が有用な場合があります。
Rod SmithのrEFIndが行うことは、EFI アプリケーションとしての起動です。これは比較的新しい概念です。これは、ファームウェアからディスクから実行され、ファームウェアに戻るプログラムです。rEFIndは、ブートメニューを管理し、ブート選択をファームウェアに戻して実行できるようにします。UEFIファイルシステムドライバーが付属しているため、たとえば、非FATパーティションでカーネルのEFIスタブローダーを使用できます。(現在の/boot
)で。管理するのは非常に簡単です-そのようなことが必要な場合-実行可能なシステムカーネルのシンプルさを、構成可能なブートマネージャーの利便性に追加します。
アトミックインダイレクション
カーネルはシンボリックリンクを必要としません-それはできます mount --bind
ます。
あなたの上の任意のパスがある場合/
、あなたがすべき禁止シンボリックリンクは、それがあります/boot
。孤立したシンボリックリンクは、トラブルシューティングが必要な問題の種類で/boot
はありません。それでも、/boot
インプレースカーネルの更新や複数のカーネル構成を処理するために、いくつかのディストリビューションによって複雑なインダイレクションをセットアップすることは十分に一般的な方法です(たとえそれがひどいアイデアであっても)。
これは、ファイルシステムドライバ(rEFIndパッケージで提供されるものなど)をロードするように構成されていない EFIシステムの問題です。FATは全体としてかなり愚かなファイルシステムであり、それらを理解しないためです。
私は個人的にrEFIndで提供されているUEFIファイルシステムドライバーを使用していませんが、ほとんどのディストリビューションにはパッケージマネージャー経由でインストールできるrEFIndパッケージが含まれています。 /boot
configと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が必要な場合は、最初の段落にrEFIndへのリンクがあります。基本的にUEFIブート構成を行う場合は、rodsbooks.comを最初に読んでください。