J'ai plusieurs machines Virtual Box dans mon Ubuntu12.04, chaque fois que je ferme ou redémarre, je dois les démarrer un par un.
Je veux une aide dans l'écriture de script pour le démarrage automatique automatique des machines VBox lors du démarrage.
boot
scripts
virtualbox
autostart
Maythux
la source
la source
Réponses:
Vous pouvez utiliser le service de démarrage automatique de VirtualBox. Un bon tutoriel décrivant la marche à suivre est disponible sur le blog "Life of a Geek Admin" .
Les étapes suivantes sont adaptées de l'article de blog lié:
Vous devez d’abord créer le fichier
/etc/default/virtualbox
et ajouter quelques variables.VBOXAUTOSTART_DB qui contient un chemin absolu vers le répertoire de base de données à démarrage automatique et
VBOXAUTOSTART_CONFIG qui contient l'emplacement des paramètres de configuration à démarrage automatique. Le fichier devrait ressembler à ceci:
Maintenant, nous devons créer le
/etc/vbox/vbox.cfg
fichier et ajouterRemarque: Si le nom de fichier
vbox.cfg
ne fonctionne pas ci-dessus, essayez de le nommerautostart.cfg
.Si vous êtes le seul utilisateur, vous pouvez simplement ajouter la ligne
default_policy = allow
auvbox.cfg
fichier.Définissez les autorisations sur le répertoire sur le groupe vboxuser et assurez-vous que les utilisateurs peuvent écrire dans le répertoire ainsi que le bit collant.
Ajoutez chacun des utilisateurs au
vboxusers
groupe.(remplacez
USERNAME
par le nom d'utilisateur)REMARQUE : Si vous avez modifié les autorisations de groupe pour l'utilisateur actuel, déconnectez-vous puis reconnectez-vous pour actualiser les autorisations. (crédit @ kR105)
Chaque utilisateur souhaitant activer le démarrage automatique pour des machines individuelles doit définir le chemin d'accès au répertoire de la base de démarrage automatique avec
et activer le démarrage automatique pour une machine virtuelle individuelle avec
Cela va créer un
myuserid.start
fichier dans le/etc/vbox
répertoireMaintenant, redémarrez le service vboxautostart pour lire les modifications.
Redémarrez votre système et votre machine virtuelle devrait démarrer
la source
J'ai eu des incidents similaires malheureux d'essayer cette opération sur le LTS vanille.
Sur cette version, le fichier de clé /etc/init.d/vboxautostart-service n'était pas installé.
Pour autant que je sache, apt-get a configuré VitualBox et ses exigences, aussi je ne peux pas dire pourquoi le fichier 'vboxautostart-service' n'a pas été fourni. Mais pour en revenir à ceci, voici ma mise à jour du post de kdmurray.
1) Le fichier / etc / default / virtualbox existait pour moi. Il faut donc ajouter des vars:
2) Doit créer /etc/vbox/autostart.cfg comme indiqué par OP.
6b) Besoin d’obtenir un script vboxautostart-service et de le rendre exécutable.
6c) Alerte le contrôleur rc.d, mais j’ai utilisé 24 comme heure de début. Mettant seulement 20 et il n'a pas démarré. Peut-être que cela fonctionnait avant même que virtualbox ne fonctionne.
Ensuite, le redémarrage a correctement lancé la machine virtuelle.
la source
vboxdrv
dans le# Required Start
/# Required Stop
lignes parvirtualbox
. Il semble qu'ils aient renommé le service, de sorte que le système d'exploitation ne peut pas détecter correctement les priorités de démarrage / arrêt. Je pense que vous n'avez pas besoin de l'étape 6c si vous avez remplacé ces lignes.Vous pouvez utiliser
vboxmanage startvm "my virtual machine" --type=headless|gui|sdl
(un de ceux-ci). Utilisez "headless" s'il s'agit de serveurs auxquels vous vous connectez par d'autres moyens que l'utilisation de l'interface graphique.Pour que ces commandes soient exécutées au bon moment au démarrage, vous devez lire Upstart.
la source
Après de nombreuses heures malheureuses à essayer de faire fonctionner les procédures de kdmurray ci-dessus, sans succès, j'ai finalement trouvé 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.
Deuxièmement, j'ai utilisé les fonctionnalités de l'interface graphique de VirtualBox (v4.3.12) pour créer un raccourci pour chaque machine virtuelle du bureau. {cliquez avec le bouton droit sur la machine virtuelle dans la colonne de gauche et sélectionnez "Créer un raccourci sur le bureau"}
Suivant: J'avais déjà constaté que l'affichage du menu-> Centre de contrôle -> Applications de démarrage -> Ajouter et ajouter les raccourcis sur le bureau donnait des fichiers qui ne fonctionnaient pas, j'ai remarqué dans une autre réponse sur cette page que l'emplacement des démarrages était / home /USERNAME/.config/autostart alors j’ai fait un clic droit sur chacun des raccourcis de la VM du bureau, puis les ai collés dans ce dossier, écrasant ainsi les anciens fichiers. Maintenant, ils ont développé les "jolies" icônes VirtualBox.
Et bien sûr, lors du redémarrage de l'ordinateur hôte, les 3 ordinateurs virtuels 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. Elles génèrent plutôt une boîte de dialogue d'erreur indiquant qu'elles sont verrouillées, même si je leur ai dit de s'éteindre avant le redémarrage de l'hôte.
la source
En plus de la bonne description du service vboxautostart ci-dessus, vous pouvez faire
pour arrêter automatiquement l'invité à l'arrêt. Pour Ubuntu 14.04, je devais ajouter un sommeil 30 à la section d'arrêt de vboxautostart-service, afin qu'il attende que l'invité soit complètement enregistré.
la source
J'ai trouvé un moyen plus simple sous Ubuntu 16.04 sous VBox 5.1.34.
Dans la VBox, cliquez avec le bouton droit de la souris sur la machine virtuelle en cours ou inactive dans la liste, sélectionnez "Créer un raccourci sur le bureau". Une fois que l'icône apparaît sur votre bureau, ouvrez-la à l'aide de tout outil permettant d'afficher la commande sous-jacente créée par la VBox (sur mon ordinateur). système, je fais un clic droit et sélectionnez «Propriétés») Copiez ceci dans le presse-papiers.
Ouvrez le programme pour mettre à jour les "applications de démarrage" et créer une nouvelle application qui démarre au moment du démarrage, en collant la commande que vous avez copiée à partir du lien de bureau créé par VirtualBox.
la source
Pour démarrer une machine virtuelle lors de la connexion à notre session, nous pouvons définir un fichier .desktop:
Lorsque ce fichier a été copié ou déplacé vers notre répertoire de démarrage automatique, il sera exécuté après la connexion:
L'exécution de Virtual Box dans l'espace utilisateur peut aider à éviter les effets secondaires indésirables de leur démarrage lors du démarrage (par exemple, la VM s'exécute en tant que root, le temps de démarrage augmente de manière incroyable, ...).
la source
Cela peut être fait en utilisant l'interface de gestion de ligne de commande de VirtualBox. Il suffit d’exécuter le script suivant au démarrage.
Il y a un bon tutoriel pour plus d'informations.
la source
Ajout à la réponse @kdmurray.
Si vous obtenez une erreur sur:
Pour résoudre ce problème, j'ai dû créer manuellement les fichiers "nom d'utilisateur" .start et "nom d'utilisateur" .stop avec:
Et changer de propriétaire avec:
rediffusion:
puis redémarrez le service:
vérifier est tout va bien avec:
et vous devriez voir le processus "VBox ..." dans une liste, si la machine virtuelle est en cours d'exécution
la source
Vous pouvez également obtenir le gestionnaire de session gnome décrit ici. Gnome Session Manager Il se trouve dans le centre logiciel ou vous pouvez simplement aller sur un terminal et taper
sudo apt-get install gnome-session-common
Ensuite, vous pouvez créer un petit script à exécuter et utiliser le gestionnaire de session gnome pour le démarrer. Voici un petit exemple de script pour vous aider à démarrer ...
la source
Voici comment je démarre mon Centos (nom de ma machine virtuelle) lorsque ma machine hôte redémarre. J'utilise crontab pour ce travail. Voici mon entrée crontab:
la source
Pour le serveur Ubuntu 16.04.1 LTS, j'ai résolu ceci en faisant:
Commencez par activer le service rc-local.
Ajouter la ligne suivante dans
/etc/rc.local
Notez que la virtual_box_user est celle qui peut voir la machine virtuelle (que vous êtes prêt à démarrer) en exécutant la commande:
Exemple:
Le modifié
/etc/rc.local
devrait ressembler à ceciSi vous ne choisissez pas le bon propriétaire de virtualbox, vous devriez voir l'erreur en tapant la commande:
J'espère que cela peut aider
la source
1 - Créer un fichier:
Coller ceci:
/bin/su validuser -c "/usr/bin/vboxmanage startvm MACHINENAME2--type headless" /bin/sleep 1
2 - Rendre le fichier vm-start exécutable:
3 - Éditez rc.local
Ajoute ça:
4 - Redémarrage.
la source