如何將 arch linux 切換到 lts 核心?

如何將 arch linux 切換到 lts 核心?

我正在運行 arch linux 的無頭伺服器安裝。核心升級率太高,讓我在維護方面很頭疼,因此我希望切換到它的內核

我已經安裝了linux-ltslinux-lts-headers軟體包。現在,我已經安裝了兩個內核,但我有點不知道如何從這裡繼續。這文件解釋:

[...]您需要更新引導程式的設定檔以使用 LTS 核心和 ram 磁碟:vmlinuz-linux-ltsinitramfs-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,但我不知道如何使用該工具來告訴 grub 使用哪個核心和 ramdisk。

如何將帶有 grub 的 archlinux 切換到 lts 核心?切換核心時還有哪些需要注意的地方?

答案1

好吧,在喬在評論中為我指出了正確的方向之後,我就是這樣做的:

  1. 基本上只需安裝pacman -S linux-lts

  2. (可選)檢查核心、ramdisk 和後備是否可用ls -lsha /boot

  3. 刪除標準內核pacman -R linux

  4. 更新 grub 配置grub-mkconfig -o /boot/grub/grub.cfg

  5. 重啟

請注意,syslinux您需要/boot/syslinux/syslinux.cfg相應地編輯 syslinux 配置文件,只需將所有內容指向-lts核心即可。

答案2

來自非洲的回答對於 GRUB 來說效果很好,但我直接使用UEFI,更加輕量化,充分利用了UEFI主機板。

  1. 安裝linux-lts
  2. (可選)檢查資料夾中是否有 LTS 版本的核心、ramdisk 和後備可用/boot
  3. 產生 EFI 條目的方式與產生常規 Linux 條目的方式相同,但將 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資料夾中。

  4. 重啟。您可能需要在啟動進入作業系統之前調整主機板中的啟動順序,例如按 F12(取決於您的主機板)。我實際上使用 Hyper-V,它允許在“Hyper-V Manager”中配置啟動順序。

  5. (可選)成功引導至 LTS 核心(使用 驗證uname -r)後,使用 刪除標準核心pacman -R linux

答案3

  1. 安裝linux-lts(或任何其他核心):

    pacman -S linux-lts
    
  2. 更新您的引導程式條目:

    $ sudo vim /boot/loader/entries/arch.conf 
    

    並改變:

    linux   /vmlinuz-linux
    initrd  /initramfs-linux.img
    ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
    linux   /vmlinuz-linux-lts
    initrd  /initramfs-linux-lts.img
    
  3. 重新啟動並確認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

相關內容