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

news/2024/11/8 8:58:41/

当需要指定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 ]; thenmenuentry_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
    

重启系统,此时已经自动进入了指定的内核


http://www.ppmy.cn/news/799070.html

相关文章

用ubuntu玩dota2

注:我个人不玩游戏,另外用ubuntu来玩游戏有点不太“正当”……但是我觉得有尝新的东西还是很值得转载。 如果电脑上的操作系统只有ubuntu,没有windows,如何运行dota2呢? dota2是支持linux的!!&…

查看ubuntu版本号命令

查看ubuntu版本号命令 1、uname -a 查看内核版本号 2、cat /etc/issue 查看ubuntu版本号 3、sudo lsb_release -a 查看ubuntu版本号 posted on 2018-10-26 16:50 skyfall007 阅读(...) 评论(...) 编辑 收藏

查看当前ROS2版本 【Ubuntu22.04】Ubuntu Software无法打开该怎么处理

查看当前ROS2版本 一个命令解决 printenv ROS_DISTRO输出 foxy ##或者 humble ##等等PS:一个小小的命令找了好久,我太难了。 Ubuntu Software无法打开该怎么处理 本人使用的是ubuntu 20.04 ,不知道为什么自带的软件商店打不开了&#x…

教你如何查看Ubuntu版本

http://www.linuxidc.com/Linux/2007-07/6178.htm 方法一 在终端中执行下列指令: cat /etc/issue 可以查看当前正在运行的 Ubuntu 的版本号。其输出结果类似下面的内容: Ubuntu 7.04 \n \l 方法二 使用 lsb_release 命令也可以查看 Ubuntu 的版本号…

Ubuntu如何查看查看redis是否启动

打开命令行终端,输入下面命令 ps aux | grep redis-server如下图所示

如何查看ubuntu的内核版本和发行版本号?

有时候,我们在升级内核版本或者是从一个版本升级到新的版本之后,想要查看一下自己的ubuntu是否升级成功。可是有没有一种比较快捷的方法比如说在终端里面查看呢?答案是肯定的。为了查看 Ubuntu 的版本号,可以采用以下两种方法之一…

Ubuntu 16.04 使用burg修改开机引导主题

前言 学习Linux自然少不了要装双系统,其中Ubuntu便是我们用的最多的Linux系统。 装完双系统后,Ubuntu会自动生存grub开机引导及菜单,及其丑陋,而且很多我们用不到的选项。 今天我们就介绍burg:修改开机引导主题。 …

查看ubuntu版本号

方法一: 命令:cat /etc/issue 显示: Ubuntu 18.04.5 LTS \n \l 即为版本号。 方法二: 命令:sudo lsb_release -a 需要输入ubuntu密码。显示如下。