0. 基本命令

uname -a   # 查看当前所使用内核
dpkg -l | grep linux # dpkg后是lmn的l。查看当前操作系统的内核
dekg -l | grep linux-image

1. 下载特定版本内核

(1)  命令行

sudo dpkg --get-selections |grep linux-image

sudo apt-get install linux-image-*****

这种方法,网上有不少例子可参考。

(2) synaptic

synaptic是一个很好图形化界面,可以通过搜索来快速定位所需安装的内核。

sudo apt-get install synaptic       # 安装
sudo synaptic # 打开

主要参考【1】,大致方法: 搜索 -- 选中所需安装的内核,右键 选择“选中以便安装 ”(Mark for Installation) -- (软件最上方)应用(apply)-- 查看细节(show details) ,再次确认是否正确选中了想要的版本 -- 应用 (apply),【1】中举了个例子“一般来说普通电脑需要更换的为headers和image,不要选错了。请直接找到需要更换的headers,如:需要更换 linux-headers-4.15.0-13-generic,右击选择“Mark for Installation”。可以看到 linux-headers-4.15.0-13也被顺便勾起来了,这个也是必要的,请不要取消。往下找,找到linux-image-4.15.0-13-generic,右击同样“Mark for Installation”。请注意务必和前面的headers对应。现在我们有三个勾选选项了。注:建议连带linux-image-extra-4.15.0-13-generic一起安装,虽然不一定用得上,还会让你的kernel列表更臃肿,但是这可以修复潜在的驱动不兼容问题 。”

2. 设置系统默认启动内核

下列内容摘自[2],部分经过修改

(1) 查看所有内核名称

grep menuentry /boot/grub/grub.cfg

结果:

if [ x"${feature_menuentry_id}" = xy ]; then
menuentry_id_option="--id"
menuentry_id_option=""
export menuentry_id_option
menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-3a45027c-15ed-4cec-a233-7c3927e74d11' {
submenu 'Ubuntu 高级选项' $menuentry_id_option 'gnulinux-advanced-3a45027c-15ed-4cec-a233-7c3927e74d11' {
menuentry 'Ubuntu,Linux 4.15.0-43-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.15.0-43-generic-advanced-3a45027c-15ed-4cec-a233-7c3927e74d11' {
menuentry 'Ubuntu, with Linux 4.15.0-43-generic (upstart)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.15.0-43-generic-init-upstart-3a45027c-15ed-4cec-a233-7c3927e74d11' {
menuentry 'Ubuntu, with Linux 4.15.0-43-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.15.0-43-generic-recovery-3a45027c-15ed-4cec-a233-7c3927e74d11' {
menuentry 'Ubuntu,Linux 4.15.0-33-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.15.0-33-generic-advanced-3a45027c-15ed-4cec-a233-7c3927e74d11' {
menuentry 'Ubuntu, with Linux 4.15.0-33-generic (upstart)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.15.0-33-generic-init-upstart-3a45027c-15ed-4cec-a233-7c3927e74d11' {
menuentry 'Ubuntu, with Linux 4.15.0-33-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.15.0-33-generic-recovery-3a45027c-15ed-4cec-a233-7c3927e74d11' {
menuentry 'Ubuntu,Linux 4.15.0-29-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.15.0-29-generic-advanced-3a45027c-15ed-4cec-a233-7c3927e74d11' {
menuentry 'Ubuntu, with Linux 4.15.0-29-generic (upstart)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.15.0-29-generic-init-upstart-3a45027c-15ed-4cec-a233-7c3927e74d11' {
menuentry 'Ubuntu, with Linux 4.15.0-29-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.15.0-29-generic-recovery-3a45027c-15ed-4cec-a233-7c3927e74d11' {
menuentry 'Memory test (memtest86+)' {
menuentry 'Memory test (memtest86+, serial console 115200)' {
menuentry 'Windows 7 (loader) (on /dev/sda1)' --class windows --class os $menuentry_id_option 'osprober-chain-246AF2746AF241DA' {

例如需要的内核是 Ubuntu,Linux 4.15.0-29-generic

(2) 执行下面命令后,修改引导界面配置中的  GRUB_DEFAULT="Ubuntu,Linux 4.15.0-29-generic".

sudo gedit /etc/default/grub
# 如果在tty中的话,因为无法打开gui,只能使用vi或vim
sudo vi /etc/default/grub
或 sudo vim /etc/default/grub

(3) 执行下面命令后,这时候会有WARNING提示修改GRUB_DEFAULT的名称,例如我的WARNING提示我将GRUB_DEFAULT修改为GRUB_DEFAULT="gnulinux-advanced-3a45027c-15ed-4cec-a233-7c3927e74d11>gnulinux-4.15.0-29-generic-advanced-3a45027c-15ed-4cec-a233-7c3927e74d11"。将该名字复制重新进行步骤二,然后再sudo update-grub。

sudo update-grub   # 更新引导

(4) 重启

sudo reboot

参考

[1] https://blog.csdn.net/qq_42030961/article/details/82740315
[2] https://blog.csdn.net/cf_wu95/article/details/85984956

【Ubuntu】Ubuntu中下载特定版本内核和设置某版本内核为默认启动内核的更多相关文章

  1. ubuntu修改默认启动内核

    一.序言 新换的笔记本由于太新的主板芯片,驱动还没有完善.每次升级系统内核都要小心谨慎.经常发生部分硬件驱动失败的事情.系统Ubuntu 20.04.2 LTS x86_64 ,我现在使用的两个版本的 ...

  2. eclipse中使用Maven管理java工程设置jdk版本为jdk1.8

    使用Maven管理Java工程时,maven可以自动下载工程中依赖的jar包,这对于大型的项目非常方便.但在初次使用eclipse新建maven工程时遇到一些问题,我的jdk安装的是1.8版本,在配置 ...

  3. ubuntu13.04修改默认启动内核

    ubuntu下面的启动内核选项跟其他操作系统不一样,有个子菜单,比如我在默认的ubuntu13.04上安装了一个新的内核3.14.5,那么默认的第一项是3.14.5内核,第二项是一个子菜单,第二项里面 ...

  4. Centos7多内核情况下修改默认启动内核方法

    1.1  进入grub.cfg配置文件存放目录/boot/grub2/并备份grub.cfg配置文件 [root@linux-node1 ~]# cd /boot/grub2/ [root@linux ...

  5. centos7.2 默认启动内核修改

    总所周知,修改centos6的内核启动顺序,只需要修改/etc/grub.conf 里的default项配置即可.那么centos7系统该如何修改呢? 下面就centos7系统修改内核,做如下记录: ...

  6. Ubuntu 14 中,SecureCRT、SecureFX个性化设置

    [SecureCRT 个性化设置] 打开设置路径:菜单栏 -> Opions -> Global Options -> General -> Default Session - ...

  7. centos7 选定默认启动内核,及删除无用内核

    #使用cat /boot/grub2/grub.cfg |grep menuentry 查看系统可用内核 [root@bigapp-slave27 ~]# cat /boot/grub2/grub.c ...

  8. centos 修改默认启动内核,及删除无用内核

    #使用cat /boot/grub2/grub.cfg |grep menuentry 查看系统可用内核 [root@bigapp-slave27 ~]# cat /boot/grub2/grub.c ...

  9. Centos7修改默认启动内核

    #使用cat /boot/grub2/grub.cfg |grep menuentry  查看系统可用内核 root@Cs7-:/root> cat /boot/grub2/grub.cfg | ...

随机推荐

  1. Jenkins 介绍

    持续集成: 持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通过每个成员每天至少集成一次,也就意味着每天可能会发生多次集成.每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证 ...

  2. Https双向验证与Springboot整合测试-人来人往我只认你

    1 简介 不知不觉Https相关的文章已经写了6篇了,本文将是这个专题的最后一篇,起码近期是最后一篇.前面6篇讲的全都是单向的Https验证,本文将重点介绍一下双向验证.有兴趣的同学可以了解一下之前的 ...

  3. OSG程序设计之更新回调

    更新回调(Update Callback)涉及到一个类:osg::NodeCallback.这个类重载了函数调用操作符.当回调动作发生时,将会执行这一操作符的内容. 如果节点绑定了更新回调函数,那么在 ...

  4. 使用Codemirror打造Markdown编辑器

    前几天突然想给自己的在线编译器加一个Markdown编辑功能,于是花了两三天敲敲打打初步实现了这个功能. 一个Markdown编辑器需要有如下常用功能: 粗体 斜体 中划线 标题 链接 图片 引用 代 ...

  5. java读源码 之 map源码分析(HashMap)二

    ​ 在上篇文章中,我已经向大家介绍了HashMap的一些基础结构,相信看过文章的同学们,应该对其有一个大致了了解了,这篇文章我们继续探究它的一些内部机制,包括构造函数,字段等等~ 字段分析: // 默 ...

  6. 【Kafka】Kafka集群基础操作!新手上路必备~

    目录 bin目录 Topic命令概览 创建Topic 查看Topic 描述Topic Producer生产数据 Consumer消费数据 增加topic分区数 增加配置 删除配置 删除Topic 所有 ...

  7. 生产者消费者问题中的同步机制JAVA设计和实现

    目录 问题描述 问题分析 利用记录型信号量解决 运行环境 实现思路 代码实现 运行截图 过程中出现的问题和注意点 利用AND信号集解决 运行环境 实现思路 代码实现 运行截图 问题描述 若干进程通过有 ...

  8. [hdu3364]xor方程组消元

    题意:n个灯,m个开关,给定每个开关控制的灯,全部的灯初始时全部熄灭,开关按一下其所控制的灯的状态全部反转,开关最多只能按一下.问达到目标状态的方案数. 思路:xor方程组的模型. 1 2 3 4 5 ...

  9. 基于 abp vNext 和 .NET Core 开发博客项目

    项目介绍 此个人博客项目底层基于 ABP Framework (不完全依赖)搭建项目 和免费开源跨平台的 .NET Core 3.1 开发,可作为 .NET Core 入门项目进行学习,支持各种主流数 ...

  10. Mysql 常用函数(19)- mod 函数

    Mysql常用函数的汇总,可看下面系列文章 https://www.cnblogs.com/poloyy/category/1765164.html mod 的作用 求余数,和%一样 mod的语法格式 ...