Portál AbcLinuxu, 30. dubna 2025 21:17

Spuštění Virtualboxu při startu Widlí

22.1.2017 12:40 | Přečteno: 1660× | varia

Osud mne donutil na jednom stroji strpět nativní Widle (Win7 SP1, 64 bit) a ta i7čka je docela výkonná. Takže virtualbox s Debianem. Toto nebylo moc složité, ale jak to udělat, aby se virtuálka spustila se startem Windowsů ? Čtěte níže !

Protože jsem se na svých strojích Widlousů úspěšně zbavil téměř před 10 lety (nebojte, oslavný článek bude ;-) ), tradičně jsem razil přístup - když jsou to Windowsy, tak na to nešahám. Tady mi ale nic moc jiného nezbylo, takže jsem je jal bádat, jak to udělat. Vydal jsem se na google (resp, startpage, pochopitelně) a zjistil jsem, že jsem to neměl dělat ;-).

Tady mi nejdřív poradili vboxvmservice, s kterým jsem strávil romantický večer při svíčkách, ale a ni to nepomohlo. Alternativa navrhovaná na blogu Oráklu zvaná VirtualboxServerService taky nefunguje. Ráno moudřejší večera a tak jsem to v tomto okamžiku takticky zabalil.

Ráno mi tady mi poradili, jak udělat .bat soubor, který pustí virtuálku (vyzkoušeno, chodí - prostě

cd "c:\Program Files\Oracle\VirtualBox\"
VBoxHeadless.exe -s {vm_name} -v on
- za starých časů bych tam ještě dal na začátek @echo off ;-) a jako druhý krok upatlat VBS skript, který to pustí bez terminálu:
Set WshShell = WScript.CreateObject("WScript.Shell")
obj = WshShell.Run("vm.run.bat", 0)
set WshShell = Nothing
Naivně jsem si myslel, že vbs se dá pustit jako .bat (nebo .sh ;-) ), ale ono houby - wscript.exe vm.run.vbs. Widle příkaz which nemají, ale naštěstí jsou dost nenápadité - takže kdybyste potřebovali plnou cestu, tak wscript bydlí v c:\windows\system32.

V tento okamžik tedy máme příkaz, který zcela "headless" spustí virtuálku. Fajn. Takže ještě aby tohle spustili Widle před přihlášením usera. Po té, co jsem se dle návodů tady a tady mořil s tím, jak pustit bat/VBS jako service (Službu) jsem konečně našel to co jsem hledal: otázku na Stack Overflow. A u ní geniální odpověď Stephena Martina: Why not simply set it up as a Scheduled Task that is scheduled to run at start up?

Takže hupky šupky k Widlím, ctrl-escape, Ovládací panely, najít "plánovat úlohy" a ejhle, úloha virtualboxu tam už je. Takže jako admin pravý myš a přes obligátní "Vlastnosti" upravit usera pod kterým se to spouští (pro jistotu ve skupině administrátorů, s funkční plochou a otestovaným virtualboxem), přepnout "Možnosti zabezpečení" na "Stupstit nezávisle na přihlášení uživatele, do aktivačních událostí přidat "Nová" "Při spuštění systému" a "při přihlášení uživatele" zakázat ("logicky" doubleclick a dole odškrtnou "povoleno" ...) a v záložce "Akce" přidal za VBoxservuce,exe -tray ještě něco jako "C:\windows\System32\wscript.exe c:\run_my_vbox.vbs". V případě virtualboxu ještě doporučuju zrušit defaultní volbu "zastavit úlohu, pokud běží déle než ..." - teoreticky by k tomu nemělo dojít, ale co kdyby ... . No a volbu: Pokud je již úloha spuštěna, bude pouužřito toto pravidlo: nechat na "nespouštěn novou instanci" - ono by se asi nic moc nestalo, ale ... Nu a to je celé. Z hlediska uživatel se nic neděje, pozornější uživatel si možná všimne, že jeho stroj má o jednu IP adresu navíc a ve Virtualboxu nejde jeden stroj spustit ;-) ale jinak je vše OK.

P.S.: kdybyste marně hledali v české verzi Virtualboxu, kde přesměrujete porty t.j. aby se dalo dělat přímé ssh na port 22) tak vězte, že tato volba bydlí v Nastavení->Síť->Pokročilé->Předávání portů ...        

Hodnocení: 80 %

        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

22.1.2017 13:47 Dejv | skóre: 37 | blog: Jak ten blog nazvat ... ? | Ostrava
Rozbalit Rozbalit vše Re: Spuštění Virtualboxu při startu Widlí
Odpovědět | Sbalit | Link | Blokovat | Admin
A proc v "Naplanovanych ulohach" spoustis ten vbscript (a z neho .bat a teprve v nem ten virtual) :-o ? Proc naplanovane nespustis rovnou ten virtual?
Pevně věřím, že zkušenější uživatelé mě s mými nápady usměrní a pošlou tam, kam tyto nápady patří...
22.1.2017 14:25 Georgius | skóre: 24 | blog: jirka
Rozbalit Rozbalit vše Re: Spuštění Virtualboxu při startu Widlí
protože widle spustí ten batch a zůstane pak viset otevřené to okno, což nevím, jestli by nevadilo - ten skript prostě proběhne a skončí. Ale asi by to šlo - takhle je to důsledek postupného ladění. Teďka to chodí, tak se mi to nechce rozvrtat, ale tipuju, že by to co navrhuješ by mohlo chodit napřímo. Ale jak jsem psal, 9 let se widlí dotýkám jen jako BFU a zásadně je neadministruju, tohle byla doufám na dlouhou dobu zase výjimka.
22.1.2017 14:29 Georgius | skóre: 24 | blog: jirka
Rozbalit Rozbalit vše Re: Spuštění Virtualboxu při startu Widlí
no jo, teď jsem si to po sobě ještě jednou přečetl a asi by to nebylo nic proti ničemu to tam nacpat napřímo ... tak jo, vzal jsem to jako Švejk do Budějovice, no ...
Max avatar 22.1.2017 19:16 Max | skóre: 72 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: Spuštění Virtualboxu při startu Widlí
Odpovědět | Sbalit | Link | Blokovat | Admin
Takže jsi vlastně hledal tuto odpověď :
Do naplánovaných úloh přidej "c:\Program Files\Oracle\VirtualBox\VBoxHeadless.exe -s {vm_name} -v on"
:)
Zdar Max
Měl jsem sen ... :(
22.1.2017 19:30 Jamie
Rozbalit Rozbalit vše Re: Spuštění Virtualboxu při startu Widlí
Odpovědět | Sbalit | Link | Blokovat | Admin
Jednou jsem chtěl něco podobného. Vyřešil jsem to novým účtem, u kterého jsem upravil defaultný shell na speciální skript. Ten skrip spustil virtuální mašinu v celé obrazovce, čekal dokud se neukončí a pak automaticky odhlásil uživatele.
24.1.2017 13:56 ET
Rozbalit Rozbalit vše Re: Spuštění Virtualboxu při startu Widlí
Odpovědět | Sbalit | Link | Blokovat | Admin
by teoreticky stacilo pridat do registru, do "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" neco jako "start /B c:\Program Files\...", ale odzkouseny to nemam...

Založit nové vláknoNahoru

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.