如何在Ubuntu中设定默认启动内核 (适用于GRUB 2.0及之后的版本)

当需要指定Ubuntu操作系统启动的不同内核版本时,这可能会变得有点棘手。因此,在这篇文章中,我们将探讨一些实用的方法,以便指定Ubuntu操作系统所需的内核版本。

安装内核的步骤非常简单,我们可以先查看一下当前的内核版本和GRUB版本。
uname -r
5.15.0-50-generic

查看grub版本

grub-install --version
grub-install (GRUB) 2.04-1ubuntu26.17
下面是在Ubuntu中如何下载和安装指定的内核的步骤:
  1. 打开终端窗口,输入以下命令以更新软件包列表:
    sudo apt-get update
    
  2. 输入以下命令以查看可用的内核版本:
    apt-cache search linux-image
    
  3. 选择需要安装的内核版本(此处我指定了Ubuntu-5.15.0-60版本),并输入以下命令以安装它:
    sudo apt-get install -y linux-image-5.15.0-60-generic linux-headers-5.15.0-60-generic linux-modules-5.15.0-60-generic linux-modules-extra-5.15.0-60-generic
    
如果在Ubuntu操作系统中存在比下载的指定内核版本更高的版本,它将成为系统默认的内核版本,导致无法启动到想要的指定内核。因此,在这种情况下,需要修改GRUB配置以手动选择指定的内核版本进行启动。
cat /boot/grub/grub.cfg |grep menuentry

输出结果

if [ x"${feature_menuentry_id}" = xy ]; then
  menuentry_id_option="--id"
  menuentry_id_option=""
export menuentry_id_option
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-f8bc5767-5931-4d42-b097-0e38b08767b7' {
submenu 'Ubuntu 的高级选项' $menuentry_id_option 'gnulinux-advanced-f8bc5767-5931-4d42-b097-0e38b08767b7' {
    menuentry 'Ubuntu,Linux 5.15.0-69-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.15.0-69-generic-advanced-f8bc5767-5931-4d42-b097-0e38b08767b7' {
	menuentry 'Ubuntu, with Linux 5.15.0-69-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.15.0-69-generic-recovery-f8bc5767-5931-4d42-b097-0e38b08767b7' {
	menuentry 'Ubuntu,Linux 5.15.0-60-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.15.0-60-generic-advanced-f8bc5767-5931-4d42-b097-0e38b08767b7' {
	menuentry 'Ubuntu, with Linux 5.15.0-60-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.15.0-60-generic-recovery-f8bc5767-5931-4d42-b097-0e38b08767b7' {
	menuentry 'Ubuntu, Linux 5.15.0-50-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.15.0-50-generic-advanced-f8bc5767-5931-4d42-b097-0e38b08767b7' {
    menuentry 'Ubuntu, with Linux 5.15.0-50-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.15.0-50-generic-recovery-f8bc5767-5931-4d42-b097-0e38b08767b7' {
menuentry 'UEFI Firmware Settings' $menuentry_id_option 'uefi-firmware' {
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change

在结果中选取Ubuntu,Linux 5.15.0-60-generic

修改grub
  1. 输入以下命令以打开GRUB文件:
    sudo nano /etc/default/grub
    
  2. 在打开的文件中找到以下行:
    GRUB_DEFAULT=0
    
  3. 将其更改为以下内容:
    GRUB_DEFAULT="Ubuntu,Linux 5.15.0-60-generic"
    
  4. 保存并关闭文件。
  5. 在命令行中输入以下命令以更新GRUB配置文件:
    sudo update-grub
    
  6. 更新后会输出如下结果,重点关注Warning行的内容
    Sourcing file `/etc/default/grub'
    Sourcing file `/etc/default/grub.d/init-select.cfg'
    正在生成 grub 配置文件 ...
    找到 Linux 镜像:/boot/vmlinuz-5.15.0-69-generic
    找到 initrd 镜像:/boot/initrd.img-5.15.0-69-generic
    找到 Linux 镜像:/boot/vmlinuz-5.15.0-60-generic
    找到 initrd 镜像:/boot/initrd.img-5.15.0-60-generic
    警告: Please don't use old title `Ubuntu,Linux 5.15.0-60-generic' for GRUB_DEFAULT, use `Advanced options for Ubuntu>Ubuntu,Linux 5.15.0-60-generic' (for versions before 2.00) or `gnulinux-advanced-f8bc5767-5931-4d42-b097-0e38b08767b7>gnulinux-5.15.0-60-generic-advanced-f8bc5767-5931-4d42-b097-0e38b08767b7' (for 2.00 or later)
    Adding boot menu entry for UEFI Firmware Settings
    完成
    
  7. 因为当前的GRUB版本是2.0后的,按照其提示的名字再次修改GRUB
    GRUB_DEFAULT="gnulinux-advanced-6ffc12d0-f92e-41de-b890-ab11bef41c78>gnulinux-5.15.0-50-generic-advanced-6ffc12d0-f92e-41de-b890-ab11bef41c78"
    
  8. 保存并关闭文件。
  9. 在命令行中再次更新GRUB配置文件:
    sudo update-grub
    
重启系统,此时已经自动进入了指定的内核
  • 7
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值