Was blieb

Was blieb

Zielsetzung

Ich möchte diesen Befehl VBoxManage startvm MyVM --type headlessim Boot-System ausführen, genau wie es ein Dienst (Postgres, Apache) tut.

Was ich versucht habe

1. Ich habe versucht, eineServicemitscBefehl

Ich habe im Internet herausgefunden, dass dies die Lösung sein könnte, also habe ich alle diese Versionen ausprobiert:

  • sc create "vboxMyVMService" binPath= "C:\Progman Files\Oracle\VirtualBox\VBoxManage.exe startvm MyVM --type headless"

  • sc create "vboxMyVMService" binPath= "C:\Progman Files\Oracle\VirtualBox\VBoxManage startvm MyVM --type headless"

Kein Erfolg, also habe ich versucht, die ausführliche Ausgabe des Befehls zu unterdrücken

  • sc create "vboxMyVMService" binPath= "C:\Progman Files\Oracle\VirtualBox\VBoxManage.exe startvm MyVM --type headless > NUL"

  • sc create "vboxMyVMService" binPath= "C:\Progman Files\Oracle\VirtualBox\VBoxManage startvm MyVM --type headless"

Immer noch keine Ergebnisse. Alle diese Version gab mir ein1053Fehler. Der letzte Aufruf bestand also darin, den Virtualbox-Befehl zum Pfad hinzuzufügen


  • sc create "vboxMyVMService" binPath= "VBoxManage.exe startvm MyVM --type headless"

  • sc create "vboxMyVMService" binPath= "VBoxManage startvm MyVM --type headless"

Ausgabe unterdrücken

  • sc create "vboxMyVMService" binPath= "VBoxManage.exe startvm MyVM --type headless > NUL"

  • sc create "vboxMyVMService" binPath= "VBoxManage startvm MyVM --type headless > NUL"

Kein positives Ergebnis immer1053Fehler.

2. Computer-Startskripte zuweisen

Ich folgte diesemLernprogrammmit meiner letzten Hoffnung, doch ohne Erfolg.

Was blieb

Ich denke darüber nach, das Visual Studio herunterzuladen und etwas auszuprobieren, das mitErstellen Sie ein Serviceprojekt.


Also Leute, wo liegt mein Fehler? Gibt es noch Hoffnung für mich?


FAQs

  1. Können Sie Ihr Betriebssystem auf Linux umstellen?

    • Nein, das steht außer Frage.
  2. Warum benötigen Sie diese VM zum Starten mit dem System?

    • Leider ist dieser Windows 7-Host ein kleiner Server für die Anwendung, die über die VM läuft. Die Maschine gehört mir nicht und es ist die einzige Möglichkeit, die sie mir für die Bereitstellung gegeben haben.
  3. Warum stellen Sie die Anwendung nicht innerhalb des Windows-Hosts bereit?

    • Ich verwende weder PHP noch irgendwelche .NET-Sachen, also nein.

Antwort1

Ich laufe mitNSSM.

Erstellen Sie in der Eingabeaufforderung einen NSSM-Dienst wie:

  1. nssm/win64/nssm.exe install vbox

  2. Wählen Sie „Execute VBoxHeadless.exe“ wie im Bild:

    NSSM-Installationsdienst

  3. Verwenden Sie bei der Anmeldung Ihr Windows-Konto (das ist sehr wichtig)

  4. Dienst installieren

Funktioniert bei mir.

Antwort2

Ich konnte keinen Mechanismus finden, um eine VM als Dienst mit dem VBoxManager-Befehl zu starten, ohne dass sich jemand vorher anmelden muss.

Ich habe meine Ubuntu Server-VM mit dem folgenden VBoxVmServiceTool so aktiviert, dass sie als Dienst ausgeführt wird: https://github.com/onlyfang/VBoxVmService

Kurzbeschreibung: VBoxVmService ist eine Windows-Anwendung, mit der Sie die VirtualBox-VMs von Oracle innerhalb einer nativen Windows-Diensteinheit ausführen können.

Der Hauptgrund, warum ich das brauche, ist, dass ich die VM starten möchte, ohne dass sich jemand anmelden muss. Da es sich bei mir um eine Entwickler-Workstation handelt, wird sie für Updates neu gestartet und ich vergesse manchmal, die VM zu starten, bis mich jemand daran erinnert.

So funktioniert das:

  • Stellen Sie zunächst manuell sicher, dass die erforderliche VM gestartet wird und ohne Fehler funktioniert. Andernfalls wird das Durchsuchen der Protokolle zu einer schwierigen Fehlerbehebung.

  • Nach der Installation VMBoxServiceist es als Windows-Dienst ausführbar

  • Bearbeiten Sie die INI-Konfigurationsdatei (sieheHierfür vollständig dokumentierte Probe)

  • Starten Sie den Computer neu oder starten Sie einfach den VMBoxService'sinstallierten Windows-Dienst

  • Es folgt eine Beispiel-INI

    [Settings]
    VBOX_USER_HOME=C:\Users\YOUR_NAME_HERE\.VirtualBox
    PauseShutdown=8000
    [Vm0]
    VmName=ubuntu-server                                              
    ShutdownMethod=savestate                                    
    AutoStart=yes
    

UPDATE: Unterstützt nur Win 10+

verwandte Informationen