我相信,用过 VMware 开 Ubuntu 虚拟机都遇到网卡无缘无故的丢失的问题,而且还解决不了的那种;

在网上找十个方法都是不起作用的,比如Nmcli 重新启动网络、ifdown 和 ifup 命令重新启动网络、设置静态IP等都没有效果,都是恢复快照或者重装解决。

这次就给我遇到了,按照以往的习惯我肯定会重装或者恢复快照了,但是这次发现竟然没有保存快照,里面又太多环境重装又麻烦;死马当活马医,这次终于找到一个很好用的方法了,能彻底解决这个丢网卡的问题。

问题原因:

Ubuntu 虚拟机内无征兆的丢失网卡,导致无法联网,在状态栏以及终端都看不到网卡,ifconfig 查看网卡信息只有本地回环地址的信息,重启N次无用的。

使用 ifconfig 命令查看只有本地回环地址的信息,网卡都不见了:

image

使用 ip addr 是可以看见网卡(ens33、ens38)信息的,就是没有显示有连接的信息:

image

好像只有 Ubuntu 出现这种问题,之前使用 Centos、Debian 都没有遇到过,可能是他们的网络配置之前存在差异导致的。

解决方法:

需要修改 NetworkManager.stateNetworkManager.conf 的配置文件,为了方便直切换 root 用户进行修改:

1
sudo -i

查看网卡信息:

1
lshw -c network

如果这里查看不到任何网卡信息,那就只能重装了。

image

先把网络服务给停止了:

1
service NetworkManager stop

NetworkManager.state 文件删除,后面会自动重新创建;删除前我们最好先备份,后面出问题还能进行恢复

1
2
3
4
5
# 备份文件
cp /var/lib/NetworkManager/NetworkManager.state /var/lib/NetworkManager/NetworkManager.state.backup

# 删除文件
rm /var/lib/NetworkManager/NetworkManager.state

修改 NetworkManager.conf 配置文件:

1
2
3
vim /etc/NetworkManager/NetworkManager.conf

# 将 managed 后面的 false 修改为 true (如下图)

image

修改完成之后进行保存,然后启动网络服务就可以了,网络就重新恢复过来了:

1
service NetworkManager start

这时候打开设置–》网络,就可以看见已经连接上网络了,Ubuntu 的网络就这么修复回来了

image

image

如果上述方法还是恢复不了网络的,可以参考以下文章进行操作:

Ubuntu网卡消失无法连网_ubuntu虚拟机不显示网卡-CSDN博客

Ubuntu 虚拟机网卡丢失:Failed to restart networking.service: Unit networking.service not found_ubuntu网卡不见了-CSDN博客