VirtualBoxのゲストの時計の補正を停止する方法

Pocket

ゲストの時計の補正を止める

VirtualBoxは、準仮想化インターフェースが”なし”のとき、ゲストOSとホストOSの時計は同期しています。でも、何かのときにゲストとホストの時計の同期を止めたいことがあると思います。

こちらを参考に紹介します。ゲストOSがWindowsの場合が載っています。

なお、TSCTiedToExecutionというのはTSCに関する別の設定ですので今回は設定しません。

VirtualBoxがホストの時計をゲストに供給するのを止める

時計の補正を止めたいゲストOSをシャットダウンします。

設定でシステム―>アクセラレーション―>準仮想化インターフェースで”なし”を選びます。

Legacyを選んでも”なし”と同じです。他を選ぶと自動的に補正されなくなります。

VirtualBoxのインストールされているフォルダに行きます。

cd "C:\Program Files\Oracle\VirtualBox"

次のコマンドでゲストOSのリストを見ることができます。

C:\Program Files\Oracle\VirtualBox> VBoxManage list vms

その名前を使って次のようにするとゲストがホストの時計を参照することを止めることができます。"Guest Name"というのは自分の設定したいゲストの名前です。

C:\Program Files\Oracle\VirtualBox> VBoxManage setextradata "Guest Name" "VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled" "1"

このコマンドで、ゲストOSのところにある設定ファイル"Guest Name".vboxに設定が書き込まれます。

この後で、ゲストOSを再起動するとゲストOSの時計ががホストに同期するのは停止されます。

GuestAdditionsの時計の同期を止める

上記だけでも時計が同期しなくなります。
ゲストOS上でも、Guest Additionsが同期しようとしていますので、念のためそれを止める方法です。

ゲストOSがUbuntu 12.04 x64の場合です。

現在動いているVBoxServiceを止めます。

sudo service vboxadd-service stop

タイマーの同期をとめたままGuest Additionsを動かします。

sudo /usr/sbin/VBoxService --disable-timesync

これでゲストとホストの時計の同期は止まるはずです。この方法だと、ゲストOSを再起動するとまた--disable-timesyncなしでサービスが動きます。

ゲストとホストの時計の同期を再開する

VBoxManageの最後の"1"をなくして実行することで設定のエントリーをなくすことができます。"0"とすることでも再開できます。

C:\Program Files\Oracle\VirtualBox> VBoxManage setextradata "Guest Name" "VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled"

ゲストの実行中でもコマンドを実行できますが、再起動しないと有効になりません。

Pocket

「VirtualBoxのゲストの時計の補正を停止する方法」への2件のフィードバック

  1. コメントありがとうございます。
    間違えてしまいすみません。直しておきました。:)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*