Arch Linuxでsystemd-bootのカーネルを変更する方法
Arch Linuxでsystemd-bootのカーネルを変更する手順を紹介します。
1. 新しいカーネルのインストール
sudo pacman -S linux
などで新しいカーネルをインストールしてください。
2. カーネルイメージの作成
インストールが完了したら、新しいカーネルイメージを作成します。以下のコマンドを実行して、initramfsを生成します。
sudo mkinitcpio -p linux
3. ブートローダの設定ファイルの編集
ブートローダの設定ファイルを編集します。設定ファイルは /boot/loader/entries ディレクトリにあります。例えば、linux.confという名前の設定ファイルを作成し、以下のように設定します。
title Arch Linux
linux /vmlinuz-linux
initrd /initramfs-linux.img
options root=/dev/sdXY quiet rw
title:エントリの表示名を指定します。(boot in 3..の画面でのタイトルになります。)
linux:カーネルイメージのパスを指定します。vmlinuz-linuxはlinuxカーネルイメージのデフォルト名です。
initrd:initramfsイメージのパスを指定します。initramfs-linux.imgもデフォルトの名前です。
options:カーネルの起動オプションを指定します。root=/dev/sdb2の部分は、Arch Linuxのルートパーティションのデバイスを指定します。
適宜XYは変更してください(rootパーティションにしてください。)
4. ブートローダの設定ファイルの更新
設定ファイルの変更を適用するため、ブートローダの設定ファイルを更新します。以下のコマンドを実行してください。
sudo bootctl update
あとはrebootしたらカーネル選択画面が出てくると思います。
カーネルが画面に出てこないとき
/boot/loader/entriesのファイルが正しく設定できてないのが原因です。
もともとあるentriesのファイルをコピペして使うと良いでしょう。
# Created by: archinstall
# Created on: 2023-05-07_00-59-49
title Arch Linux (linux-zen)
linux /vmlinuz-linux-zen
initrd /amd-ucode.img
initrd /initramfs-linux-zen.img
options root=PARTUUID=XXXXXXXXX zswap.enabled=0 rw intel_pstate=no_hwp rootfstype=ext4
あとはlinux のところとinitrdの2つ目、titleを編集すればOKです。