Ubuntu Server 16.04 VirtualBox Machine - 网络接口的紧急模式

UbuntuServer 16.04 VirtualBox Machine - Emergency Mode for Network Interfaces

我正在使用带有 Ubuntu16.04Server O.S 的虚拟机。在 Windows 主机上。 一切正常,但在关闭一切然后返回到我的虚拟服务器后,机器无法启动。

显示:

[FAILED] Failed to start Raise network interfaces. See 'systemctl status networking.service' for details.

所以系统进入紧急模式! 通过键入 journalctl -xb,我可以看到以下问题:

...
ifup[1987]: Cannot find device "ens33"
...
ifup[1987]: Failed to bring up ens33.
systemd[1]: netowrking.service: Main process exited, code=exited ....

所以我发现我的 无法启动 Raise 网络接口

Subject: Unit networking.service has failed
Defined-By: systemd

通过键入 ifconfig 我只看到 lo 界面。未显示 ens33

在我的 /etc/network/interfaces 中还有 2 行:

auto ens33
iface ens33 inet dhcp

通过输入 lshw 我得到以下与网络相关的输出:

*-network DISABLED
    description: Ethernet interfaces
    product: 82540EM Gigabit Ethernet Controller
    vendor: Intel Corporation
    physical id: 3
    bus info: pci@0000:00:03.0
    logical name: enp0s3
    ...
    ...
    configuration: autonegotiation=on broadcast=yes driver=e1000 driverversion=7.3.21-k8-NAPI duplex=full.......

所以如果我 运行 ifup ens33 我有错误

Cannot find device ens33
Error getting hardware address for "ens33": No such device

虚拟机有默认以太网卡 Intel PRO/1000 MT Desktop (82540EM) 作为 NAT 连接。

完全卡住了无法前进,只能紧急模式

终于找到了解决办法: 问题应该是网卡不匹配,我的解决方法是:

在虚拟机上换卡 进入紧急模式 编辑 /etc/network/interfaces 文件,通过更改 ens33 接口参数并添加新的 eth0 接口:

auto ens33
iface ens33 inet manual

auto eth0
iface eth' inet dhcp

此时通过重新启动网络服务,我可以看到界面了。

在需要编辑 /etc/default/grub 文件后,将行从

更改为
GRUB_CMDLINE_LINUX=""

GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"

然后我运行执行以下命令:

sudo update-grub
sudo reboot