有些时候安装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联网了,那就会很简单,有网络就会方便很多。如果没网络也可以用其他方法替代,这个后面说。
最后,备份数据,防止出现意外!
在Ubuntu中,内核时必不可少的。
这里只供演示,因为我已经安装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
网络正常的话说明网卡驱动正常工作了,这是最理想的情况,我还碰到过网卡不能正常工作的情况,那个麻烦点。
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可能断掉。
这个时候你有两种方法,第一种就是使用外置网卡(推荐USB网卡
);第二种就是手动下载hwe内核安装。hwe内核在Ubuntu官网可以找到(deb包
),安装方式也简单,这里不讨论。
这里补充说下Ubuntu-18.04和Ubuntu-20.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这种芯片组,所以我没有遇到过驱动问题。如果你确实遇到了,请安装试一下,如果不行就把操作系统版本升上去!
目前市面上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
再重复一遍:操作内核有巨大风险,请备份数据,丢失不容易找回!
1、我试过i9 13900K+Z790M可以,比它旧的设备应该都可以。
2、不建议使用太新的设备,一旦驱动出问题处理起来很麻烦。因为Linux可怜的占有量+免费开源的模式,导致生态比Windows差了十几条街。最主要的问题是各硬件厂商出于自身成本的考虑,很多根本不提供Linux版本的驱动,哪怕像我这样有一定动手能力的人想源代码编译也做不到,可以说是巧妇难为无米之炊了!
3、动内核需谨慎,数据无价,注意备份!