ubuntu16.04系统安装后无驱动,无eno或eth等网卡显示,只有lo和virbro类
lspci | grep -i net
sudo lshw -short | ngrep network
sudo lshw -C network
这台机器上安装的ubuntu server,不带make,不带gcc,而因为缺失网卡驱动,所有还无法上网下载。
如果要手动安装intel i1219-LM驱动的话,可以从这里下载源码
https://downloadcenter.intel.com/download/15817/Intel-Network-Adapter-Driver-for-PCI-E-Gigabit-Network-Connections-under-Linux-?product=71307%20
编译安装
若存在无法联网的状态,手机热点USB连接PC
先知道手机的MAC地址,打开USB网络共享,执行下列命令
ifconfig -a
(网卡名称为usb0)
sudo ifconfig usb0 down
sudo ifconfig usb0 hw ether 40:b8:37:b8:23:6e
sudo ifconfig usb0 up
sudo dhclient usb0
ping www.baidu.com //用于确认是否联网
可通过U盘等挂载并拷贝驱动包到Ubuntu目录
tar zxvf e1000e-3.6.0.tar.gz
cd e1000e-3.6.0/src
make
make install
modprobe e1000e
其中make install报错
At main.c:222:
- SSL error:02001002:system library:fopen:No such file or directory: bss_file.c:175
- SSL error:2006D080:BIO routines:BIO_new_file:no such file: bss_file.c:178
sign-file: certs/signing_key.pem: No such file or directory
其次modprobe e1000e报错
modprobe: ERROR: could not insert 'e1000e': Required key not available
则需要关闭签名验证
从Ubuntu内核4.4.0-20 EFI_SECURE_BOOT_SIG_ENFORCE开始,已启用内核配置。如果启用了UEFI安全启动,则可以防止加载未签名的第三方模块。
解决此问题的最简单方法是禁用 UEFI(BIOS)设置中的安全启动。
在大多数情况下,您可以使用grub菜单进入UEFI设置。ESC在启动时按按钮,进入grub菜单并选择System Setup。安全启动选项应位于UEFI的“安全”或“启动”部分。
您可以直接进入UEFI,但这取决于您的硬件。阅读您的计算机手册,以了解如何到达那里。它可能是Del,F2启动时或其他情况。
另一种方法是使用禁用安全启动mokutil。
从Ubuntu内核版本4.4.0-21.37开始,可以通过运行来解决
sudo apt install mokutil
sudo mokutil --disable-validation
它将需要创建一个密码。密码长度至少为8个字符。重新启动后,UEFI将询问您是否要更改安全设置。选择“是”。
然后,将要求您输入先前创建的密码。某些UEFI固件不要求输入完整密码,而是要求输入完整的密码,例如1st,3rd等。请小心。有些人不明白这一点。我也没有从第一次尝试中得到它;-)
更新:现在,所有支持的Ubuntu内核都启用了此内核配置。Ubuntu 16.04、15.10和14.04受到影响。
重启后安装驱动
modprobe e1000e不会报错
运行ifconfig -a查看检查出来的网口号(例如,eno1)
vim /etc/network/interfaces
在里面加入:
auto eno1
iface eno1 inet dhcp
或者静态给定
auto eno1
iface eno1 inet static
address 10.167.27.129
netmask 255.255.255.0
gateway 10.167.14.1
dns-servers 10.167.13.248 10.167.250.3
重启网络
sudo service networking restart
ifconfig eno1 up
网卡配置完成,可联网喽