1、问题背景
在台式机上安装win10和ubuntu18.04的双系统,安装完成后发现,在win10下可以联网(这里指有线网),在ubuntu下无法联网(甚至右上角不显示网络的图标)。
电脑主板型号:华硕B550M TUF GAMING
2、确定问题所在
由于win10上可以联网,则可以确定不是硬件问题,那么软件问题的话肯定首先想到是网卡驱动的问题,怎么确定是否是网卡驱动的问题呢?
在终端中输入命令:
ip a
如果输出只有这样一个lo对应的ip地址(127.0.0.1):
则基本可以判读是没有网卡驱动导致的(但是这里其实我也不太确定,看其他博客是这么判断的,而且我自己是这种现象,也通过安装驱动成功解决了)
这个命令的正常输出应该是什么样子的呢?(应该除了127.0.0.1以为还有一个真正的ip地址才对)
另外也可以使用命令:
ifconfig
但是我的电脑刚刚装完ubuntu系统的时候,这个命令并没有默认安装,所以无法使用。
3、解决方法
肯定是安装驱动,但是首先要确定电脑的网卡型号,如果你知道你的主板型号,可以去直接查询自己的网卡型号,如果不知道,也可以去windows系统中通过命令或者一些硬件检测软件来获取网卡型号。
3.1 查看网卡型号
鲁大师查看网卡型号
略
windows中查看网卡型号
win+r,输入cmd打开cmd,输入systeminfo,下图所示就是网卡型号(一般第一个为有线网卡,第二个为无线网卡)
ubuntu中命令查看网卡型号
命令:
lspci | grep -i net
这里似乎可以获得一个数字形式的网卡的型号,其实我在下载网卡驱动的时候,下载下来的就是叫8125***,但是本来在windows中显示的网卡型号只是:Realtek PCIe FE Family Controller,就不确定是不是下载对了,在ubuntu中看到这个数字才基本确定。
3.2 下载网卡驱动
这里的问题是,你的电脑并没有网,所以你没法去下载驱动,可以在另一台电脑下载或者切换到windows下载。
我的网卡型号是:Realtek PCIe FE Family Controller,去相应官网找驱动
其他型号网卡的驱动可以去相应的官网应该都可以找到驱动的,要注意驱动版本以及系统版本。
3.3 安装网卡驱动
这里借鉴其他人的方法,采用dkms工具安装驱动,但是在这之前,我们需要安装一些依赖项,否则,dkms无法安装。
不过好在,这些依赖基本都可以在你的启动盘中找到,直接安装,不需要每一个都到另一台电脑中下载了,所有的依赖基本都在启动盘的pool/main目录下,按照首字母分成了一些文件夹。
这些依赖之间也有依赖关系,你可以按照我的顺序来安装,如果有问题,可以尝试调换顺序或者加装其他依赖(我自己按照这个顺序没有问题)。
1、进入/g/gcc-8
目录
sudo dpkg -i lib*.deb
2、进入/l/linux/
目录
sudo dpkg -i linux-libc-dev_4.15.0-76.86_amd64.deb
3、进入/g/glibc
目录
sudo dpkg -i linux-libc-dev_4.15.0-76.86_amd64.deb
3、进入/g/glibc
目录
sudo dpkg -i lib*.deb
4、进入/g/gcc-7
目录
sudo dpkg -i lib*.deb
sudo dpkg -i g*.deb
5、进入/g/gcc-8
目录
sudo dpkg -i lib*.deb
6、进入/m/make-dfsg
目录
sudo dpkg -i make_4.1-9.1ubuntu1_amd64.deb
7、进入/d/dkms
目录
sudo dpkg -i dkms_2.3-3ubuntu9.7_all.deb
至此,我们完成了所有依赖,包括dkms的安装工作。
接下来,我们对网卡驱动下手,先将其解压到指定目录/usr/src下
sudo tar xvf r8125-9.003.02.tar.bz2 -C /usr/src
在解压后的文件夹中添加一个dkms的配置文件:dkms.conf(文件所在目录:/usr/src/8125-9.006.04/dkms.conf)(注意这个目录的名字、下面的配置文件内容、编译驱动时的命令中涉及到驱动版本的地方,要根据自己的驱动版本进行修改 <我这里是8125-9.006.04> )
配置文件的内容:
PACKAGE_NAME=Realtek_r8125
PACKAGE_VERSION=9.006.04
DEST_MODULE_LOCATION=/updates/dkms
BUILT_MODULE_NAME=r8125
BUILT_MODULE_LOCATION=src/
MAKE="'make' -C src/ all"
CLEAN="'make' -C src/ clean"
AUTOINSTALL="yes"
接下来使用dkms工具编译驱动:
sudo dkms add -m r8125 -v 9.006.04
sudo dkms build -m r8125 -v 9.006.04
sudo dkms install -m r8125 -v 9.006.04
sudo depmod -a
sudo modprobe r8125
4、验证
再次输入命令:
ip a
如果顺利的话,可以看到出现了新的ip地址,并且屏幕右上角也出现了网络的标志。
如果问题还是没有解决,很遗憾,你只能去寻找其他方法了。