You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 22.04环境下Multipass虚拟机时间持续漂移且无法同步宿主机时钟的解决咨询

Ubuntu 22.04环境下Multipass虚拟机时间持续漂移且无法同步宿主机时钟的解决咨询

你遇到的这个Multipass虚拟机时间漂移问题确实挺让人头疼的,尤其是不想额外在虚拟机里部署NTP服务的话,可以从Multipass本身的配置入手解决,给你几个可行的方案:

方案一:启动虚拟机时指定宿主机时钟同步参数

Multipass基于QEMU运行,我们可以通过传递QEMU的时钟参数,强制虚拟机直接复用宿主机的时钟基准,具体操作步骤如下:

  1. 先停止当前有问题的虚拟机(把<你的虚拟机名>替换成实际名称):
    multipass stop <你的虚拟机名>
    
  2. 如果愿意重新创建虚拟机,启动时添加QEMU参数:
    multipass launch --name <你的虚拟机名> --qemu-args "-rtc base=utc,clock=host"
    
    如果不想重新创建,也可以尝试修改虚拟机的配置文件(路径通常在/var/snap/multipass/common/data/multipassd/vault/instances/<你的虚拟机名>/下),编辑qemu.conf添加上述参数后,重启Multipass服务:
    sudo systemctl restart snap.multipass.multipassd.service
    

方案二:启用虚拟机内置的轻量时间同步服务

虽然你提到不想用ntpd,但systemd-timesyncd是Ubuntu默认自带的轻量时间同步工具,几乎没有额外资源开销,配置起来也很简单:

  1. 进入虚拟机:
    multipass shell <你的虚拟机名>
    
  2. 安装并启用服务(如果未预装的话):
    sudo apt update && sudo apt install -y systemd-timesyncd
    sudo systemctl enable --now systemd-timesyncd
    
  3. 验证同步状态:
    timedatectl status
    
    正常情况下会看到System clock synchronized: yes和NTP service: active的提示,时间也会很快和宿主机对齐。

方案三:升级Multipass到最新版本

有时候这类时间同步问题是Multipass旧版本的bug,升级到最新版可能直接解决:

sudo snap refresh multipass

从你提供的timedatectl输出来看,虚拟机的RTC时间和宿主机差异很大,这大概率是QEMU默认时钟配置导致的,方案一应该能直接解决这个核心问题。

备注:内容来源于stack exchange,提问作者Jens

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.21 12:40:31