Jak skonfigurować Virtualbox VM do automatycznego uruchamiania po ponownym uruchomieniu systemu Windows-10?

37

W 2013 roku wyśledziłem, jak automatycznie uruchamiać / wyłączać maszynę wirtualną Virtualbox, gdy hostem jest Linux. Proces został oficjalnie udokumentowany i wymagał kilku kroków.

W tej chwili jestem zainteresowany, jak skonfigurować Virtualbox VM do automatycznego uruchamiania po ponownym uruchomieniu Windows-10?

Czy istnieje oficjalnie udokumentowany proces? Jeśli nie, jakie są przetestowane przez kogoś rozwiązania?

Moja naiwna próba miała być taka:

  • gotowe: skonfiguruj system Windows do automatycznego logowania po ponownym uruchomieniu

  • DO ZROBIENIA: Utwórz skrypt wsadowy za pomocą: sleep 120 && vboxmanage startvm my_vm_name

  • DO ZROBIENIA: Umieść skrypt wsadowy w katalogu startowym mojego użytkownika. (Nie widziałem żadnego katalogu „startowego” w Windows 10 ...)

Trevor Boyd Smith
źródło
nie byłem pewien korzystania z menu startowego ... ponieważ jest bardzo Windows-9x-ish (może jest starszy). W Linuksie użyłem sysvinit / systemd, ale po prostu nie znam Windowsa (może harmonogram zadań lub coś takiego).
Trevor Boyd Smith
Może się przydać, jeśli dodasz link do The process was officially documentedlinuxa ;-)
Philippe Gachoud
@PhilippeGachoud zgodnie z twoją prośbą, zredagowałem pytanie i dodałem link do dokumentacji
Trevor Boyd Smith
Dzięki! Uważam, że jest to bardziej odpowiednie, ponieważ wydaje się mniej wrażliwe na zmiany konfiguracji zarządzania pakietami, jakie są twoje doświadczenia? medium.com/@bharatman/…
Philippe Gachoud

Odpowiedzi:

35

Katalog startowy wciąż istnieje, choć w dobrze ukrytym miejscu ...

Uzyskaj do niego dostęp, otwierając pole „Uruchom” (Win + R) i wchodząc

shell:startup

Zminimalizuj to na razie.

Otwórz VirtualBox i kliknij prawym przyciskiem myszy maszynę wirtualną, którą chcesz uruchomić automatycznie, kliknij opcję utworzenia skrótu na pulpicie i zamknij VirtualBox.

Wystarczy wyciąć skrót z pulpitu i wkleić go do uprzednio otwartego folderu, a powinien on być w porządku.

Sam3000
źródło
4
shell: uruchomienie odbywa się przy logowaniu, a nie przy rozruchu systemu, prawda? Jak to zrobić przy starcie systemu?
alexei
1
Musisz uruchomić go jako usługę
AKi
1
Niekoniecznie. Zawsze możesz skonfigurować autologon, otworzyć cmd i wpisać hasło użytkownika control2. Znajdziesz drogę przez resztę.
Eduardo,
13

Możesz teraz uruchomić maszynę wirtualną bez użycia głowy, bez uciekania się do VBoxVmService innej firmy. Wystarczy utworzyć skrót <VirtualBoxDirectory\VBoxManage.exe> startvm "vmname" --type headlessi umieścić go w folderze startowym.

Z instrukcji VirtualBox .

Czad
źródło
5
Czy nadal nie ma to wady, że wymaga logowania, a nie tylko uruchamiania przy rozruchu?
HorusKol
Oczywiście. Usługa jest nadal niezbędna, jeśli chcesz uruchomić cokolwiek bez konieczności logowania.
rustyx
2
Użyj do tego Zaplanowanego Zadania zamiast skrótu w folderze startowym.
Bruno Finger
11

Wypróbuj VBoxVmService

Przeczytaj Howto.txt i edytuj VBoxVmService.ini

AKi
źródło
1
Dziękuję bardzo! to wygląda bardzo obiecująco. W systemie Windows brak integracji Virtualbox z uruchomieniem / zamknięciem systemu był zawsze dużym negatywem, gdy chciałeś porównać windows-virtualbox vs. zamknięcie maszyn wirtualnych nie czeka na zamknięcie maszyny wirtualnej przed wydaniem przez system SIGKILL, a następnie zamknięciem systemu).
Trevor Boyd Smith,
1
Próbowałem tego około rok temu. To rozwiązanie wymaga aktualizacji virtualboxa za pomocą kodu opakowania obsługującego system Windows. Musisz więc uważać. Również aktualizacja systemu Windows, jak sądzę, złamała mi tę funkcję. I tak skończyło się na odinstalowaniu tego kodu usługi vbox.
Trevor Boyd Smith
Spojrzałem na ten projekt. Sama liczba błędów ortograficznych powoduje, że martwię się o podobne problemy w kodzie. Wał Mines + kanarek.
user2066657
@ user2066657 cóż, możesz przeczytać moje komentarze i zobaczyć, że próbowałem i działało przez chwilę, a potem się zepsuło. Twoje obawy dotyczące błędów ortograficznych wskazujących na jakość kodu są prawdopodobnie uzasadnione. nadal nie wrócę do tego dzisiaj.
Trevor Boyd Smith
7

Posiadanie usługi jest przyjemne, ale możesz to zrobić za pomocą zaplanowanego zadania. Uruchom system jako wyzwalacz, zaznacz opcję uruchomienia zadania bez zalogowanego użytkownika i ustaw akcję na <VirtualBoxDirectory\VBoxManage.exe> startvm "vmname" --type headless. Usuń zaznaczenie z niezrozumiale domyślnej opcji „zabij zadanie, jeśli trwa ono dłużej niż 3 dni”. Srsly, MS, co myślałeś, że żaden komputer z systemem Windows nigdy nie przetrwałby tak długo bez ponownego uruchomienia?

Istnieje zastrzeżenie: jeśli maszyna wirtualna zostanie uruchomiona podczas rozruchu w ten sposób, zobaczysz ją w VirtualBox Manager jako „wyłączoną”, więc nie ma przycisku, aby pokazać wyświetlanie maszyny wirtualnej. Jest tylko przycisk „start” i prawdopodobnie spieprzysz wszystko, gdy spróbujesz go uruchomić dwukrotnie.

Możesz zdefiniować zdalny port wyświetlania, aby uzyskać dostęp do konsoli VM przez RDC (mstsc.exe), bez VirtualBox Managera, ale wciąż musisz pamiętać, aby nie uwierzyć w informacje o wyłączeniu zasilania. Nie wiem, czy to działa lepiej z prawdziwą usługą.

gonesoft
źródło
1
re „posiadanie usługi jest miłe”. niestety usługa VirtualBox ulega awarii za każdym razem, gdy pojawia się niewielka aktualizacja Virtualbox. więc zakończyłem odinstalowywanie usługi i teraz moja maszyna wirtualna nie uruchamia się już przy starcie.
Trevor Boyd Smith
re „[VM pokazuje się jako] wyłączony [w VirtualBox Manager]” wierzę, że jest to spowodowane sposobem uruchamiania VM. podejrzewam, że uruchamiasz maszynę wirtualną jako użytkownik root. jeśli spróbujesz uruchomić maszynę wirtualną za pomocą „runas” swojego użytkownika ... menedżer VirtualBox może działać.
Trevor Boyd Smith
1
teraz, kiedy o tym myślę ... usługa VirtualBox ... TAKŻE pojawia się również jako „wyłączony”, gdy uruchomisz ją za pośrednictwem usługi.
Trevor Boyd Smith
1
Wygląda to bardzo obiecująco, ale nie mogę go uruchomić ... Stworzyłem to zadanie, używając dwóch poleceń - aby uruchomić moje zbyt „główne” maszyny wirtualne. Widzę to w harmonogramie. Mogę kliknąć na nią „Uruchom” - stan zmienia się z „Gotowy” na „Uruchomiony”, ale maszyny wirtualne nie uruchamiają się. Nie zaczynają się też przy starcie ... Musi być coś jeszcze ...
Michaił T.
TO DZIAŁA , przetestowane na Windows 10 + Virtualbox 6.0.2. Przepis: Klawisz Windows, wpisz SCHED i uruchom harmonogram zadań, Utwórz podstawowe zadanie, Wyzwalacz: Po uruchomieniu komputera, Działanie: Uruchom program, Program (przejdź do VBoxManage.exe), argumenty: startvm "vmname" - typ bezgłowy, zaznacz „Otwórz okno właściwości tego zadania. i zakończ, zaznacz Uruchom bez względu na to, czy użytkownik jest zalogowany , może usuń Warunki / Uruchom tylko, jeśli komputer jest zasilany prądem przemiennym, i Ustawienia / Zatrzymaj zadanie, jeśli działa ono dłużej niż. (choć tak naprawdę nie ma to znaczenia, ponieważ premiera jest szybka)
fgrieu
2

Jak wcześniej stwierdził czad i gonesoft, możesz użyć VboxManage.exe, aby uruchomić maszynę wirtualną podczas uruchamiania, jednak jeśli nie określisz „--typ headless”, faktycznie pojawi się w VirtualBox Manager jako uruchomiony itp. Tak jak jeśli zacząłeś to normalnie, to bezgłowy sprawia, że ​​jest ukryty - nie jest to coś, co prawdopodobnie chciałbyś zrobić we wszystkich przypadkach ...

Publikowanie odpowiedzi, ponieważ nie mam wystarczającej reputacji, aby napisać komentarz do poprzednich odpowiedzi

Swizzy
źródło
2

Wypróbuj VBoxHeadlessTray .
Jest naprawdę łatwy w użyciu, który automatycznie przywraca stan maszyny Wirtualnej podczas uruchamiania systemu Windows i zapisuje stan po zamknięciu lub ponownym uruchomieniu systemu Windows. Najbardziej niesamowite jest to, że możesz użyć VBoxHeadlessTray do skonfigurowania każdej z maszyn wirtualnych.

chengxuncc
źródło
to wygląda niesamowicie. będę musiał to wypróbować, kiedy będę miał czas. dzięki.
Trevor Boyd Smith