回答:
私は解決策を見つけました。次の資料をお読みください:リンク
基本的に、WindowsホストとUbuntuゲストがある場合は、次を実行します。
Ubuntu 12.04 32bit
C:\Program Files\Oracle
フォルダーに移動してクリックVirtualBox
して選択し、左シフトキーを押しながらマウスの右ボタンをクリックし、[ここでコマンドウィンドウを開く]メニューを選択します。次のコマンドを貼り付けます(VM名を自分の名前に変更してください!):
VBoxManage setextradata "Ubuntu 12.04 32bit"
"VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled" 1
最後に、Ubuntuゲストを起動し、手動で日時を設定します。
vboxadd-service
主に、ゲストに余分な引数を必要--disable-timesync
別の回答で述べたように、VirtualBoxでゲストとしてUbuntuを実行している場合、システム時間は自動的にGuest Additionsによって同期されます(つまり、マザーボード設定のオプションを使用しない)。
その場合の解決策は、ゲストの追加を無効にすることです。
sudo service vboxadd-service stop
または
sudo /etc/init.d/vboxadd-service stop
その後、必要に応じて時間を設定できます(コマンドラインからdate --set
、またはシステム設定アプレットを使用して)
VirtualBoxサービスは、次回の再起動時に再起動されますが、手動で実行することもできます。
sudo service virtualbox-guest-utils stop
。パッケージの名前が変更されたと思いますか?
さて、任意の日付を設定したい場合は、まずntpを無効化または削除する必要があります。
sudo update-rc.d -f ntp remove
その後、date
コマンドを使用してシステム時間を設定できます。
date -s "17 April 2011 12:34:56"
date --set="17 April 2011 12:34:56"
両方のコマンドは同等です。使用できる時間のみを設定するには:
date +%T -s "12:34:56"
date
-manpageは、いくつかのより多くのフォーマットのコントロールを持っています。それらをすべて使用して日付を変更できます
「.ps1」(Windows PowerShellスクリプト)の例に基づいて
VirtualBoxの仮想マシンが起動する時刻を変更するために、通常の「.bat」スクリプトファイルを作成しました。
希望の開始時刻は、エポック形式で変数「TEMPO_START_TIMESTAMP」に設定されます。「http://www.timestampconvert.com/」で、希望する開始時刻のepohを取得できます。
開始するVirtualBoxの仮想マシンの名前は、変数「NOME」で必要です(上記の「.ps1」スクリプトで使用される同じ命名法)。
echo off
echo %time%
set NOME="Windows_7_x64"
set TEMPO_CS_2_MS=0
set TEMPO_S_2_MS=000
rem # Starts the VM always on the date 07/11/2014 - 11h58
rem http://www.timestampconvert.com/
set TEMPO_START_TIMESTAMP=1415361480
for /f "delims=" %%x in ('cscript /nologo toEpoch.vbs') do set epoch=%%x
rem %epoch%
set TEMPO_CURRENT_TIMESTAMP=%epoch%
rem set TEMPO_CURRENT_TIMESTAMP=1544518714
set /A TEMPO_TEMP=(%TEMPO_START_TIMESTAMP%-%TEMPO_CURRENT_TIMESTAMP%)
call set TEMPO=%TEMPO_TEMP%%TEMPO_S_2_MS%
rem %TEMPO_TEMP%
rem %TEMPO%
c:\Progra~1\Oracle\VirtualBox\VBoxManage setextradata %NOME% "VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled" 1
c:\Progra~1\Oracle\VirtualBox\VBoxManage modifyvm %NOME% --biossystemtimeoffset %TEMPO%
c:\Progra~1\Oracle\VirtualBox\VBoxManage startvm %NOME%
また、epoh形式の現在時刻も必要になります。これには、次のスクリプトを使用します(「toEpoch.vbs」として保存、この視覚的な基本スクリプトは上記の「.bat」スクリプトから呼び出されます)。
WScript.Echo DateDiff("s", "01/01/1970 00:00:00", Now())
仮想マシンを実行するには、上記の「.bat」スクリプトファイルを実行するだけです。「Oracle VM VirtualBox Administration」インターフェースを開く必要はありません。
これがお役に立てば幸いです。
よろしく