#1 Le 17/04/2010, à 21:21
- jean_naimare
[RESOLU] Démarrer une machine virtuelle au démarrage de l'ordi
Bonjour,
J'utilise VirtualBox (version 3.1.6) pour faire fonctionner une machine virtuelle Windows XP sur mon PC sous Ubuntu 9.10 (Karmic Koala).
Tout fonctionne très bien quand je lance la machine virtuelle "à la main" mais je voudrais la lancer automatiquement au démarrage de mon PC.
J'ai donc créé un script de lancement nommé "vbox-windows-xp" qui utilise les commandes indiquées dans la doc officielle de VirtualBox :
#!/bin/sh
### BEGIN INIT INFO
# Provides: vbox-windows-xp
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start VM
# Description: Start/stop the virtual machine "Windows XP"
### END INIT INFO
MACHINE_NAME="Windows XP"
RETVAL=0
LD_LIBRARY_PATH=/usr/lib/virtualbox:$LD_LIBRARY_PATH
case "$1" in
start)
/usr/lib/virtualbox/VBoxHeadless --startvm "$MACHINE_NAME" --vrdp=config
RETVAL=$?
;;
stop)
/usr/bin/VBoxManage controlvm "$MACHINE_NAME" poweroff
RETVAL=$?
;;
status)
ps=`ps -ef | grep VBoxHeadless | grep "$MACHINE_NAME" | grep -v grep`
if [ -z "$ps" ] ; then
echo "Machine virtuelle non lancée"
RETVAL=1
else
echo "Machine virtuelle lancée"
RETVAL=0
fi
;;
restart)
/usr/bin/VBoxManage controlvm "$MACHINE_NAME" reset
RETVAL=$?
;;
*)
echo "Usage: $0 { start | stop }"
RETVAL=1
;;
esac
exit $RETVAL
que j'ai copié dans /etc/init.d
sudo cp vbox-windows-xp /etc/init.d
sudo chmod +x /etc/init.d/vbox-windows-xp
et que j'ai déclaré comme programme de démarrage
sudo update-rc.d vbox-windows-xp defaults
Tout fonctionne quand je lance la commande
sudo /etc/init.d/vbox-windows-xp start
mais la machine virtuelle ne démarre pas quand je reboote mon PC.
Auriez vous une idée de la raison du non-démarrage ?
Merci de votre aide.
Jean
Dernière modification par jean_naimare (Le 18/04/2010, à 17:33)
Hors ligne
#2 Le 18/04/2010, à 16:49
- jean_naimare
Re : [RESOLU] Démarrer une machine virtuelle au démarrage de l'ordi
J'ai ajouté une redirection sur la commande de démarrage de la machine virtuelle et j'obtiens le message suivant :
WARNING: The vboxdrv kernel module is not loaded. Either there is no module
available for the current kernel (2.6.31-20-generic) or it failed to
load. Please recompile the kernel module and install it bysudo /etc/init.d/vboxdrv setup
You will not be able to start VMs until this problem is fixed.
Sun VirtualBox Command Line Management Interface Version 3.1.6
(C) 2005-2010 Sun Microsystems, Inc.
All rights reserved.Waiting for the remote session to open...
ERROR: Virtual machine 'Windows XP' has terminated unexpectedly during startup
Details: code NS_ERROR_FAILURE (0x80004005), component Machine, interface IMachine, callee <NULL>
Comment faire pour forcer vboxdrv à se lancer AVANT mon script ?
Hors ligne
#3 Le 18/04/2010, à 17:01
- Vysserk3
Re : [RESOLU] Démarrer une machine virtuelle au démarrage de l'ordi
Salut,
Il suffit de placer ton script dans /etc/init.d et d'appeler la commande de création des liens dans les dossiers rcX.d avec :
sudo update-rc.d nom_du_script defaults NN
Où NN est un nombre plus grand que 20 (si on suppose que le script vboxdrv possède le numéro 20 pour son lancement, ce que j'ai chez moi, dans le dossier /etc/rc3.d/S20vboxdrv, (le S c'est pour Start))
La doc de update-rc.d est assez bien expliqué pour ça cf http://manpages.ubuntu.com/manpages/karmic/en/man8/update-rc.d.8.html
Ca c'est la méthode classique. Maintenant, upstart va arriver sur Lucid et ce sera différent, donc peut être regarder comment le faire avec directement...cf http://upstart.ubuntu.com/faq.html
Dernière modification par Vysserk3 (Le 18/04/2010, à 17:03)
Hors ligne
#4 Le 18/04/2010, à 17:33
- jean_naimare
Re : [RESOLU] Démarrer une machine virtuelle au démarrage de l'ordi
Merci beaucoup, cela fonctionne à merveille.
Pour Lucid, je verrai quand je serai prêt à upgrader ...
Jean
Hors ligne