VirtualBox: Changer la Date et l'Heure
Tutoriel de Stefan Trost | Dernière mise à jour le 17/04/2024 | Créé le 11/05/2021
Si vous souhaitez modifier le temps dans un système invité dans VirtualBox, par défaut, vous pouvez rencontrer le comportement suivant: Après avoir changé l'horloge d'un système d'exploitation qui a été lancé à partir de VirtualBox, il ne faut pas longtemps avant que le temps revienne à sa l'état original. Il semble qu'il n'y ait aucune chance de changer la date et l'heure.
Cela est dû à la synchronisation automatique de l'heure avec le système hôte. Autrement dit, l'heure de l'ordinateur hôte est toujours automatiquement adoptée pour la machine virtuelle. Mais que pouvez-vous faire si vous souhaitez exécuter la machine virtuelle avec une date ou une heure différente de celle du système hôte?
Nous avons deux options pour cela et devons également prêter attention aux points répertoriés sous "Exigences importantes":
- Modifier les Paramètres via le Fichier de Configuration
- Modifier les Paramètres via la Ligne de Commande
- Exigences importantes
Modifier les Paramètres via le Fichier de Configuration
Chaque machine virtuelle possède deux fichiers de configuration dans lesquels les paramètres de cette machine sont spécifiés. Vous pouvez trouver les fichiers dans le dossier dans lequel vous avez stocké la machine virtuelle et l'image du disque dur de la machine virtuelle.
Le moyen le plus simple de trouver le dossier est de faire un clic droit sur la machine virtuelle en question dans VirtualBox dans la liste sur le côté gauche de la fenêtre principale puis de sélectionner «Afficher dans l'Explorateur de Fichiers» dans le menu contextuel (vous pouvez également utiliser le menu "Machine" > "Afficher dans l'Explorateur de Fichiers" lorsqu'une machine virtuelle est sélectionnée).
- Par exemple, le chemin d'accès au dossier peut être "C:\Users\<Nom d'utilisateur>\VirtualBox VMs\<Nom de la machine virtuelle>", "C:\Documents and Settings\<Nom d'utilisateur>\.VirtualBox\Machines\", "C:\Users\<Nom d'utilisateur>\.VirtualBox\Machines\<Nom de la machine virtuelle>" ou, bien sûr, chaque autre dossier défini par l'utilisateur.
Les fichiers sont structurés au format XML et portent l'extension de fichier .vbox ainsi que .vbox-prev. Le nom avant l'extension est égal au nom de la machine virtuelle. Ainsi, par exemple "<nom de la machine virtuelle>.vbox" et "<nom de la machine virtuelle>.vbox-prev".
Après avoir ouvert les fichiers dans un éditeur de texte, vous pouvez ajouter (ou modifier) la ligne suivante dans la section "<ExtraData>". Cette ligne configure si l'heure doit être extraite du système hôte:
<ExtraDataItem name="VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled" value="1"/>
Avec le réglage "value" sur "0", l'heure est synchronisée, si "value" est réglé sur "1", il n'y a pas de synchronisation avec le système hôte.
Afin d'empêcher la synchronisation automatique de l'heure à l'avenir, nous devons donc définir cette valeur sur 0 dans les deux fichiers, puis enregistrer les fichiers.
Modifier les Paramètres via la Ligne de Commande
Au lieu de modifier manuellement les fichiers de configuration XML à l'aide d'un éditeur de texte, vous pouvez également effectuer les modifications nécessaires à partir de la ligne de commande. Pour cela, vous pouvez saisir la commande suivante depuis le Terminal:
VBoxManage setextradata "<NomMV>" "VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled" "1"
Bien sûr, vous devez insérer le nom de la machine virtuelle que vous souhaitez modifier dans la commande au lieu de "<NomMV>".
L'outil VBoxManage se trouve dans le dossier d'installation de VirtualBox. Vous devez donc exécuter la commande directement à partir du dossier d'installation ou spécifier le chemin complet de VBoxManage pour que cela fonctionne et que le programme soit trouvé et puisse être appelé.
Par défaut, VirtualBox s'installe dans le dossier "C:\Program Files\Oracle\VirtualBox" sous Windows. Ainsi, un appel de chemin complet utilisant ce chemin d'installation par défaut pourrait ressembler à ceci:
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" setextradata "Ma Nachine Virtuelle" "VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled" "1"
Si le nom de votre machine virtuelle contient des espaces, il est important de penser à ne pas oublier de mettre le nom de la VM entre guillemets. Il en va de même pour le chemin de VBoxManage.exe, car le dossier "Program Files" contient un espace dans son nom.
Exigences importantes
Sans aucun doute, la condition préalable la plus importante pour réussir le changement de date et d’heure est la modification des fichiers de configuration comme décrit dans les dernières sections. Cependant, afin de le faire fonctionner en permanence et de maintenir le temps fixé, nous devons considérer deux choses importantes (quelle que soit la méthode choisie pour modifier la configuration):
- D'une part, nous devons quitter VirtualBox avant d'apporter des modifications aux fichiers de configuration (pas seulement la machine virtuelle que nous voulons modifier, mais l'ensemble du programme),
- d'autre part, nous devons nous assurer qu'une éventuelle synchronisation automatique de l'heure n'est pas active dans le système invité.
Nous examinerons ces deux points plus en détail dans les deux prochaines sections.
Important: Fermez VirtualBox avant
VirtualBox lit les paramètres des machines virtuelles au démarrage et stocke les paramètres lors de sa fermeture. Par conséquent, lorsque vous appliquez des modifications à la configuration, vous devez fermer toutes les machines virtuelles en cours d'exécution ainsi que VirtualBox lui-même.
Sinon, les modifications ne deviendront pas actives ou seront même écrasées lors de la prochaine fermeture du programme.
Important: Désactivez la Synchronisation Automatique de l’Heure
De nombreux systèmes d'exploitation disposent d'une fonction intégrée qui synchronise automatiquement la date et l'heure du système avec Internet. Si cette option est active, notre système invité peut démarrer à l'heure souhaitée qui diffère de l'heure standard, mais passer soudainement et de manière inattendue à l'heure correcte.
Ce qui est perfide, c'est: certaines de ces fonctions de synchronisation ne vérifient pas l'heure régulièrement (par exemple toujours au démarrage du système), mais seulement de temps en temps. Ainsi, un tel contrôle temporel peut avoir lieu, par exemple, seulement après le deuxième ou le troisième démarrage de la machine virtuelle (surtout si les machines virtuelles ne sont pas utilisées pendant de longues périodes). Cela peut signifier que cette "correction" n’est pas immédiatement remarquée et nous conduit ainsi à des difficultés inattendues. En d’autres termes, il existe non seulement un risque de synchronisation avec le système hôte, mais également un risque de synchronisation avec Internet. Nous devons donc toujours avoir les deux sur notre radar.
Pour cette raison - si votre machine virtuelle est autorisée à accéder à Internet et que vous souhaitez utiliser une heure personnalisée - vous devez toujours désactiver la synchronisation automatique de l'heure ou vérifier si elle est active.
L'endroit où la synchronisation automatique de l'heure peut être configurée dépend bien entendu du système d'exploitation utilisé ainsi que de la version du système. Ci-dessous, nous aimerions examiner la procédure pour Windows, Linux et Mac:
- Sur la plupart des systèmes Windows, vous pouvez simplement cliquer sur l'horloge qui se trouve dans la barre des tâches. Si vous effectuez ce clic avec le bouton droit de la souris, vous pouvez ensuite cliquer sur "Ajuster la date/l'heure", tandis que si vous cliquez avec le bouton gauche de la souris, le paramètre s'appelle "Modifier les paramètres de date et d'heure" (la deuxième variante n'est pas disponible dans toutes les versions de Windows). Alternativement, vous pouvez également ouvrir le Panneau de Configuration, puis sélectionner "Horloge et région" ou "Horloge, langue et région", puis "Définir l'heure et la date". Dans la boîte de dialogue qui s'ouvre, allez dans l'onglet "Temps Internet". Si l'option est active, il sera écrit ici "Cet ordinateur est configuré pour se synchroniser automatiquement avec time.windows.com", par exemple. Pour désactiver la synchronisation, on peut cliquer sur le bouton "Modifier les paramètres" afin de désactiver l'option "Synchroniser avec un serveur de temps Internet". À ce stade, vous pouvez également sélectionner le serveur et mettre à jour l'heure en utilisant le bouton "Mettre à jour".
- Sur Mac avec l'un des systèmes d'exploitation macOS ou Mac OS, cela commence - comme souvent - via le menu avec le symbole pomme à l'extrême gauche dans la barre de fonctions en haut de l'écran. Dans ce menu, sélectionnez l'entrée "Préférences Système". Une fenêtre s'ouvre avec toutes les catégories de paramètres disponibles, dans laquelle vous sélectionnez l'entrée "Date et heure". Les paramètres horaires s'ouvrent alors avec les trois onglets "Date et Heure", "Fuseau horaire" et "Horloge". Nous ne nous intéressons qu'à l'onglet "Date et Heure", où l'on retrouve tout en haut de l'onglet l'option "Régler la date et l'heure automatiquement" ainsi que la possibilité de mettre en place un serveur tel que time.apple.com, time.euro.apple.com ou time.asia.apple.com pour la synchronisation (comme avec Windows). Pour désactiver cette synchronisation, il suffit de décocher "Régler la date et l'heure automatiquement". La case à cocher de cette option peut être grisée. Ceci est contrôlé par le petit cadenas en bas de la fenêtre, intitulé "Pour modifier, cliquez sur le cadenas". Si nous faisons cela, nous devons d’abord saisir notre mot de passe. Le cadenas s'ouvre alors et avec lui la possibilité de modifier l'option d'activation ou de désactivation de la synchronisation (la case à cocher retrouve sa couleur et peut donc être actionnée de la même manière que la liste déroulante à côté). De plus, le cadenas est ensuite renommé "Pour empêcher les modifications, cliquez sur le cadenas". Si nous procédons à nouveau, nous pouvons protéger nos paramètres contre les modifications indésirables apportées par d'autres utilisateurs.
- Si votre système invité est un système Linux, en raison de la variété des différentes distributions Linux et des différentes interfaces utilisateur, il peut y avoir plusieurs endroits où les paramètres de synchronisation de l'heure peuvent être masqués - en supposant qu'ils puissent être configurés du tout. Dans Ubuntu, la distribution Linux la plus populaire et la plus utilisée actuellement, nous pouvons procéder comme suit: Tout d'abord, nous cliquons sur le symbole d'engrenage à l'extrême droite du bord supérieur de l'écran. Un menu s'ouvre dans lequel on clique sur l'entrée "Paramètres système". Dans la fenêtre qui s'ouvre, on clique sur "Heure et date". Après cela, sous la carte du monde, nous verrons l'option "Régler l'heure" avec les deux choix "Manuellement" ou "Automatiquement depuis Internet". L'option "Manuel" est le paramètre de notre choix pour désactiver la synchronisation automatique de l'heure. Bien entendu, les options peuvent avoir un nom différent dans d'autres distributions ou même dans des versions d'Ubuntu, mais la procédure devrait être similaire.
Si nous ne laissons pas du tout notre machine virtuelle accéder à Internet, nous pouvons bien sûr ignorer cette étape, car dans ce cas, VirtualBox veillera à ce que le système invité ne puisse de toute façon pas atteindre le serveur de synchronisation de l'heure.
Sur l’Auteur
Vous pouvez trouver des logiciels de Stefan Trost sur fr.sttmedia.com. Avez-vous besoin d'un logiciel personnalisé selon vos propres besoins? Écrivez-nous: fr.sttmedia.com/contact
Voir Profil
Sujets Connexes
JavaScript: Obtenir la Date et l’Heure actuelles
Tutoriel | 1 Commentaire
Delphi/Lazarus: Afficher la Date et l'Heure actuelles
Conseil | 0 Commentaires
PHP: Déterminer le Numéro de Semaine
Tutoriel | 0 Commentaires
Changer la Date du Fichier
Tutoriel | 0 Commentaires
Script Batch: Arrêter Ordinateur Windows
Tutoriel | 4 Commentaires
jQuery: Modifier la couleur d'arrière-plan de l'élément HTML à l'aide de jQuery
Question | 1 Réponse
Delphi/Lazarus: Récupérer la position X/Y d'un contrôle par rapport à l'écran
Conseil | 0 Commentaires
Avis Important
Veuillez noter: Les contributions publiées sur askingbox.com sont des contributions d’utilisateurs et ne doivent pas remplacer les conseils d’un professionnel. Ils ne sont pas vérifiés par des indépendants et ne reflètent pas nécessairement l’opinion de askingbox.com. Apprendre encore plus.
Participer
Posez votre propre question ou écrivez votre propre article sur askingbox.com. Voici comment.
Je vous remercie pour ces instructions, qui sont compréhensibles même pour moi, mais elles ne résolvent pas mon problème de mise à jour de l'heure.
Est-ce dû à Linux (Ubuntu, plus précisément Mint 17.1) ou à Oracle Vbox 4.3.18_Ubuntu r956516 que le fichier vbox est constamment libéré de la ligne que j'ai saisie ou que les droits sur celui-ci sont réinitialisés, de sorte que je ne peux pas vbox empêche-t-il de modifier ce fichier?
06/01/2022 à 19:28
Avez-vous fermé l'intégralité du programme VirtualBox et pas seulement les machines virtuelles en cours d'exécution?
Si vous apportez des modifications au fichier alors que VirtualBox est toujours en cours d'exécution, c'est exactement cet écrasement qui se produit.
Alors, assurez-vous d’abord que l’intégralité du programme est fermé, puis apportez les modifications aux fichiers, puis redémarrez VirtualBox.
06/01/2022 à 22:42
Merci et oui, c'est ce que je pensais (du moins jusqu'à présent), car cela a fonctionné comme vous l'avez décrit.
J'ai nommé ma version vbox, mon système d'exploitation est Linux 3.13.0-37 Ubuntu SMP x86_64. Cela n'a pas fonctionné plusieurs fois dans la journée, mais je n'ai pas essayé de redémarrer car ce n'était pas approprié à ce moment-là.
Je soupçonne donc que, comme pour le démon MySQL, qui n'a plus pu être supprimé plus tard dans la soirée, une terminaison incomplète s'est produite. Je n'ai jamais eu de problèmes avec vbox, donc je n'ai pas vérifié que tous les processus s'étaient terminés correctement, j'ai juste terminé les programmes.
07/01/2022 à 14:00
Merci beaucoup pour ce guide utile.
J'ai décidé de modifier les fichiers de configuration manuellement. A fonctionné :)
01/08/2022 à 22:33
Le chemin d'accès au fichier XML a changé (je pense), il est maintenant:
C:/Users/<nom d'utilisateur>/VirtualBox VMs/<nom de vm>
08/01/2023 à 20:18
Comme je l'ai dit, le répertoire peut être choisi librement. Mes machines virtuelles ne sont même pas sur le lecteur C, par exemple, d'autres n'utilisent même pas Windows.
Par conséquent, vous devez cliquer avec le bouton droit sur la VM et sélectionner "Afficher dans l'Explorateur". Néanmoins, j'ai répertorié quelques chemins typiques dans le tutoriel.
08/01/2023 à 22:04
Fonctionne à merveille et est également très bien expliqué et décrit.
Merci pour ce très bon tuto !!! :)
11/11/2023 à 10:07
Cela fonctionne parfois.
Je pense qu'il doit y avoir un bug.
Parfois, ma machine virtuelle conserve sa propre date et heure, parfois elle revient à la date et à l'heure du système. J'ai revérifié les paramètres et ils sont corrects. J'ai utilisé la commande et regardé ensuite dans les fichiers de paramètres pour voir si les paramètres étaient corrects.
09/12/2023 à 20:11
Certains systèmes d'exploitation vérifient et mettent à jour leur heure depuis Internet par défaut. Lorsque vous laissez le système démarrer avec une heure individuelle, cette heure peut alors être à nouveau écrasée par l'heure actuelle au démarrage de la VM après la synchronisation de l'heure. C'est peut-être la raison de ce comportement.
Habituellement, les systèmes d'exploitation proposent une option qui peut être désactivée pour empêcher cette synchronisation automatique de l'heure.
J'ai ajouté une section au didacticiel qui décrit ce problème et explique comment désactiver cette synchronisation.
09/12/2023 à 22:43
Fonctionne parfaitement! Merci!
Je l'ai changé via VBoxManage.
04/04/2024 à 21:26