***本記事にはプロモーションが含まれています。***
ゲストの時計の補正を止める
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"
ゲストの実行中でもコマンドを実行できますが、再起動しないと有効になりません。
困っていたので助かりました!
一点だけtypoがありました。
tymesync
↓
timesync
コメントありがとうございます。
間違えてしまいすみません。直しておきました。