J'essaie de régler manuellement l'heure de l'ordinateur dans VirtualBox, mais ce dernier se réinitialise toujours tel qu'il était avant que je ne le modifie. Comment puis-je désactiver ntp et dire au système à quelle heure je le souhaite?
J'ai trouvé une solution. Lire le matériel suivant: lien
En gros, si vous avez un hôte Windows et un invité Ubuntu, procédez comme suit:
Ubuntu 12.04 32bit
C:\Program Files\Oracle
et cliquez sur VirtualBox
pour le sélectionner, maintenez la touche Maj gauche enfoncée, effectuez un clic droit avec le bouton droit de la souris et sélectionnez le menu "Ouvrir la fenêtre de commande ici", l'interprète doit être ouvert maintenant.Collez la commande suivante (remplacez le nom VM par votre nom!):
VBoxManage setextradata "Ubuntu 12.04 32bit" "VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled" 1
Enfin, démarrez votre invité Ubuntu et définissez l'heure et la date manuellement.
Comme mentionné dans une autre réponse, si vous exécutez Ubuntu en tant qu’invité sous VirtualBox, vous devez être conscient du fait que l’heure du système est automatiquement synchronisée avec le ajouts d’invités (c’est-à-dire sans option dans le menu déroulant). paramètres de la carte mère).
Dans ce cas, votre solution consiste à désactiver les ajouts d’invités, ce qui peut être réalisé en exécutant
Sudo service vboxadd-service stop
ou
Sudo /etc/init.d/vboxadd-service stop
Vous pouvez ensuite régler l'heure à votre guise (à partir de la ligne de commande, à l'aide de date --set
ou de l'applet des paramètres système).
Le service VirtualBox sera redémarré au prochain redémarrage, ou vous pouvez le faire manuellement.
Le seul moyen consiste à définir l'heure sur la carte mère Virtualbox à l'aide de la ligne de commande:
VBoxManage modifyvm <name> --biossystemtimeoffset <msec>
Par exemple, pour reporter la date à un an:
VBoxManage modifyvm <name> --biossystemtimeoffset -31536000000
Eh bien, si vous voulez définir des dates arbitraires, vous devez d’abord désactiver ou désinstaller NTP.
Sudo update-rc.d -f ntp remove
Après cela, vous pouvez utiliser la commande date
- pour définir l'heure du système:
date -s "17 April 2011 12:34:56"
date --set="17 April 2011 12:34:56"
Les deux commandes sont équivalentes. Pour définir uniquement le temps, vous pouvez utiliser:
date +%T -s "12:34:56"
La date
- manpage possède quelques contrôles de format supplémentaires. Vous pouvez tous les utiliser pour changer la date
Cliquez sur la section heure et date du panneau, le calendrier apparaîtra et sous les paramètres Heure et date, cliquez dessus.
Cliquez sur l'icône du cadenas et entrez votre mot de passe, puis choisissez manuellement le réglage de l'heure.
Dans le centre logiciel, recherchez ntpdate et supprimez-le, ou dans le terminal: Sudo apt-get remove ntpdate
(Vous devrez peut-être redémarrer pour désactiver complètement ntp)
Puis fixez votre date.
Basé sur l'exemple ".ps1" (script Windows PowerShell) donné dans
J'ai écrit un fichier de script ".bat" normal pour changer l'heure de démarrage de la machine virtuelle de VirtualBox.
L'heure de début souhaitée est définie sur la variable "TEMPO_START_TIMESTAMP" au format Epoch. Vous pouvez obtenir votre équivalent epoh d’heure de début souhaitée à l’adresse " http://www.timestampconvert.com/ ".
Le nom de la machine virtuelle de VirtualBox à démarrer est requis dans la variable "NOME" (même nom que celui utilisé dans le script ".ps1" ci-dessus).
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%
Vous aurez également besoin de l'heure actuelle au format epoh. Pour cela, utilisez le script suivant (enregistrez sous "toEpoch.vbs", ce script Visual Basic est appelé à partir du script ".bat" ci-dessus):
WScript.Echo DateDiff("s", "01/01/1970 00:00:00", Now())
Pour exécuter la machine virtuelle, exécutez simplement le fichier de script ".bat" ci-dessus. Inutile d'ouvrir l'interface "Oracle VM VirtualBox Administration".
J'espère que ça aide.
Cordialement