60 votes

Comment démarrer les machines de la boîte virtuelle automatiquement au démarrage ?

J'ai plusieurs machines virtuelles dans mon Ubuntu12.04, chaque fois que j'éteins ou redémarre, je dois les démarrer une par une.

Je veux une aide pour écrire script pour démarrer automatiquement les machines VBox au démarrage.

60voto

bbaja42 Points 938

Vous pouvez utiliser le service de démarrage automatique de VirtualBox. Un bon tutoriel décrivant comment le faire est posté sur le site de "Blog "Life of a Geek Admin .

Les étapes suivantes sont adaptées de l'article de blog lié :

  1. Vous devez d'abord créer le fichier /etc/default/virtualbox et ajouter quelques variables.

    VBOXAUTOSTART_DB qui contient un chemin d'accès absolu au répertoire de la base de données autostart et
    VBOXAUTOSTART_CONFIG qui contient l'emplacement des paramètres de configuration du démarrage automatique. Le fichier doit ressembler à ceci :

    # virtualbox defaults file
    VBOXAUTOSTART_DB=/etc/vbox
    VBOXAUTOSTART_CONFIG=/etc/vbox/vbox.cfg
  2. Maintenant, nous devons créer le /etc/vbox/vbox.cfg et ajouter

    # Default policy is to deny starting a VM, the other option is "allow".
    default_policy = deny
    # Create an entry for each user allowed to run autostart
    myuserid = {
    allow = true
    }

    Note : Si le nom de fichier vbox.cfg ne fonctionne pas ci-dessus, essayez de le nommer autostart.cfg .

    Si vous êtes le seul utilisateur, vous pouvez simplement ajouter la ligne default_policy = allow à la vbox.cfg fichier.

  3. Définissez les permissions sur le répertoire au groupe vboxuser et assurez-vous que les utilisateurs peuvent écrire sur le répertoire ainsi que sur le sticky bit.

    sudo chgrp vboxusers /etc/vbox
    sudo chmod 1775 /etc/vbox
  4. Ajoutez chacun des utilisateurs au vboxusers groupe.

    sudo usermod -a -G vboxusers USERNAME

    (remplacer USERNAME avec le nom d'utilisateur)

NOTE : Si vous avez modifié les autorisations de groupe pour l'utilisateur actuel, déconnectez-vous et reconnectez-vous pour rafraîchir les autorisations. (crédit @kR105)

  1. Chaque utilisateur qui souhaite activer le démarrage automatique pour des machines individuelles doit définir le chemin d'accès au répertoire de la base de données du démarrage automatique avec la commande suivante

    VBoxManage setproperty autostartdbpath /etc/vbox

    et activer le démarrage automatique pour une VM individuelle avec

    VBoxManage modifyvm <uuid|vmname> --autostart-enabled on

    Cela créera un myuserid.start dans /etc/vbox répertoire

  2. Maintenant redémarrez le service vboxautostart pour lire les changements.

    sudo service vboxautostart-service restart
  3. Redémarrez votre système et votre VM devrait démarrer

9voto

Jesse Buchanan Points 569

Vous pouvez utiliser vboxmanage startvm "my virtual machine" --type=headless|gui|sdl (un de ceux-là). Utilisez "headless" si ce sont des serveurs auxquels vous vous connectez par d'autres moyens que l'utilisation de l'interface.

Pour exécuter ces commandes au bon moment pendant le démarrage, vous devez lire le document Upstart.

7voto

Bill Williams Points 71

Après de nombreuses heures malheureuses à essayer d'obtenir les procédures dans de kdmurray ci-dessus pour travailler, sans succès, j'ai fini par trouver une méthode qui fonctionnait simplement.

Tout d'abord, mon hôte Linux (Mint 17) a été configuré au démarrage pour se connecter automatiquement à mon compte principal.

Ensuite, j'ai utilisé les fonctions de l'interface graphique de VirtualBox (v4.3.12) pour créer un raccourci pour chaque machine virtuelle sur le bureau. {Cliquez avec le bouton droit de la souris sur la VM dans la colonne de gauche et sélectionnez "Create Shortcut on Desktop"}.

Suivant : J'avais déjà trouvé qu'en faisant apparaître Menu->Control Centre -> Applications de démarrage -> Ajouter et l'ajout des raccourcis du bureau donnaient des fichiers qui ne fonctionnaient pas, j'ai remarqué grâce à d'autres réponses sur cette page que l'emplacement des démarrages est /home/USERNAME/.config/autostart J'ai donc fait un clic droit sur chacun des raccourcis de la VM du bureau et je les ai collés dans ce dossier, en écrasant les fichiers de merde précédents. Maintenant, ils ont développé les 'jolies' icônes de VirtualBox.

Et bien sûr, au redémarrage de l'ordinateur hôte, les 3 VMs ont démarré automatiquement.

-)

Bill Williams

PS : hélas, il me manque encore quelque chose, car souvent les machines virtuelles ne démarrent pas au démarrage, mais génèrent une boîte de dialogue d'erreur qui dit qu'elles sont verrouillées, même si je leur ai dit de s'arrêter avant que l'hôte ne soit redémarré.

5voto

Michael Schlueter Points 118

En plus de la bonne description du service vboxautostart ci-dessus, vous pouvez faire

VBoxManage modifyvm server --autostop-type savestate

pour arrêter automatiquement l'invité à l'arrêt. Pour Ubuntu 14.04, j'ai dû ajouter une fonction dormir 30 à la section vboxautostart-service stop, pour qu'il attende que l'invité soit complètement sauvegardé.

2voto

bits Points 2565

J'ai trouvé une méthode plus simple sous Ubuntu 16.04 avec VBox 5.1.34.

Dans VBox, cliquez avec le bouton droit de la souris sur la VM en cours d'exécution ou inactive dans la liste, puis sélectionnez "Créer un raccourci sur le bureau". Une fois que vous voyez l'icône sur votre bureau, ouvrez avec n'importe quel outil qui vous permet de voir la commande sous-jacente que VBox a créée (sur mon système, je fais un clic droit et je sélectionne 'propriétés') Copiez ceci dans le presse-papiers.

Ouvrez le programme de mise à jour des "applications de démarrage" et créez une nouvelle application qui démarre au moment du démarrage, en collant la commande que vous avez copiée à partir du lien du bureau créé par VirtualBox.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X