私はヘッドレスサーバーのインストールにArch Linuxを使用しています。カーネルのアップグレード頻度が高いため、メンテナンスに頭を悩ませており、カーネル。
linux-lts
およびパッケージはすでにインストールされていますlinux-lts-headers
。両方のカーネルをインストールしましたが、ここからどのように進めていけばいいのかよくわかりません。ドキュメントの説明:
vmlinuz-linux-lts
[...] LTS カーネルと RAM ディスクを使用するには、ブートローダの設定ファイルを更新する必要がありますinitramfs-linux-lts.img
。
ブートセクションにすでに配置されています:
0 ✓ root@host ~ $ ll /boot/
total 85M
4,0K drwxr-xr-x 4 root root 4,0K 21. Mai 13:46 ./
4,0K drwxr-xr-x 17 root root 4,0K 4. Apr 15:08 ../
4,0K drwxr-xr-x 6 root root 4,0K 4. Apr 14:50 grub/
27M -rw-r--r-- 1 root root 27M 20. Mai 17:01 initramfs-linux-fallback.img
12M -rw-r--r-- 1 root root 12M 20. Mai 17:01 initramfs-linux.img
27M -rw-r--r-- 1 root root 27M 21. Mai 13:46 initramfs-linux-lts-fallback.img
12M -rw-r--r-- 1 root root 12M 21. Mai 13:46 initramfs-linux-lts.img
16K drwx------ 2 root root 16K 4. Apr 14:47 lost+found/
4,3M -rw-r--r-- 1 root root 4,3M 11. Mai 22:23 vmlinuz-linux
4,2M -rw-r--r-- 1 root root 4,2M 19. Mai 21:05 vmlinuz-linux-lts
現在、非 LTS カーネルを指すエントリがすでに見つかりましたが、grub.cfg
ヘッダーにはこのファイルを編集しないように指示されています。grub-mkconfig
代わりにユーティリティが示されていますが、このツールを使用して、どのカーネルと RAM ディスクを使用するかを GRUB に指示する方法がわかりません。
GRUB を搭載した Arch Linux を LTS カーネルに切り替えるにはどうすればよいでしょうか? カーネルを切り替えるときに他に注意すべきことはありますか?
答え1
さて、ジョーがコメントで正しい方向を指摘してくれたので、私は次のように実行しました。
基本的にはインストールするだけです
pacman -S linux-lts
(オプション)カーネル、RAMディスク、フォールバックが利用可能かどうかを確認します
ls -lsha /boot
標準カーネルを削除する
pacman -R linux
GRUBの設定を更新する
grub-mkconfig -o /boot/grub/grub.cfg
リブート
注意: syslinux
syslinux 構成ファイルを/boot/syslinux/syslinux.cfg
適宜編集する必要があるので、すべてをカーネルに向けるだけです-lts
。
答え2
アフリからの答えGRUBではうまく機能しますが、私はUEFIを直接使用する、より軽量で、UEFI マザーボードを最大限に活用します。
- インストール
linux-lts
- (オプション) カーネル、RAM ディスク、フォールバックの LTS バージョンが
/boot
フォルダー内で使用可能かどうかを確認します。 通常の Linux エントリを生成するのと同じ方法で EFI エントリを生成しますが、ramdisk と loader を LTS のものに置き換えます。例:
efibootmgr --disk /dev/sdX --part Y --create --label "Arch Linux LTS" --loader /vmlinuz-linux-lts --unicode 'root=PARTUUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX rw initrd=\initramfs-linux-lts.img' --verbose
--loader
値と値をメモしますinitrd
。これらのファイルは/boot
フォルダー内にあるはずです。再起動します。オペレーティング システムを起動する前に、マザーボードのブート順序を調整する必要がある場合があります (マザーボードによって異なります)。私は実際に Hyper-V を使用しており、「Hyper-V マネージャー」でブート順序を構成できます。
(オプション) LTS カーネルの起動に成功したら ( で確認
uname -r
)、 で標準カーネルを削除しますpacman -R linux
。
答え3
インストール
linux-lts
(または他のカーネル):pacman -S linux-lts
ブートローダーのエントリを更新します。
$ sudo vim /boot/loader/entries/arch.conf
そして変更:
linux /vmlinuz-linux initrd /initramfs-linux.img ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ linux /vmlinuz-linux-lts initrd /initramfs-linux-lts.img
- 再起動して確認
uname -r
答え4
についてありがとうございましたこの答え、ダニエル・シェイペロ。再発見追加の編集なしで Arch をサポートします @dmn。インストールには以下の手順を実行していますrefind
。特に「extra_kernel_version_strings」が重要です。EFI ディレクトリはユーザーのもので、Windows や他の Linux ディストリビューションがインストールされている場合は、Windows も自動的にデュアル ブートします。
pacman -S refind
mkdir -p /efi/EFI/Boot
cp /usr/share/refind/refind_x64.efi /efi/EFI/Boot/bootx64.efi
cp -r /usr/share/refind/drivers_x64/ /efi/EFI/Boot/
echo 'extra_kernel_version_strings linux,linux-hardened,linux-lts,linux-zen,linux-git;' > /efi/EFI/Boot/refind.conf
echo 'fold_linux_kernels false' >> /efi/EFI/Boot/refind.conf
echo 'default_selection "linux from"' >> /efi/EFI/Boot/refind.conf