web-dev-qa-db-fra.com

Comment définir manuellement l'heure du système dans VirtualBox?

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?

28
Jeremy Bicha

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:

  1. Recherchez un nom de votre VM (machine virtuelle) - exécutez VB (VirtualBox), sélectionnez votre machine virtuelle, ouvrez les paramètres. Dans l'onglet "Général", vérifiez le nom, par exemple. dans mon cas Ubuntu 12.04 32bit
  2. Sous Windows, démarrez un interpréteur de ligne de commande, accédez au dossier 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.
  3. Collez la commande suivante (remplacez le nom VM par votre nom!):

    VBoxManage setextradata "Ubuntu 12.04 32bit" "VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled" 1

  4. Enfin, démarrez votre invité Ubuntu et définissez l'heure et la date manuellement.

29
Vladimir S.

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.

23
dregad

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
11
Trek1701

Eh bien, si vous voulez définir des dates arbitraires, vous devez d’abord désactiver ou désinstaller NTP.

  • Pour le désactiver, ouvrez un terminal et exécutez Sudo update-rc.d -f ntp remove
  • Pour le désinstaller, utilisez votre logiciel de gestion de logiciel préféré.

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

4
qbi

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.

3
scouser73

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.

1
NateW

Basé sur l'exemple ".ps1" (script Windows PowerShell) donné dans

https://superuser.com/questions/539880/using-virtual-box-is-it-possible-to-set-votre-virtual-machine-time-to-be-differen

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

0
Txane