Ich versuche, die Uhrzeit des Computers in VirtualBox manuell einzustellen, aber er wird immer auf den Stand zurückgesetzt, den er vor meiner Änderung hatte. Wie kann ich ntp deaktivieren und dem System mitteilen, wie spät es sein soll?
Ich versuche, die Uhrzeit des Computers in VirtualBox manuell einzustellen, aber er wird immer auf den Stand zurückgesetzt, den er vor meiner Änderung hatte. Wie kann ich ntp deaktivieren und dem System mitteilen, wie spät es sein soll?
Antworten:
Ich habe eine Lösung gefunden. Lesen Sie das folgende Material: Link
Grundsätzlich gilt Folgendes, wenn Sie einen Windows-Host und einen Ubuntu-Gast haben:
Ubuntu 12.04 32bit
C:\Program Files\Oracle
Ordner und klicken Sie, VirtualBox
um ihn auszuwählen. Halten Sie dann die linke Umschalttaste gedrückt, klicken Sie mit der rechten Maustaste und wählen Sie das Menü "Befehlsfenster hier öffnen". Der Interpreter muss jetzt ausgeführt werdenFügen Sie den folgenden Befehl ein (ändern Sie den VM-Namen in Ihren Namen!):
VBoxManage setextradata "Ubuntu 12.04 32bit"
"VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled" 1
Starten Sie schließlich Ihren Ubuntu-Gast und stellen Sie Uhrzeit und Datum manuell ein.
vboxadd-service
brauchte ein zusätzliches Argument für den Gast, hauptsächlich--disable-timesync
Wie in einer anderen Antwort erwähnt, sollten Sie wissen, wenn Sie Ubuntu als Gast unter VirtualBox ausführen, dass die Systemzeit automatisch durch die Gastzugaben synchronisiert wird (dh nicht durch eine Option in den Motherboard-Einstellungen).
In diesem Fall besteht Ihre Lösung darin, die Guest-Ergänzungen zu deaktivieren, die durch Ausführen von ausgeführt werden können
sudo service vboxadd-service stop
oder
sudo /etc/init.d/vboxadd-service stop
Sie können die Uhrzeit dann wie gewünscht einstellen (über die Befehlszeile mit date --set
oder über das Systemeinstellungs-Applet).
Der VirtualBox-Dienst wird beim nächsten Neustart neu gestartet, oder Sie können dies manuell tun.
sudo service virtualbox-guest-utils stop
. Ich denke, das Paket wurde umbenannt?
Die einzige Möglichkeit besteht darin, die Uhrzeit in der Virtualbox-Hauptplatine über die Befehlszeile festzulegen:
VBoxManage modifyvm <name> --biossystemtimeoffset <msec>
So setzen Sie beispielsweise das Datum um 1 Jahr zurück:
VBoxManage modifyvm <name> --biossystemtimeoffset -31536000000
Nun, wenn Sie ein beliebiges Datum festlegen möchten, sollten Sie zuerst ntp deaktivieren oder deinstallieren.
sudo update-rc.d -f ntp remove
Danach können Sie mit dem date
-Befehl Ihre Systemzeit einstellen:
date -s "17 April 2011 12:34:56"
date --set="17 April 2011 12:34:56"
Beide Befehle sind gleichwertig. So stellen Sie nur die Zeit ein, die Sie verwenden können:
date +%T -s "12:34:56"
Die date
-manpage hat einige weitere Format-Steuerelemente. Sie können sie alle verwenden, um das Datum zu ändern
Klicken Sie auf den Bereich Zeit und Datum. Daraufhin wird der Kalender angezeigt. Klicken Sie darauf, um die Zeit- und Datumseinstellungen anzuzeigen.
Klicken Sie auf das Vorhängeschloss-Symbol und geben Sie Ihr Passwort ein. Wählen Sie dann "Uhrzeit manuell einstellen".
Suchen Sie im Software-Center nach ntpdate und entfernen Sie es oder im Terminal: sudo apt-get remove ntpdate
(Möglicherweise müssen Sie einen Neustart durchführen, um ntp vollständig zu deaktivieren.)
Dann stellen Sie Ihr Datum ein.
Basierend auf dem Beispiel ".ps1" (Windows PowerShell-Skript) in
Ich habe eine reguläre ".bat" -Skriptdatei geschrieben, um die Uhrzeit zu ändern, zu der die virtuelle Maschine der VirtualBox gestartet wird.
Die gewünschte Startzeit wird bei der Variablen "TEMPO_START_TIMESTAMP" im Epochenformat eingestellt. Sie können Ihre gewünschte Startzeit auf " http://www.timestampconvert.com/ " abrufen .
Der Name der zu startenden virtuellen Maschine der VirtualBox wird in der Variablen "NOME" benötigt (die gleiche Bezeichnung wie im obigen ".ps1" -Skript).
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%
Sie benötigen außerdem die aktuelle Uhrzeit im epoh-Format. Verwenden Sie hierzu das folgende Skript (speichern Sie es unter "toEpoch.vbs". Dieses Visual Basic-Skript wird aus dem obigen ".bat" -Skript aufgerufen):
WScript.Echo DateDiff("s", "01/01/1970 00:00:00", Now())
Um die virtuelle Maschine auszuführen, führen Sie einfach die obige ".bat" -Skriptdatei aus. Die Benutzeroberfläche von "Oracle VM VirtualBox Administration" muss nicht geöffnet werden.
Ich hoffe das hilft.
Grüße