随着Ubuntu内核版本的不断升级,一些旧版本硬件设备或软件无法适配最新内核,因此内核降级成为Ubuntu用户一个必备的技能。本文将从多个方面对Ubuntu内核降级做出详细的阐述。
一、Ubuntu内核降级无网络
在降级内核的过程中,由于旧版本内核默认不会自动安装相应网络驱动程序,可能会导致无法连接到网络。解决这个问题有两种方法:
(1)安装相应的驱动:在安装旧版本内核后,使用命令行安装相应的驱动程序,可以实现网络连接:
sudo apt-get install [network driver package name]
(2)将网卡资源绑定在传统的网络接口名(eth0等)上,这样即使安装了旧版本内核也能保证网络连接。
# Step1: 找到网卡的硬件地址
$ lspci | grep Ethernet
# Step2: 找到内核加载了哪个驱动
$ sudo lsmod | grep r8169
# Step3: 关闭自动加载的网卡驱动程序
$ sudo nano /etc/modprobe.d/blacklist.conf
# 在文件末尾加上一行:
blacklist r8169
# 保存退出,重新加载内核
$ sudo update-initramfs -u
# Step4: 修改配置文件
$ sudo nano /etc/network/interfaces
# 将DHCP协议改为静态IP,并将网卡地址与硬件地址绑定
auto eth0
iface eth0 inet static
address 192.168.1.100
gateway 192.168.1.1
netmask 255.255.255.0
hwaddress ether 11:22:33:44:55:66
# Step5: 重启网络服务
$ sudo /etc/init.d/networking restart
二、Ubuntu内核降级键鼠不能用
有时候,降级内核后键盘和鼠标不能使用,这是由于新版本内核对应的驱动程序不兼容旧版本内核导致的。可以通过以下方式解决:
(1)将旧版内核频道加入引导界面,这样即使恢复默认引导和旧版本内核同时存在也能够避免使用不兼容的驱动程序。
$ sudo nano /etc/default/grub
# 在GRUB_DEFAULT的值后面以英文逗号分隔添加需要保留的内核版本
GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 5.4.0-86-generic, with Linux 5.4.0-86"
# 保存后更新配置文件
sudo update-grub
(2)将当前内核拷贝到旧版本内核的文件夹中,以便于搜索相关驱动程序。
$ sudo apt-get install linux-source
# 解压内核源码文件
$ tar xvf /usr/src/linux-source-5.4.0.tar.xz
# 复制当前配置文件
$ sudo cp /boot/config-$(uname -r) /usr/src/linux-source-5.4.0/
# 编译内核并生成modules目录
$ cd /usr/src/linux-source-5.4.0/
$ sudo make -j [number of cores] && sudo make modules_install
# 指定新内核文件位置,重新生成GRUB引导文件
$ sudo GRUB_PRELOAD_MODULES="part_gpt part_msdos" grub-install --target=x86_64-efi \
--boot-directory=/mnt/boot \
--efi-directory=/mnt/boot/efi \
--bootloader-id=ubuntu \
--modules="resume cryptodisk luks gcry_rijndael gcry_cipher gcry_cbc gcry_sha256 gcry_modeiter gcry_random pam ext2"
# 更新GRUB配置文件
$ sudo update-grub
三、Ubuntu内核降级 5.4.0
Linux kernel 5.4.0是Linux社区近期发布的一个非常稳定的版本,但是在一些旧版本软件或硬件中也存在兼容性问题。如果需要有选择性的降级到这个版本,可以使用以下命令:
$ sudo apt-get purge [last-version-package-name]
$ sudo apt-get install linux-image-5.4.0-86-generic
$ sudo apt-get install linux-headers-5.4.0-86-generic
四、Ubuntu20.04内核降级
Ubuntu 20.04基于Linux kernel 5.6.0构建,但是在一些旧版本硬件和驱动方面也存在兼容性问题。可以使用以下命令将Ubuntu20.04的内核降级至Linux kernel 5.4.0:
$ sudo apt-get purge [last-version-package-name]
$ sudo apt-get install linux-image-5.4.0-86-generic
$ sudo apt-get install linux-headers-5.4.0-86-generic
五、Ubuntu18.04内核降级
Ubuntu 18.04使用Linux kernel 4.15.0构建,在一些旧版本硬件和驱动方面也存在兼容性问题。可以使用以下命令将Ubuntu18.04的内核降级至Linux kernel 4.14.0:
$ sudo apt-get purge [last-version-package-name]
$ sudo apt-get install linux-image-4.14.0-041400-generic
$ sudo apt-get install linux-headers-4.14.0-041400-generic
六、CentOS内核降级
CentOS系统默认的内核版本随系统版本的更新而升级,但是在一些旧版本硬件和驱动方面也存在兼容性问题。可以使用以下命令将CentOS的内核降级至旧版本:
$ sudo rpm -e [last-version-package-name]
$ sudo rpm -ivh http://vault.centos.org/7.2.1511/updates/x86_64/Packages/kernel-3.10.0-327.28.3.el7.x86_64.rpm
$ sudo reboot
七、Linux内核降级
Linux系统存在的问题在大多数情况下可以通过内核的降级来解决。在内核降级之前需要先备份当前内核的配置文件,以防出现问题。
$ cp /boot/config-$(uname -r) config-backup-$(uname -r)
然后,可以使用以下命令安装指定版本的内核:
$ sudo apt-get purge [last-version-package-name]
$ sudo apt-get install linux-image-[version-number]-generic
$ sudo apt-get install linux-headers-[version-number]-generic
八、ArchLinux内核降级
ArchLinux系统是Linux系统的一个重要分支,系统在极少数情况下会出现无法启动的情况。这时如果降级内核没有解决问题,可以通过手动安装特定版本的内核包解决问题。
$ sudo pacman -U /var/cache/pacman/pkg/[package-name-version] [package-name-version].tar.gz
九、PVE内核降级
Proxmox Virtual Environment是一种极其稳定的操作系统,但是在使用过程中也存在一些硬件和驱动兼容性问题。可以使用以下命令来降级PVE内核:
$ sudo apt-get purge [last-version-package-name]
$ sudo apt-get install pve-firmware=2.0-3
$ sudo apt-get install proxmox-ve-5.4.2*
$ sudo reboot
十、Ubuntu升级内核
在Ubuntu系统中,很多人想要更新内核,以保证系统的流畅性和兼容性。可以使用以下命令来更新Ubuntu内核:
$ sudo apt-get update
$ sudo apt-get dist-upgrade
# 安装最新内核
$ sudo apt-get install linux-image-generic
更新Ubuntu内核的过程中,出现的问题可以借助降级内核的方法来解决。
总结:
本文从Ubuntu内核降级无网络、Ubuntu内核降级键鼠不能用、Ubuntu内核降级 5.4.0、Ubuntu20.04内核降级、Ubuntu18.04内核降级、CentOS内核降级、Linux内核降级、ArchLinux内核降级、PVE内核降级、Ubuntu升级内核等多个方面阐述了Ubuntu内核降级的相关知识。对于遇到在使用过程中遇到的内核版本问题的用户,有着一定的指导作用。