web-dev-qa-db-fra.com

Comment exécuter "Oracle VirtualBox (VBOX)" en plein fond "Microsoft Windows (WIN)"?

PROBLÈME

Je veux exécuter autostart " Machine virtuelle (VM) " sans " Oracle VirtualBox (VBOX) " " Interface graphique (GUI) " sur une machine DEV locale avec " Microsoft Windows (WIN) ".

Comment puis-je faire cela dans un processus d'arrière-plan en cours d'exécution?

44
BG Bruno

SOLUTION

L'astuce consiste à exécuter VM sans interface graphique. Avec cela, vous pouvez aussi facilement exécuter VM sur un serveur WIN, comme un service.

0) Prérequis, il existe des ordinateurs virtuels, vous en avez déjà. Ci-dessous, indiquez son nom {nom_mv}.

1) Nous utilisons d’abord le fichier exécutable intégré "VBoxHeadless.exe".

créer un fichier

vm.run.bat

mettre du code

cd "c:\Program Files\Oracle\VirtualBox\"
VBoxHeadless.exe -s {vm_name} -v on

lancez et testez-le - WIN " interface de ligne de commande " appelé " environnement de commande " sera ouvert et VM s'exécutera en arrière-plan.

vm.run.bat

2) Nous utilisons ensuite " hôte de script basé sur Windows (WSCRIPT) } _" et le langage " script Microsoft Visual Basic (VBS) " et exécutons le fichier ci-dessus "vm.run.bat" avec .

créer un fichier

vm.run.vbs

mettre du code

Set WshShell = WScript.CreateObject("WScript.Shell")
obj = WshShell.Run("vm.run.bat", 0)
set WshShell = Nothing

lancez et testez - la CLI sera exécutée en arrière-plan.

wscript.exe vm.run.vbs

RÉFÉRENCES

Merci à iain 

_ { http://web.archive.org/web/20150407100735/http://www.techques.com/question/2-188105/Virtualbox-Start-VM-Headless-on-Windows } _

45
BG Bruno

Vous pouvez utiliser VBoxManage pour démarrer un VM sans tête:

"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" startvm "Your VM name" --type headless
35
Samuel

J'ai utilisé quelque chose de similaire à la solution de Samuel qui fonctionne très bien.

Sur le bureau (ou n’importe quel dossier), cliquez avec le bouton droit de la souris et sélectionnez Nouveau-> Raccourci.

Dans la cible, tapez:

"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" startvm {uuid} --type headless

Dans le nom, tapez ce que vous voulez et cliquez sur Terminer.

Ensuite, pour arrêter la même machine virtuelle, créez un nouveau raccourci dont la cible est:

"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" controlvm {uuid} poweroff

Double-cliquez dessus pour démarrer et arrêter le VM sans qu'aucune fenêtre ne reste ouverte.

15
Sam F

À partir de VirtualBox 4.2, vous pouvez simplement maintenir Shift tout en lançant la machine virtuelle pour l'exécuter complètement en arrière-plan. Voir détails ici .

9
mt_serg

Une solution alternative: http://vboxvmservice.sourceforge.net/

Cela fonctionne parfaitement pour moi! 

7
Eduardo Fabricio

Si cela ne vous dérange pas d'utiliser l'application une fois manuellement, pour terminer avec le système d'exploitation exécuté en arrière-plan; voici les options:

Ouvrez Virtual Box . Cliquez sur votre système d'exploitation invité avec le bouton droit de la souris> Choisir: Démarrer Headless . Attendez que le système d'exploitation démarre.

Fermez ensuite l'application Virtual Box.

2
Bimal Poudel

D'après mon expérience, après la réponse de Bruno Garett: le test du fichier vm.run.bat échoue, donne une erreur en lecture seule mais fonctionne correctement avec le script VB. Juste pour sauver du temps à quiconque.

Également pour arrêter sans tête, vous pouvez utiliser un autre script batch (la solution de Sam F ne fonctionnera pas avec la solution de Bruno):

cd "c:\Program Files\Oracle\VirtualBox\"
VBoxManage controlvm "Ubuntu Server" acpipowerbutton

La deuxième ligne a été obtenue à partir de ici vous pouvez utiliser l’option de votre choix.

1
DonD

Il existe également une option manuelle simple directement dans l'interface graphique:

 Screenshot from Virtualbox 5.2

(Extrait de Virtualbox 5.2)

0
bernie

Vous n'avez pas besoin d'un VBScript supplémentaire. Vous pouvez faire une commande en arrière-plan directement à partir du fichier de commandes:

start "MyBackgroundVM" "C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" startvm {uuid} --type headless
0
Roman Haefeli