You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

VirtualBox中Arch Linux(AntergOS)虚拟机主机休眠后网络丢失求助

解决VirtualBox桥接模式虚拟机主机休眠唤醒后丢网的问题

我之前处理过不少类似的情况——Windows 10主机休眠唤醒后,VirtualBox里的Arch系虚拟机(比如你的Antergos)桥接网卡直接丢IP,重启网络服务也没用,只能重启虚拟机。下面给你几个不用重启虚拟机的修复方案,按顺序试就行:

一、先试试重启虚拟机的网络服务

Antergos默认用NetworkManager管理网络,直接在虚拟机里跑这条命令:

sudo systemctl restart NetworkManager

跑完之后用ip addr看看网卡有没有重新拿到IP。如果你的系统是用systemd-networkd而非NetworkManager,就换这两条:

sudo systemctl restart systemd-networkd
sudo systemctl restart systemd-resolved

二、在VirtualBox里重新触发网卡连接

有时候主机休眠后,VirtualBox的桥接驱动和物理网卡的关联会断,不用关虚拟机,直接在主机端操作:

  • 打开VirtualBox管理器,选中运行中的Antergos虚拟机
  • 点顶部的「设备」→「网络」,先取消勾选「网络连接」
  • 等个5秒左右,再重新勾选「网络连接」,确认选的是你主机正在用的物理网卡
  • 切回虚拟机,再查IP应该就正常了

三、配置静态IP彻底解决DHCP失效问题

如果上面的临时修复还是经常出问题,不如给虚拟机设个静态IP,跳过DHCP的坑:

  1. 先查一下你主机的网段(比如192.168.1.x),然后在虚拟机里编辑NetworkManager的连接:
    sudo nmcli con edit enp0s3  # enp0s3换成你的网卡名,用ip addr能查到
    
  2. 进入交互模式后依次输入这些命令(把IP换成你主机网段里的空闲地址):
    set ipv4.method manual
    set ipv4.addresses 192.168.1.100/24
    set ipv4.gateway 192.168.1.1  # 这个是你主机的网关地址
    set ipv4.dns 8.8.8.8  # 或者用你家里路由器的DNS
    save
    quit
    
  3. 最后重启NetworkManager生效:sudo systemctl restart NetworkManager

四、调整VirtualBox桥接网卡的高级设置

还有个小技巧,修改VirtualBox的网卡高级选项,减少休眠唤醒后的异常:

  • 先关掉虚拟机,打开「设置」→「网络」→「网卡1」→「高级」
  • 把「混杂模式」改成「允许所有」
  • 勾选「接入网线」选项
  • 启动虚拟机后再测试休眠唤醒,大概率不会再丢网了

内容的提问来源于stack exchange,提问作者Lion

火山引擎 最新活动