VirtualBox:ホストとゲストの時間を同期する方法は?


39

ゲストVMの時間は、ホスト時間よりも約20〜30分高速です。ゲストの時間がホストの時間と同じになるようにするにはどうすればよいですか?

回答:


16

Linuxホストの場合、まずゲストマシン(ソース)にDKMS(動的カーネルモジュールサポート)パッケージをインストールします。

$ sudo apt-get install dkms

次に、Guest Additionsをゲストシステムにインストールします。

$ sudo apt-get install virtualbox-guest-additions

また、VirtualBoxの時刻同期を調整するためいくつかのコマンドについても説明します


3
最近のディストリビューションでは、あなたがのためにそれらのパッケージを変更しますvirtualbox-guest-dkmsvirtualbox-guest-utils
イヴァン

aptDebianベースのディストリビューション専用のパッケージマネージャーです。これは他のLinuxゲストでは機能しません。
カイルストランド

33

次の設定により、ゲストはホストから1秒以内の正確な時間を確実に維持できます。VirtualBox 4.3.26を実行しているホストとVirtualBox Guest Additionsの同じバージョンを実行しているゲストでテストされています。VirtualBox 5.xに関しては、これまでこれらの構成を変更する必要はありませんでした。時間は自動的に同期されています。

リファレンス:https : //www.virtualbox.org/manual/ch09.html#changetimesync


ホストでVMをリストして、関連するVMの名前を確認します。

$ VBoxManage list vms | awk '{print $1}'
"CentOS6"

ホストで、以下のコマンドを実行してゲストの時刻同期パラメーターを構成します。最初に$VMNAME適切な値を設定します。の値に$VMNAMEスペースが含まれる場合、もちろん引用符で囲む必要があります。

$ VBoxManage guestproperty set ${VMNAME} "/VirtualBox/GuestAdd/VBoxService/--timesync-interval" 10000
$ VBoxManage guestproperty set ${VMNAME} "/VirtualBox/GuestAdd/VBoxService/--timesync-min-adjust" 100
$ VBoxManage guestproperty set ${VMNAME} "/VirtualBox/GuestAdd/VBoxService/--timesync-set-on-restore" 1
$ VBoxManage guestproperty set ${VMNAME} "/VirtualBox/GuestAdd/VBoxService/--timesync-set-threshold" 1000

上記の時間パラメーターの値は10の倍数に制限されています。timesync-set-threshold代わりに10000に設定するのは魅力的かもしれませんが、トリガーされるとかなり急激な時間変更が発生する可能性があり、アプリケーションが壊れる可能性があります。


ホストで、ゲストの更新された関連値を表示します。これらはいつでも再確認できます。

$ VBoxManage guestproperty enumerate ${VMNAME} | grep timesync | sort
Name: /VirtualBox/GuestAdd/VBoxService/--timesync-interval, value: 10000, timestamp: 1402110397618554000, flags:
Name: /VirtualBox/GuestAdd/VBoxService/--timesync-min-adjust, value: 100, timestamp: 1402110777505446000, flags:
Name: /VirtualBox/GuestAdd/VBoxService/--timesync-set-on-restore, value: 1, timestamp: 1402110904964050000, flags:
Name: /VirtualBox/GuestAdd/VBoxService/--timesync-set-threshold, value: 1000, timestamp: 1402110660162295000, flags:

ゲストで、すべての内部NTPおよび関連する計時サービスを停止して無効にします。VirtualBoxに干渉する可能性があるため、使用しないでください。CentOS 6ゲストの場合:

$ sudo /sbin/chkconfig ntpd off
$ /sbin/chkconfig --list | grep ntp
ntpd            0:off   1:off   2:off   3:off   4:off   5:off   6:off
ntpdate         0:off   1:off   2:off   3:off   4:off   5:off   6:off

ゲストで、という名前のサービスを再起動しますvboxadd-service。Guest Additionsが以前にインストールされていたと仮定すると、このサービスはインストールされ有効になります。CentOS 6ゲストの場合:

$ /sbin/service vboxadd-service status
Checking for VBoxService ...running
$ sudo /sbin/service vboxadd-service restart
Stopping VirtualBox Guest Addition service                 [  OK  ]
Starting VirtualBox Guest Addition service                 [  OK  ]
$ /sbin/service vboxadd-service status
Checking for VBoxService ...running

ゲストの時刻がまだ同期されていない場合は、ゲストを再起動します。


ありがとう!vboxadd-serviceサービスを再起動する最後のステップは、物事が私のために働いたものであり、文書化されていないようです(少なくともあなたが与えたリンクでは)。
-j_random_hacker

CentOS 7ゲストでこれを試しても、vboxadd-serviceが見つかりませんか?これは最小限のインストールであり、GUIはありません。
Br.Bill

1

Virtualboxゲスト追加機能をインストールせずに、ゲストとホストの間で時間を同期する別のソリューションを提供します

  1. ゲストにNTPをインストールし、これらの行のコメントを解除します/etc/ntp.conf
disable auth
broadcastclient
  1. ホストでブロードキャストをアクティブにします。Linuxユーザーの場合、/etc/ntp.confファイルを編集して行を構成します
broadcast 192.168.123.255 

Windowsユーザーの場合、「Windows Time」サービスをアクティブにします。その後、このページ読んで、放送時間に設定できます


1
IPアドレス192.168.123.255の重要な点は何ですか?
Br.Bill
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.