起因是安装了ubuntu 20.04 版本 其内核是5.8,用该版本内核编译 正点原子 MX6ULL 开发板的4.15版本内核时提示 文件系统报错,无论是NXP原厂还是正点原子的都报错。但是自己下载5.10版本的内核编译则顺利通过。不知道是何种原因,既然不想会重新装ubuntu 16.04 ,只能选择内核降级。

本次安装的是 linux-4.15.0-39 版本内核,其他版本大家自行选择下载

一、添加源镜像,防止出现 “E: 无法定位软件包问题 ”

1、切换到root模式

2、备份镜像源

sudo cp ~/etc/apt/sources.list ~/etc/apt/sources.list.bak

3、编辑镜像源

sudo vim /etc/apt/sources.list

4、增加镜像源,本次添加的是清华的镜像源,也可以添加其他源
在sources.list 最后一行添加以下内容

deb http://security.ubuntu.com/ubuntu trusty-security main
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse

5、更新镜像

sudo apt-get update

二、下载linux 内核 (方式1)
1、查询内核列表

sudo apt-cache search linux-image   查询列表中可更新的内核

2、安装4.15.0-39版本镜像

sudo apt-get install linux-image-4.15.0-39-generic  

3、安装4.15.0-39版本的内核

sudo apt-get install linux-headers-4.15.0-39-generic

4、安装4.15.0-39版本内核模块

sudo apt-get install linux-modules-4.15.0-39-generic

5、安装4.15.0-39版本的驱动

sudo apt-get install linux-modules-extra-4.15.0-39-generic

6、查询当前当前已安装的内核

dpkg -l |grep linux-image


从上面可以查看内核是否安装成功。

三 安装linux内核(方式二)
1、从内核官网或者其他地方下载linux内核安装包
2、使用cd 命令进入到安装装包目录下
3、安装内核

sudo dpkg -i *.deb

4、查询当前当前已安装的内核

dpkg -l |grep linux-image

如果报错,根据提示查找错误原因,解决后重新执行

四、切换内核版本 (重要)
众所周知,Bootloader是计算机启动时运行的第一个程序。 负责装载和传输控制信息到操作系统内核,而内核负责初始化其余的操作系统。 GNU GRUB是一个非常强大的Bootloader,可以加载很多种免费操作系统以及使用chain-loading的操作系统。

GRUB有两种不同的引导方法,一种是直接加载操作系统,另外一种是链式加载(chain-load)。通常采用的是第一种方式,因为它不需要安装或维护其他引导装载程序,GRUB能够通过这种方式从任意磁盘/分区加载操作系统。但是,后一种方式有时是必需的,因为GRUB并不支持对所有操作系统的直接加载。链式加载只支持PC BIOS和EFI平台。

GRUB由’grub.cfg’文件进行配置,通常位于/boot/grub路径下。这个文件相当灵活,但它通常不需要完全由用户手动写入

1、 查看需要使用的内核位置

gedit /boot/grub/grub.cfg

打开后如下所示,第2行明确的写着 “不要编辑该文件”。

之后我们向下查找,直至看到 menuentry ‘Ubuntu’ ,menuentry表示grub启动选项的显示条目。如下所示。

export linux_gfx_mode
menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-0adfee8d-6cc2-4769-8572-b4936f092cc3' {recordfailload_videogfxmode $linux_gfx_modeinsmod gzioif [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fiinsmod part_msdosinsmod ext2set root='hd0,msdos5'if [ x$feature_platform_search_hint = xy ]; thensearch --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5  0adfee8d-6cc2-4769-8572-b4936f092cc3elsesearch --no-floppy --fs-uuid --set=root 0adfee8d-6cc2-4769-8572-b4936f092cc3filinux  /boot/vmlinuz-5.8.0-48-generic root=UUID=0adfee8d-6cc2-4769-8572-b4936f092cc3 ro  quiet splash $vt_handoffinitrd  /boot/initrd.img-5.8.0-48-generic
}
submenu 'Ubuntu 的高级选项' $menuentry_id_option 'gnulinux-advanced-0adfee8d-6cc2-4769-8572-b4936f092cc3' {menuentry 'Ubuntu,Linux 5.8.0-48-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.8.0-48-generic-advanced-0adfee8d-6cc2-4769-8572-b4936f092cc3' {recordfailload_videogfxmode $linux_gfx_modeinsmod gzioif [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fiinsmod part_msdosinsmod ext2set root='hd0,msdos5'if [ x$feature_platform_search_hint = xy ]; thensearch --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5  0adfee8d-6cc2-4769-8572-b4936f092cc3elsesearch --no-floppy --fs-uuid --set=root 0adfee8d-6cc2-4769-8572-b4936f092cc3fiecho    '载入 Linux 5.8.0-48-generic ...'linux  /boot/vmlinuz-5.8.0-48-generic root=UUID=0adfee8d-6cc2-4769-8572-b4936f092cc3 ro  quiet splash $vt_handoffecho    '载入初始化内存盘...'initrd   /boot/initrd.img-5.8.0-48-generic}menuentry 'Ubuntu, with Linux 5.8.0-48-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.8.0-48-generic-recovery-0adfee8d-6cc2-4769-8572-b4936f092cc3' {recordfailload_videoinsmod gzioif [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fiinsmod part_msdosinsmod ext2set root='hd0,msdos5'if [ x$feature_platform_search_hint = xy ]; thensearch --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5  0adfee8d-6cc2-4769-8572-b4936f092cc3elsesearch --no-floppy --fs-uuid --set=root 0adfee8d-6cc2-4769-8572-b4936f092cc3fiecho    '载入 Linux 5.8.0-48-generic ...'linux  /boot/vmlinuz-5.8.0-48-generic root=UUID=0adfee8d-6cc2-4769-8572-b4936f092cc3 ro recovery nomodeset dis_ucode_ldr echo    '载入初始化内存盘...'initrd   /boot/initrd.img-5.8.0-48-generic}menuentry 'Ubuntu,Linux 5.8.0-45-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.8.0-45-generic-advanced-0adfee8d-6cc2-4769-8572-b4936f092cc3' {recordfailload_videogfxmode $linux_gfx_modeinsmod gzioif [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fiinsmod part_msdosinsmod ext2set root='hd0,msdos5'if [ x$feature_platform_search_hint = xy ]; thensearch --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5  0adfee8d-6cc2-4769-8572-b4936f092cc3elsesearch --no-floppy --fs-uuid --set=root 0adfee8d-6cc2-4769-8572-b4936f092cc3fiecho    '载入 Linux 5.8.0-45-generic ...'linux  /boot/vmlinuz-5.8.0-45-generic root=UUID=0adfee8d-6cc2-4769-8572-b4936f092cc3 ro  quiet splash $vt_handoffecho    '载入初始化内存盘...'initrd   /boot/initrd.img-5.8.0-45-generic}menuentry 'Ubuntu, with Linux 5.8.0-45-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.8.0-45-generic-recovery-0adfee8d-6cc2-4769-8572-b4936f092cc3' {recordfailload_videoinsmod gzioif [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fiinsmod part_msdosinsmod ext2set root='hd0,msdos5'if [ x$feature_platform_search_hint = xy ]; thensearch --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5  0adfee8d-6cc2-4769-8572-b4936f092cc3elsesearch --no-floppy --fs-uuid --set=root 0adfee8d-6cc2-4769-8572-b4936f092cc3fiecho    '载入 Linux 5.8.0-45-generic ...'linux  /boot/vmlinuz-5.8.0-45-generic root=UUID=0adfee8d-6cc2-4769-8572-b4936f092cc3 ro recovery nomodeset dis_ucode_ldr echo    '载入初始化内存盘...'initrd   /boot/initrd.img-5.8.0-45-generic}menuentry 'Ubuntu,Linux 4.15.0-39-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.15.0-39-generic-advanced-0adfee8d-6cc2-4769-8572-b4936f092cc3' {recordfailload_videogfxmode $linux_gfx_modeinsmod gzioif [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fiinsmod part_msdosinsmod ext2set root='hd0,msdos5'if [ x$feature_platform_search_hint = xy ]; thensearch --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5  0adfee8d-6cc2-4769-8572-b4936f092cc3elsesearch --no-floppy --fs-uuid --set=root 0adfee8d-6cc2-4769-8572-b4936f092cc3fiecho  '载入 Linux 4.15.0-39-generic ...'linux /boot/vmlinuz-4.15.0-39-generic root=UUID=0adfee8d-6cc2-4769-8572-b4936f092cc3 ro  quiet splash $vt_handoffecho   '载入初始化内存盘...'initrd   /boot/initrd.img-4.15.0-39-generic}menuentry 'Ubuntu, with Linux 4.15.0-39-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.15.0-39-generic-recovery-0adfee8d-6cc2-4769-8572-b4936f092cc3' {recordfailload_videoinsmod gzioif [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fiinsmod part_msdosinsmod ext2set root='hd0,msdos5'if [ x$feature_platform_search_hint = xy ]; thensearch --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5  0adfee8d-6cc2-4769-8572-b4936f092cc3elsesearch --no-floppy --fs-uuid --set=root 0adfee8d-6cc2-4769-8572-b4936f092cc3fiecho '载入 Linux 4.15.0-39-generic ...'linux /boot/vmlinuz-4.15.0-39-generic root=UUID=0adfee8d-6cc2-4769-8572-b4936f092cc3 ro recovery nomodeset dis_ucode_ldr echo   '载入初始化内存盘...'initrd   /boot/initrd.img-4.15.0-39-generic}menuentry 'Ubuntu,Linux 4.8.0-040800-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.8.0-040800-generic-advanced-0adfee8d-6cc2-4769-8572-b4936f092cc3' {recordfailload_videogfxmode $linux_gfx_modeinsmod gzioif [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fiinsmod part_msdosinsmod ext2set root='hd0,msdos5'if [ x$feature_platform_search_hint = xy ]; thensearch --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5  0adfee8d-6cc2-4769-8572-b4936f092cc3elsesearch --no-floppy --fs-uuid --set=root 0adfee8d-6cc2-4769-8572-b4936f092cc3fiecho   '载入 Linux 4.8.0-040800-generic ...'linux  /boot/vmlinuz-4.8.0-040800-generic root=UUID=0adfee8d-6cc2-4769-8572-b4936f092cc3 ro  quiet splash $vt_handoffecho    '载入初始化内存盘...'initrd   /boot/initrd.img-4.8.0-040800-generic}menuentry 'Ubuntu, with Linux 4.8.0-040800-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.8.0-040800-generic-recovery-0adfee8d-6cc2-4769-8572-b4936f092cc3' {recordfailload_videoinsmod gzioif [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fiinsmod part_msdosinsmod ext2set root='hd0,msdos5'if [ x$feature_platform_search_hint = xy ]; thensearch --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5  0adfee8d-6cc2-4769-8572-b4936f092cc3elsesearch --no-floppy --fs-uuid --set=root 0adfee8d-6cc2-4769-8572-b4936f092cc3fiecho    '载入 Linux 4.8.0-040800-generic ...'linux  /boot/vmlinuz-4.8.0-040800-generic root=UUID=0adfee8d-6cc2-4769-8572-b4936f092cc3 ro recovery nomodeset dis_ucode_ldr echo    '载入初始化内存盘...'initrd   /boot/initrd.img-4.8.0-040800-generic}
}

骑上就是grub开机启动界面显示的菜单结构,可以概括如下:

0   Ubuntu
1   Ubuntu 高级选项  1>0  Ubuntu,Linux 5.8.0-48-generic1>1 Ubuntu, with Linux 5.8.0-48-generic (recovery mode)1>2   Ubuntu, with Linux 5.8.0-45-generic1>3  Ubuntu,Linux 5.8.0-45-generic (recovery mode)1>4   Ubuntu, with Linux 4.15.0-39-generic1>5  Ubuntu, with Linux 4.15.0-39-generic (recovery mode)1>6  Ubuntu, Linux 4.8.0-040800-generic1>7    Ubuntu, with Linux 4.8.0-040800-generic (recovery mode)

因此 我们要切换的内核版本是 Ubuntu 高级选项下的第5个。由于默认从0计算因此 Linux 4.15.0-39-generic的顺序为 1> 4。
之后关闭 grub.cfg文件即可。

2、更改grub默认启动项
该命令需要root模式下操作

sudo gedit /etc/default/grub

3、切换启动内核
打开grub文件后,找到 GRUB_DEFAULT=0 该项定义,将其修改为 GRUB_DEFAULT=“1 > 4”
其中’1>4’就表示选择ubuntu高级选项中的 第4个 内核文件(由于从0计算,实际是第5个文件)。

4、更新开机引导文件

sudo update-grub

5、重启内核

reboot

6、开机后 查看内核等级,验证是否成功

uname

ubuntu 内核降级,切换linux内核版本相关推荐

  1. 如何在Ubuntu/CentOS上安装Linux内核4.0

    如何在Ubuntu/CentOS上安装Linux内核4.0 大家好,今天我们学习一下如何从Elrepo或者源代码来安装最新的Linux内核4.0.代号为'Hurr durr I'm a sheep'的 ...

  2. Ubuntu 18.04 修复 Linux 内核的 11 个漏洞

    百度智能云 云生态狂欢季 热门云产品1折起>>>   Canonical 修复 Ubuntu 18.4 LTS Linux 内核的安全性问题,漏洞影响 Ubuntu 和其所有的衍生版 ...

  3. 【Linux 内核】编译 Linux 内核 ⑦ ( 安装内核模块 | 安装内核 | 重启系统 | 查看当前内核版本 )

    文章目录 一.安装内核模块 二.安装内核 三.重启系统 四.查看当前内核版本 一.安装内核模块 确保 Linux 内核编译完成 , 没有任何报错之后 ; 参考 [Linux 内核]编译 Linux 内 ...

  4. 【Linux 内核】编译 Linux 内核 ① ( 下载指定版本的 Linux 内核源码 | Linux 内核版本号含义 | 主版本号 | 次版本号 | 小版本号 | 稳定版本 )

    文章目录 一.下载 Linux 内核 1.下载最新版本 Linux 内核 2.下载指定版本 Linux 内核 二.Linux 内核版本号含义 一.下载 Linux 内核 1.下载最新版本 Linux ...

  5. linux内核安装教程,Linux内核5.9的最重要功能及安装方法

    原标题:Linux内核5.9的最重要功能及安装方法 Linux内核5.9带来了吸引数据中心管理员的诸多性能提升.本文作者着重介绍了改进之处,并介绍了如何安装主线内核. 与5.8一样,Linux内核5. ...

  6. 编译3.0的linux内核,1-3-编译Linux内核

    1-3-编译Linux内核 1.将Linux源码包拷贝到共享文件夹. 2.进入共享文件夹. 3.解压,命令#tar xvfj Kernel_3.0.8_TQ210_for_Linux_v2.2.tar ...

  7. Linux内核学习之Linux内核“源码目录”

    一.Linux内核版本前期知识介绍 : 我们先去Linux官网看看,它的网站是:kernel.org: 我们可以看到最新稳定版本已经来到了5.6.7了,不过在这之前我们稍微了解一下版本号这一串数字的含 ...

  8. 【Linux 内核】编译 Linux 内核 ⑤ ( 查看 .config 编译配置文件 | 正式编译内核 )

    文章目录 一.查看 .config 编译配置文件 二.正式编译内核 一.查看 .config 编译配置文件 在上一篇博客 [Linux 内核]编译 Linux 内核 ④ ( 打开 Linux 内核编译 ...

  9. 简述arm linux内核启动流程,Linux内核启动过程和Bootloader(总述)

    1.Linux内核启动过程概述 一个嵌入式 Linux 系统从软件角度看可以分为四个部分:引导加载程序(Bootloader),Linux 内核,文件系统,应用程序.其中 Bootloader是系统启 ...

  10. 武汉linux内核好找吗,Linux内核入门

    Linux内核入门 收藏 如何获取Linux内核源代码 下载Linux内核当然要去http://www.kernel.org/了,网站提供了两种文件下载,一种是完整的Linux内核,另一种是内核增量补 ...

最新文章

  1. R语言可视化包ggplot2包设置轴断点位置实战(Axis Breaks)、即自定义X轴和Y轴的数值标记位置
  2. 微软研究院开源DialoGPT:你有什么梦想?「让世界充满机器人」
  3. 人工智能其实并不客观,算法会加剧刻板印象
  4. golang post get 请求 简介
  5. map.js的编写(js编写一个对象的方式)
  6. 数百个 HTML5 例子学习 HT 图形组件 – 拓扑图篇
  7. 如何判断当面的网页加载完成?
  8. Struts2+Spring+Hibernate step by step 11 ssh拦截验证用户登录到集成
  9. scp命令密码写命令里_dos命令net图文教程,net user添加删除用户修改密码批处理脚本...
  10. 【论文解读】IJCAI2019: 面向中文NER 基于lexicon rethinking的CNN模型
  11. 个人查阅资料-Sql语句
  12. jsonp和ajax的区别,dataType jsonp和JSON之间的区别
  13. PHP正则匹配html标签
  14. iis6.0渗透实战笔记
  15. 环球电子公司将为新的Virgin TV 360平台提供语音遥控器
  16. 从零开始的VUE项目-09(vue-alipayer-v视频播放)
  17. 填核酸采样资料,手机号填错了,身份证号码没错。
  18. 伦敦国王学院EEM专业介绍
  19. 程序员幽默:让你笑到抽搐的自黑段子
  20. 使用nginx实现请求转发的功能

热门文章

  1. tensorflow和Python关系
  2. Sqlserver2014远程远程连接
  3. C语言四种方法求最大公约数
  4. SQL是什么?SQL能做什么?
  5. 建筑八大员培训湖北标准员培训工程施工现场标准员的工作导则
  6. JVM中对象进入老年代的3种情况
  7. 迪文屏幕T5L平台学习笔记七:RS485测试
  8. 用包过滤技术实现个人防火墙
  9. 麦克风阵列技术 三 ( 声源定位 波束形成 去混响 麦克风阵列结构设计 声学结构确认流程)
  10. notes获取计算机名,在Lotus Notes数据库中获取最近读取的文档(Get recently read document in Lotus Notes Database)...