Arch Linux: 複数のカーネルのインストールと切り替え
私たちのガイドを参照して、さまざまな Linux カーネルをインストールして切り替えることで、Arch の可能性を最大限に引き出す方法を学びましょう。
Arch Linux の最も優れている点の 1 つは、その驚くべき柔軟性とカスタマイズ オプションです。ご存知のとおり、カーネルは Linux ディストリビューションの中心であり、Arch も例外ではありません。
ただし、多くの Arch ユーザーはディストリビューションに付属するデフォルトのバージョンを使い続けており、代替案を検討することはほとんどありません。これにはまったく問題はありません。結局のところ、デフォルトのカーネルは常に最新かつ最高であり、最新のハードウェアのサポートを提供します。
しかし、別のカーネルに切り替えることで、システムからさらに多くの可能性を引き出すことができると言ったらどうなるでしょうか?最新のカーネルが必ずしも最適であるとは限らない場合があるためです。
たとえば、Arch デスクトップ システムの 1 つを最近アップグレードした後、Razer のキーボードとマウスの周辺機器 (申し訳ありませんが、私はよくゲームをしているのです) が動作し始めました。簡単な調査により、オープン razer モジュールと最新のカーネルの間の互換性の問題が明らかになりました。
それで、私が何をしたと思いますか? Arch の LTS カーネルに切り替えると、問題は即座に解決されました。その後、最新のカーネルの更新バージョンによって問題は完全に修正されました。これは、さまざまなカーネルを使用できる Arch の柔軟性が大きな違いを生む可能性がある多くのシナリオのうちの 1 つにすぎません。
しかし、純粋に技術的な部分に進む前に、Arch が提供する公式 Linux カーネルと、よく目にする可能性のあるいくつかの非公式カーネルについて簡単に説明します。
公式カーネル
Arch は、さまざまなユーザーのニーズに応えるために 5 つの公式カーネル パッケージを提供しています。これらは、Arch Linux 開発チームまたは信頼できる寄稿者によって公式リポジトリの一部として維持および配布されます。
デフォルトの安定したカーネル (Linux)
これは、Arch のデフォルト インストールに付属する標準カーネルです。メインライン Linux カーネルの最新の安定リリースを提供し、一般的な使用に最適です。安定性を損なうことなく最新の機能とハードウェアのサポートが必要な場合は、これが頼りになるカーネルです。
インストールするコマンドとそのヘッダー ファイル:
sudo pacman -S linux linux-headers
長期サポート (LTS) カーネル (linux-lts)
Arch をサーバーとして使用しますか?なぜだめですか? LTS カーネルは安定性と長期メンテナンスに重点を置いており、主にセキュリティ修正と重大なバグに関するアップデートを受け取ります。通常、最新のメインラインよりも数バージョン遅れています。サーバーや運用環境など、安定性が最優先されるシステムに適しています。 「設定したらあとは忘れる」アプローチを好む場合にも最適です。
インストールするコマンドとそのヘッダー ファイル:
sudo pacman -S linux-lts linux-lts-headers
強化されたカーネル (Linux で強化された)
名前が示すように、ここではセキュリティが優先されます。このカーネルには、脆弱性に対してシステムを強化するための追加のパッチと構成が含まれており、エクスプロイトのリスクを最小限に抑えます。したがって、セキュリティについて心配している場合は、おそらくこれを選択することをお勧めします。
インストールするコマンドとそのヘッダー ファイル:
sudo pacman -S linux-hardened linux-hardened-headers
リアルタイムカーネル (linux-rt)
リアルタイム アプリケーション向けに設計されたこのカーネルは、遅延を最小限に抑え、予測可能なタスク スケジューリングを保証します。これは、オーディオ制作、ビデオ編集、および遅延によって混乱が生じる可能性があるその他の時間に敏感なタスクに最適です。
インストールするコマンドとそのヘッダー ファイル:
sudo pacman -S linux-rt linux-rt-headers
Zen カーネル (linux-zen)
Zen カーネルは、より最適化され応答性の高い Linux カーネルを日常のシステムに提供することを目的としたコミュニティ主導のプロジェクトです。デスクトップの対話性とシステムの応答性を向上させるために、多数のパフォーマンスの強化、スケジューラーの調整、その他の変更が組み込まれています。デスクトップ ユーザー、ゲーマー、マルチメディア愛好家に最適です。
インストールするコマンドとそのヘッダー ファイル:
sudo pacman -S linux-zen linux-zen-headers
非公式カーネル
上記で公式にサポートされているものに加えて、Arch はユーザーに、システムの動作、パフォーマンス特性、哲学的整合性について、公式のアップストリーム オプションよりもさらに多くの選択肢と制御を提供します。
公式カーネル (安定版、LTS、Hardened、Zen、Realtime バリアントなど) はすでに幅広いシナリオに対応していますが、非公式カーネルは特殊なニッチ領域を埋め、標準の Arch 製品の一部ではない可能性のある代替最適化を模索しています。以下は最も一般的に使用されるもののリストです。
これらのカーネルは公式 Arch リポジトリの一部ではありませんが、AUR を通じてインストールできることに注意することが重要です。これを行うには、yay
などの AUR ヘルパーが必要です。設定方法がわからない場合でも、心配しないでください。私たちのガイドがカバーします。
Liquorix カーネル (linux-lqx)
ゲームやマルチメディア向けの調整を含む、デスクトップのパフォーマンスと応答性のために高度に最適化されたカーネル。よりきびきびとしたエクスペリエンスを求めるゲーマーやデスクトップ ユーザーに最適です。
インストールするコマンドとそのヘッダー ファイル:
yay -S linux-lqx linux-lqx-headers
XanMod カーネル (linux-xanmod)
XanMod は、特にデスクトップの使用とハイパフォーマンス コンピューティング エクスペリエンス向けに最適化されたもう 1 つの非公式カーネルです。遅延を削減し、応答性を向上させるためのパッチとスケジューラーの調整が含まれており、ゲーム、マルチメディア、および負荷の高いマルチタスクに最適です。
インストールするコマンドとそのヘッダー ファイル:
yay -S linux-xanmod linux-xanmod-headers
リブレ カーネル (linux-libre)
フリー ソフトウェアの原則に厳密に従って、独自のファームウェアとドライバーをすべて削除した Linux カーネルのバージョン。これは、完全にオープンソース ソフトウェアで構成されたシステムを実行したいと考えているソフトウェアの自由の擁護者に最適です。
インストールするコマンドとそのヘッダー ファイル:
yay -S linux-libre linux-libre-headers
Linux カーネルのクリア (linux-clear)
このカーネルはインテルの Clear Linux プロジェクトから生まれており、インテル ハードウェア向けのパフォーマンスの最適化とパッチが含まれています。 Intel CPU を搭載し、特に計算量の多いタスクでパフォーマンスを最大化したいユーザーのパフォーマンスを向上させることができます。
インストールするコマンドとそのヘッダー ファイル:
yay -S linux-clear linux-clear-headers
CKカーネル(linux-ck)
CK カーネルには、負荷時のシステムの応答性を向上させるための MuQSS スケジューラーおよびその他のパフォーマンス拡張機能が備わっています。これは、頻繁にマルチタスクを実行し、激しいワークロード中によりスムーズなパフォーマンスを求めるユーザーに最適です。
インストールするコマンドとそのヘッダー ファイル:
yay -S linux-ck linux-ck-headers
Arch Linux でのカーネル間の切り替え
次のコマンドを実行して、LTS と Zen という 2 つの追加の Linux カーネルを Arch システムに追加しました。
sudo pacman -S linux-lts linux-zen
これらのカーネルをインストールするだけでは、自動的にシステムで使用できるようにならないことに注意してください。これらを使用して Arch ボックスを実行するには、ブートローダーにそれらを認識させる必要があります。
やり方がわからないですか?心配しないでください。GRUB と systemd-boot という 2 つの最も一般的なオプションのプロセスを順を追って説明します。
GRUB を使用したカーネルの切り替え
GRUB は、起動するたびに新しいカーネルを動的にスキャンしません。代わりに、「grub.cfg」構成ファイルに依存します。起動時に認識させて使用するには、少し操作する必要があります。ありがたいことに、それはとても簡単です。
以下のコマンドを実行して、GRUB 構成ファイルを再生成するだけです。このプロセスでは、「boot」ディレクトリの内容をスキャンして新しいカーネル イメージと関連する initramfs ファイルを探し、その後「grub.cfg」を新しいエントリで更新します。
再起動すると、GRUB はこの更新された構成ファイルを読み取り、新しくインストールされたカーネルをメニューに表示します。
sudo grub-mkconfig -o /boot/grub/grub.cfg
再起動後、「Arch Linux の詳細オプション」サブメニュー GRUB セクションに新しく追加されたカーネルが表示されます。キーボードの矢印キーを使用してその場所に移動し、「Enter」を押してアクセスします。
ここには、前にセットアップした LTS や Zen カーネルなど、インストールしたばかりのカーネルのリストが表示されます。キーボードの矢印キーを使用して、Arch システムを起動するカーネルを強調表示し、「Enter」 を押します。以上です。
しかし、もう少しユーザーフレンドリーにしましょう!利用可能なカーネル オプションをすべて表示するためだけにナビゲートする必要がある GRUB のサブメニューがあるのは不便だと思います。代わりに、すべてのカーネルがメイン画面に直接表示されるように設定しましょう。これがいかに簡単に達成できるかに驚かれるでしょう。
好みの端末のテキスト エディタで GRUB 設定ファイルを開きます。
sudo nano /etc/default/grub
「GRUB_DEFAULT」オプションを「0」から「保存済み」に変更します。
次に、「GRUB_SAVEDEFAULT」と「GRUB_DISABLE_SUBMENU」の行の先頭にある「#」記号を削除して、両方のオプションのコメントを解除します。
最後に、変更を保存し、「grub.cfg」ファイルを再作成します。
sudo grub-mkconfig -o /boot/grub/grub.cfg
再起動すると、まさに魔法が起こりました。すべてのカーネルが Arch システムのメイン GRUB 画面に簡単に表示されるようになりました。さらに良いことに、リストから別のカーネルを選択しない限り、ブートローダーは最後に使用したカーネルを記憶しており、次回は自動的にそのカーネルを起動します。
systemd-boot によるカーネルの切り替え
Systemd-boot は、Arch Linux および UEFI システムとシームレスに統合する軽量のブートローダーです。 systemd-boot を使用してカーネルを切り替えるには、目的のカーネルをインストールし、ブートローダー エントリを構成する必要があります。
追加のカーネルをインストールする最初の部分はすでに完了していると仮定します。次に、systemd-boot を使用してシステムを起動するためのセットアップ手順を説明します。
それぞれの新しいカーネルと initramfs イメージが「/boot」ディレクトリに生成されたかどうかを確認します。
素晴らしい!ご覧のとおり、追加の LTS カーネルと Zen カーネルも、メインの Arch カーネルと並んで「/boot」ディレクトリに必要なファイルを生成しています。
systemd-boot を使用しているので、その基本についてはすでによく理解していると思いますが、念のため簡単に復習しておきます。各カーネルには、「/boot/loader/entries/」に独自のエントリが必要です (「/boot」が ESP (EFI システム パーティション) マウント ポイントの場合、通常は最も一般的なケースです)。これらのファイルは、systemd-boot が各カーネルを処理する方法を定義します。
次に、追加のカーネルをインストールするたびに、「/boot/loader/entries/」ディレクトリ内にエントリを手動で作成する必要があります。これは単なる構成ファイルです。その名前は何でも構いません。必須の条件は、ファイルの拡張子が「.conf」であることです。 LTS カーネルでもやってみましょう。
sudo nano /boot/loader/entries/arch-lts.conf
そして、次のコンテンツをその中に入れます。
title Arch Linux LTS
linux /vmlinuz-linux-lts
initrd /initramfs-linux-lts.img
options root=UUID=45d61aea-cda7-4e55-a5f5-32ab4518a6dd rw
もちろん、「45d61aea-cda7-4e55-a5f5-32ab4518a6dd」の部分をルート (「/」) ファイルシステムの UUID に置き換える必要があります。以下を使用して見つけることができます。
lsblk -o NAME,UUID,FSTYPE,MOUNTPOINT
さらに、Intel または AMD CPU を使用している場合は、メインの initramfs の前にマイクロコード initrd を含めます (すでにインストールしていて、対応するファイルが「/boot」にある場合)。例えば:
title Arch Linux LTS
linux /vmlinuz-linux-lts
initrd /amd-ucode.img
initrd /initramfs-linux-lts.img
options root=UUID=45d61aea-cda7-4e55-a5f5-32ab4518a6dd rw
それでおしまい!ファイルを保存して終了します。最後に、すべてが適切であることを簡単に再確認しましょう。
bootctl list
準備は完了です。システムを再起動します。
sudo reboot
新しく追加された「Arch Linux LTS」が systemd-boot メニューで利用できるようになります。それを強調表示して「Enter」を押して、LTS カーネルで Arch システムを起動します。
最後に、作業を楽にする便利なちょっとしたトリックを紹介します。最後にブートしたカーネルを記憶するように systemd-boot を設定すると、毎回ブート メニューからカーネルを選択する必要がなくなります。 「/boot/loader/loader.conf」 ファイルを開き、「default」オプションを「@saved」に設定するだけです。
sudo nano /boot/loader/loader.conf
結論
皆さん、今のところ私からのメッセージは以上です。 Arch Linux の可能性を最大限に引き出すための新たな一歩を踏み出したところです。異なるカーネルをインストールして切り替える機能により、パフォーマンス、安定性、最先端の機能など、ニーズに合わせてシステムを微調整することができます。
したがって、選択したカーネルで再起動し、Arch が提供するすべての機能 (システム、方法) を探索し続けてください。
ご質問やフィードバックがございましたら、以下のコメントセクションまでお気軽にお問い合わせください。ハッピーアーチング!