Ubuntu安装hwe内核解决硬件太新的问题

概要

有些时候安装Ubuntu的时候如果你自己的硬件太新可能会导致部分驱动不支持,比如13代i9搭配Z790M主板,可能导致有些硬件不能工作。我去硬件官网找驱动,结果发现官方仅提供Windows10和Windows11版本驱动顿时人都傻了。但是天无绝人之路,如果出现这种问题也不是完全没有办法,主要还是看Linux内核的适配情况,原则上Intel和AMD发布新CPU和芯片组之后,Linux内核组也会适时跟进的。

今天的主角就是hwe内核(hardware enablement kernel)。一般安装的Ubuntu都是初始内核,不能很好地支持新硬件,导致诸如内置网卡、声卡等不工作。我们可以通过一些方法安装hwe内核,从而最好地支持新硬件的运行。

今天的文章基于Ubuntu-22.04,同时提供18.04和20.04的相关操作方法,其它Linux发行版请自行研究。

整体架构流程

首先,确认你是不是需要hwe内核,如果你出现了一些驱动问题:网卡或声卡不工作,那你可以安装hwe内核碰碰运气(非100%支持,具体可以看对应内核的change log)。
其次,如果你的Ubuntu联网了,那就会很简单,有网络就会方便很多。如果没网络也可以用其他方法替代,这个后面说。
最后,备份数据,防止出现意外!

技术名词解释

  • kernel
    内核是操作系统最基本的部分。它是为众多应用程序提供对计算机硬件的安全访问的一部分软件,这种访问是有限的,并且内核决定一个程序在什么时候对某部分硬件操作多长时间。内核的分类可分为单内核和双内核以及微内核。严格地说,内核并不是计算机系统中必要的组成部分。
    在Ubuntu中,内核时必不可少的。
  • hwe
    从上游社区及时引入 Ubuntu LTS 版本并测试调整,形成适应新硬件的、功能更强的新内核,即“硬件启用(HWE,HardWare Enablement)内核”。
  • 驱动
    驱动,计算机软件术语,是指驱动计算机里软件的程序。驱动程序全称设备驱动程序,是添加到操作系统中的特殊程序,其中包含有关硬件设备的信息。此信息能够使计算机与相应的设备进行通信。驱动程序是硬件厂商根据操作系统编写的配置文件,可以说没有驱动程序,计算机中的硬件就无法工作。

技术细节

1.查看当前内核

这里只供演示,因为我已经安装hwe内核了(6.2.0-xx-generic),所以看到的是hwe内核,如果你没有安装hwe内核,一般看到的都是版本稍微低一些的内核(5.15.x-xxx-generic)。

uname -a
Linux anold-Lenovo-TianYi-100-14IBD 6.2.0-32-generic #32~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Fri Aug 18 10:40:13 UTC 2 x86_64 x86_64 x86_64 GNU/Linux

2.网卡正常工作

网络正常的话说明网卡驱动正常工作了,这是最理想的情况,我还碰到过网卡不能正常工作的情况,那个麻烦点。

apt-cache search linux-generic
linux-generic-hwe-20.04 - Complete Generic Linux kernel and headers (dummy transitional package)
linux-generic-hwe-20.04-edge - Complete Generic Linux kernel and headers (dummy transitional package)
linux-generic-hwe-22.04 - Complete Generic Linux kernel and headers
linux-generic-hwe-22.04-edge - Complete Generic Linux kernel and headers

我是Ubuntu-22.04的版本,我选择linux-generic-hwe-22.04。一定要看清楚你的Ubuntu版本,不要安装错了。

sudo apt update
sudo apt install linux-generic-hwe-22.04

不需要多余的操作,apt会自动安装好一切并切换到新内核。切记,需要一段时间,不要打断流程,否则可能导致系统崩溃。

建议使用显示器直连,SSH可能断掉。

扫描二维码关注公众号,回复: 16993643 查看本文章

3.自带网卡不能正常工作

这个时候你有两种方法,第一种就是使用外置网卡(推荐USB网卡);第二种就是手动下载hwe内核安装。hwe内核在Ubuntu官网可以找到(deb包),安装方式也简单,这里不讨论。

4.其它版本的hwe内核

这里补充说下Ubuntu-18.04和Ubuntu-20.04,正好我手上也有这两台设备,虽然硬件不算新。

1.Ubuntu-18.04

这个版本的Ubuntu应该是目前市面上用的最多的版本了,所以才专门说一下。

apt-cache search linux-generic
linux-generic-hwe-18.04 - Complete Generic Linux kernel and headers
linux-generic-hwe-18.04-edge - Complete Generic Linux kernel and headers

老样子,安装linux-generic-hwe-18.04

sudo apt update
sudo apt install linux-generic-hwe-18.04

由于Ubuntu-18.04出来的很早,那个时候还没出I9 13900K处理器和Z790这种芯片组,所以我没有遇到过驱动问题。如果你确实遇到了,请安装试一下,如果不行就把操作系统版本升上去!

2.Ubuntu-20.04

目前市面上Ubuntu-20.04正逐步取代18.04成为主流,这里也重点说一下。

uname -a
Linux insigma 5.15.0-83-generic #92~20.04.1-Ubuntu SMP Mon Aug 21 14:00:49 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
apt-cache search linux-generic
linux-generic-hwe-20.04 - Complete Generic Linux kernel and headers
linux-image-unsigned-5.4.0-26-generic - Linux kernel image for version 5.4.0 on 64 bit x86 SMP
linux-modules-5.4.0-26-generic - Linux kernel extra modules for version 5.4.0 on 64 bit x86 SMP
linux-modules-extra-5.4.0-26-generic - Linux kernel extra modules for version 5.4.0 on 64 bit x86 SMP
linux-generic-hwe-20.04-edge - Complete Generic Linux kernel and headers

老样子,安装linux-generic-hwe-20.04

sudo apt update
sudo apt install linux-generic-hwe-20.04

5.备份+重启

再重复一遍:操作内核有巨大风险,请备份数据,丢失不容易找回!

小结

1、我试过i9 13900K+Z790M可以,比它旧的设备应该都可以。
2、不建议使用太新的设备,一旦驱动出问题处理起来很麻烦。因为Linux可怜的占有量+免费开源的模式,导致生态比Windows差了十几条街。最主要的问题是各硬件厂商出于自身成本的考虑,很多根本不提供Linux版本的驱动,哪怕像我这样有一定动手能力的人想源代码编译也做不到,可以说是巧妇难为无米之炊了!
3、动内核需谨慎,数据无价,注意备份!

猜你喜欢

转载自blog.csdn.net/jiexijihe945/article/details/133314540