升级到 Ubuntu 15.04 后,我发现 VirtualBox 和 VMWare Workstation 有同样的行为。系统从挂起状态唤醒后,输出中没有vboxnet0
和设备。在网络菜单中,两个虚拟设备都标记为不受管理。vmnet8
ifconfig
为了启动 VMWare Workstation 网络,我必须sudo service vmware restart
。然后我看到:“连接已建立。您现在已连接到 vmnet8”。
为了启动 VirtualBox 网络,我转到File -> Preferences -> Network -> Host-Only Networks -> vboxnet0
。
然后按 OK。我看到“连接已建立。您现在已连接到 vboxnet0”。
问题是,如何让虚拟网络自动启动?这看起来像是 systemd 问题,因为我以前从未见过类似的事情。
答案1
手动操作
我已经解决了这个问题,在唤醒后在终端中输入以下命令:
sudo ifconfig vboxnet0 192.168.50.1/24
我不太确定 192.168.50.1 是否是 VirtualBox 默认 IP,但这是我的 Virtualbox 正在使用的 IP,如果您使用的是其他 IP,则必须替换该 IP。
使其自动工作
为了使其在系统唤醒时自动工作,我在文件夹中创建了一个文件:
/lib/systemd/system-sleep/
该文件的内容应如下所示:
#!/bin/sh
ifconfig vboxnet0 192.168.50.1/24
使用以下命令使文件可执行:
chmod a+x /lib/systemd/system-sleep/name_of_file.sh
因为它是一个根文件,所以您需要使用 sudo 来创建该文件,但我们不需要在脚本中包含 sudo。
希望对您有帮助!
注意:刚刚在 Ubuntu 15.10 上测试过
答案2
jjcarrion 的答案在从睡眠中醒来后修复了网络问题,但您也可以通过添加以下内容来防止睡眠首先干扰网络:
[keyfile]
unmanaged-devices=interface-name:vboxnet0
至/etc/NetworkManager/NetworkManager.conf
。已于 15.10 测试。
答案3
(快捷方法)虽然不太好,但确实有效。
去Virtual Machine Settings > Hardware
和删除网络适配器
然后添加新的(使用 NAT)