Afr*_*Afr 39 grub kernel arch-linux lts
我正在运行 arch linux 的无头服务器安装。内核升级的高速率让我在维护方面有些头疼,因此我希望切换到lts 内核。
我已经安装了linux-lts
和linux-lts-headers
包。现在,我安装了两个内核,但我有点不知道如何从这里继续。该文档解释:
[...] 您需要更新引导加载程序的配置文件以使用 LTS 内核和 ram 磁盘:
vmlinuz-linux-lts
和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
Run Code Online (Sandbox Code Playgroud)
现在,我已经找到了指向非 lts 内核的条目,grub.cfg
但标题告诉我不要编辑这个文件。它指向我的实用程序grub-mkconfig
但我不知道如何使用这个工具来告诉 grub 使用哪个内核和 ramdisk。
如何将带有 grub 的 archlinux 切换到 lts 内核?切换内核时还有什么需要注意的?
Afr*_*Afr 40
好的,在 joe 在评论中为我指出了正确的方向后,我是这样做的:
基本上只需安装 pacman -S linux-lts
(可选)检查内核、ramdisk 和回退是否可用 ls -lsha /boot
删除标准内核 pacman -R linux
更新 grub 配置 grub-mkconfig -o /boot/grub/grub.cfg
重启
请注意,因为syslinux
您需要相应地编辑 syslinux 配置文件/boot/syslinux/syslinux.cfg
,只需将所有内容都指向-lts
内核即可。
Afri 的回答对 GRUB 效果很好,但是我直接使用 UEFI,它更轻巧,充分利用了 UEFI 主板。
linux-lts
/boot
文件夹中是否有 LTS 版本的内核、ramdisk 和 fallback 。生成 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
Run Code Online (Sandbox Code Playgroud)
注意--loader
价值和initrd
价值。这些文件应该在/boot
文件夹中。
重启。您可能需要在引导到操作系统之前调整主板中的引导顺序,例如按 F12(取决于您的主板)。我实际上使用 Hyper-V,它允许在“Hyper-V 管理器”中配置启动顺序。
(可选)成功引导到 LTS 内核后(使用 验证uname -r
),使用 删除标准内核pacman -R linux
。
安装linux-lts
(或任何其他内核):
pacman -S linux-lts
Run Code Online (Sandbox Code Playgroud)更新您的引导加载程序条目:
$ sudo vim /boot/loader/entries/arch.conf
Run Code Online (Sandbox Code Playgroud)
并改变:
linux /vmlinuz-linux
initrd /initramfs-linux.img
???????????????????????
linux /vmlinuz-linux-lts
initrd /initramfs-linux-lts.img
Run Code Online (Sandbox Code Playgroud)uname -r