L'option la plus cohérente consiste à utiliser le planificateur de tâches.
Mise en œuvre de la solution
Cela nécessite quelques étapes assez simples, mais je vais les expliquer en détail afin de m'assurer que n'importe qui, quel que soit son bagage technique, puisse les mettre en place :
- Identifiez le nom de votre machine virtuelle
- Créer une tâche dans le planificateur de tâches
1. Identifiez le nom de votre machine virtuelle
Naviguez jusqu'à C:\Users\YourUserNameHere\VirtualBox VMs
Le nom du dossier ci-dessus correspond généralement au nom de la machine virtuelle. Vous pouvez le confirmer en consultant le gestionnaire VirtualBox lui-même :
Le nom de la machine est WindowsXPSP3
.
2. Créer une tâche dans le planificateur de tâches
Cliquez d'abord sur le bouton Démarrer et tapez "planificateur de tâches" sans les guillemets. Ouvrez ensuite le planificateur de tâches :
À l'intérieur du planificateur de tâches, nous allons voir un arbre de structure sur le côté gauche. Cliquez avec le bouton droit de la souris sur Task Scheduler Library
. Cliquez avec le bouton gauche de la souris sur New Folder...
:
Donnez au dossier un nom mémorable, par exemple User Custom
et cliquez sur OK (si vous avez déjà un dossier existant que vous préférez utiliser, ce n'est pas grave non plus, passez plutôt au paragraphe suivant) :
Cliquez sur votre dossier nouvellement créé, dans mon cas User Custom
pour le mettre en évidence. Cliquez avec le bouton droit de la souris dans la liste vide à droite et cliquez avec le bouton gauche de la souris sur Create New Task...
:
C'est maintenant que les choses se compliquent. Suivez mes instructions à la lettre. Si vous avez envie de "downvoter" parce que ça n'a pas marché, ou de dire "ça n'a pas marché pour moi" dans les commentaires, je parie que vous avez sauté une étape. Revenez et réessayez.
En Name
y Description
peut être ce que vous voulez, c'est simplement esthétique et cela n'affectera pas la fonctionnalité. Je vais donner au mien le nom de ma machine virtuelle et y ajouter une brève description. Ce qui EST important, c'est que vous choisissiez Run whether user is logged on or not
y Run with highest privileges
:
Passez à l'option Triggers
en haut et cliquez avec le bouton gauche de la souris sur New...
. Intervertir les Begin the task:
la boîte combinée pour At Startup
puis cliquez sur OK avec le bouton gauche de la souris :
Passez à l'option Actions
en haut et cliquez avec le bouton gauche de la souris sur New...
. Cliquez sur parcourir (faites pas essayez de taper cela manuellement, vous vous causerez des maux de tête) et naviguez jusqu'à C:\Program Files\Oracle\VirtualBox
. Faits marquants VBoxManage.exe
et cliquez avec le bouton gauche de la souris Open
:
Copier tout sauf l'exécutable et les guillemets de Program/script:
en Start in (optional):
:
Enfin, insérez la ligne suivante dans Add arguments (optional):
et cliquez sur OK :
startvm "YourVirtualMachineNameFromStep1" --type headless
dans mon cas, j'utiliserai :
startvm "WindowsXPSP3" --type headless
Mon Conditions
est généralement défini comme suit :
Assurez-vous que votre Settings
ressemble à ce qui suit, mais garantir absolument vous avez réglé les éléments marqués en jaune pour qu'ils correspondent aux miens. Cela permettra de s'assurer que si certains pré-requis n'étaient pas encore prêts, il y aura plusieurs tentatives de démarrage de la machine virtuelle et que la machine virtuelle ne sera pas arrêtée après 3 jours. Je laisserais tout le reste par défaut à moins que vous ne sachiez ce que vous faites. Si vous ne faites pas ce que je vous montre ici et que cela ne fonctionne pas, c'est votre problème :
Enfin, cliquez sur OK au bas de la fenêtre Create Task
fenêtre. Vous avez terminé !
Test de la solution
Test de mon faux scénario ci-dessus (et comment vous pouvez tester le vôtre)
Lorsque je redémarre mon ordinateur, je peux me connecter et ouvrir le gestionnaire VirtualBox et voir que ma VM est en cours d'exécution :
Je peux également rouvrir le planificateur de tâches et vérifier qu'il s'est bien exécuté, ou voir quelle était l'erreur s'il ne s'est pas exécuté (la plupart des erreurs sont des erreurs de répertoire dues à des personnes qui essaient d'entrer manuellement là où je leur ai dit de ne pas le faire) :
Test de mon cas d'utilisation réel
Sur une autre machine, j'ai configuré mon serveur Linux en tant que machine virtuelle avec son propre disque dur à semi-conducteurs. Je voulais que ce serveur redémarre automatiquement si la machine était redémarrée (crash, mise à jour de Windows, etc.), sans que l'utilisateur n'ait à se connecter. J'ai configuré ce serveur exactement comme je l'ai décrit ci-dessus et j'ai redémarré la machine. Je sais que cela a fonctionné parce que j'ai pu accéder à mon partage Samba (laymens : un dossier avec des choses dedans que je partage sur mon réseau avec mes autres ordinateurs) depuis un autre ordinateur. SANS après avoir ouvert une session sur la machine qui exécute la VM du serveur. Cela confirme à 100 % qu'il démarre bien au démarrage du système et non après la connexion de l'utilisateur.