Linux内核的主要作用:
硬件管理: 内核负责与计算机硬件进行交互,管理各种硬件设备(如处理器、内存、硬盘、网络适配器等)。它确保这些硬件能够协同工作,以完成各种任务。
系统调度: 内核负责管理运行在计算机上的各个进程(程序的执行实例)。它决定哪个进程在什么时间运行,如何分配处理器时间片,以实现高效的多任务处理。
内存管理: 内核控制着计算机内存的分配和释放,以确保不同的程序和进程能够安全地共享系统内存资源。
文件系统管理: 内核管理文件系统,使得应用程序可以读取、写入和操作文件。它处理文件和目录的创建、删除、移动等操作。
设备驱动程序: 内核包含各种设备驱动程序,使操作系统能够与硬件设备进行通信。这些驱动程序允许操作系统识别和与设备交互,从而实现硬件的正常工作。
安全性和权限管理: 内核负责管理用户和程序的访问权限,以确保系统的安全性。它通过访问控制列表和权限机制来限制不同用户和进程对系统资源的访问。
系统调用: 内核提供系统调用接口,允许应用程序请求操作系统执行特定的任务,如文件操作、网络通信等。
准备升级前的必要步骤:
备份重要数据:防止意外数据丢失的预防措施。
确保网络连接:下载所需文件和更新。
确认当前系统信息:了解当前内核版本和系统配置。
使用ubuntu-mainline-kernel脚本升级
wget https://raw.githubusercontent.com/pimlie/ubuntu-mainline-kernel.sh/master/ubuntu-mainline-kernel.sh sudo install ubuntu-mainline-kernel.sh /usr/local/bin/
检查Linux最新可用版本
ubuntu-mainline-kernel.sh -c
安装指定版本内核
sudo ubuntu-mainline-kernel.sh -i <version> 例如:sudo ubuntu-mainline-kernel.sh -i v5.15.0
然后重启
sudo reboot
检测内核版本
uname -r
卸载内核
sudo ubuntu-mainline-kernel.sh -u Which kernel version do you wish to uninstall? [0]: v5.11.0-051100 [1]: v5.15.0-051500 type the number between []:
手动下载和安装内核
首先去https://mirrors.edge.kernel.org/pub/linux/kernel/下载需要安装的内核
tar -xzvf linux-5.x.x.tar.gz
复制系统中 /boot/config-$(uname -r) 文件到内核源代码目录,并命名为 .config
cp /boot/config-$(uname -r) /path/to/linux-5.x.x/.config make menuconfig
配置完成后,编译内核
make
安装内核模块: 编译完成后,可以安装内核及其模块
sudo make modules_install sudo make install
更新引导程序以引导新安装的内核
sudo update-grub sudo reboot
验证新内核
uname -r
回滚到旧版本
启动时选择旧内核: 在系统启动时,通常会显示一个引导菜单,选择要启动的内核版本。这通常是在 GRUB 引导菜单中完成的。在这个菜单中,选择先前的稳定内核版本,而不是新内核。
进入系统: 选择旧内核后,让系统继续启动。
卸载新内核: 一旦进入系统并确保旧内核能够正常工作,可以卸载新内核。使用以下命令卸载新内核:
sudo apt-get purge <新内核包名>
将 <新内核包名> 替换为实际安装的新内核的包名。可以使用以下命令来查看系统上已安装的内核包列表:
dpkg --list | grep linux-image
更新引导程序: 删除新内核后,更新引导程序以反映这些更改。运行以下命令来更新 GRUB 配置:
sudo update-grub
重新启动系统: 完成以上步骤后,重新启动系统以确保引导程序已更新并且系统可以正常引导到旧内核。
验证内核版本: 运行以下命令验证系统是否已回滚到先前的稳定内核版本:
uname -r