VirtualBoxで日時変更の方法と元に戻ってしまう時の対処法[開発環境]

VirtualBoxで作成したローカル環境で、システムの時間を変更して作業する場合のメモです。
linuxのコマンドdateで時刻自体は簡単に変更可能です。
しかし、VitualBoxはNTP(NetWork Time Protocol)サーバーと時刻の同期を行なっているためすぐに変更した時刻が元に戻ってしまいます。
その場合の対処法を簡単に解説します。

コマンド実行時にVirtualBoxで時刻同期を解除する方法

// Stop time synchronization
service vboxadd-service stop 

// Change the time
date -s "2017/12/24 12:00:00"

// Resume time synchronization
service vboxadd-service start

おそらく特殊な状況でない限り上記方法で時刻の変更ができると思います。

VMの起動時に時間同期を無効にする方法

下記コマンドを実行します。

VBoxManage setextradata "VM name" "VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled" 1

VirtualBoxのインストールフォルダをカレントディレクトリにして実行します。もしくはパスを指定してVBoxManage.exeを実行します。
語尾の「1」を「0」に戻すことで、同期を再開することが可能です。起動時なのでVMの再起動が必要になります。

以上簡単ですが、VirtualBoxで日時変更の方法と元に戻ってしまう時の対処法を解説してみました。

開発環境関連おすすめの書籍

実際に使用する言語やOSによって違うので一概に「これ!」といえませんが、簡単に解説されているものを紹介します。

コピペでOK! VMを作りながら学ぶWebサーバー構築の基礎 for Mac: Web開発のテストが捗る! 本当に役立つ仮想サーバーの構築方法をステップバイステップで詳しく解説
これからはじめる方向け