- Reply with quote
«path to the autostart database is not set» error
Trying to set up in VirtualBox 4.2.0 (not the betas or the RC versions) the autostart settings per what little information the user guide has on it, and I can’t get it to work. Hopefully it’s just me doing something wrong, but there’s not much to go by in the guide….
I set up the /etc/default/virtualbox file per the guide. Pointed the DB variable to /etc/vbox, set the permissions on that directory to the group vboxusers with full write access for that group and set the sticky bit on. Set the config file variable to /etc/vboxauto.conf. Even rebooted to make sure it all was picked up. Running vboxmanage as user «admin», who is a member of vboxusers, I get the following output:
- Code: Select all Expand viewCollapse view
[admin@lserver ~]$ vboxmanage modifyvm WinServer --autostart-enabled on --autostart-delay 30 --autostop-type acpishutdown
VBoxManage: error: The path to the autostart database is not set
VBoxManage: error: Details: code NS_ERROR_FAILURE (0x80004005), component SessionMachine, interface IMachine, callee nsISupports
VBoxManage: error: Context: "COMSETTER(AutostartEnabled)(ValueUnion.f)" at line 2418 of file VBoxManageModifyVM.cpp
So, anyone have any ideas here? I had to take some guesses on the commandline, based on some of what I saw in the beta forum, since there is NO mention of this option for modifyvm outside of one page where it lists what you get when just typing «vboxmanage» by itself on the command line.
The host is a Fedora 17 box, Virtualbox version 4.2.0 build 80737. Here’s the output of cat on the two files:
- Code: Select all Expand viewCollapse view
[admin@lserver ~]$ cat /etc/default/virtualbox
# virtualbox defaults file
VBOXAUTOSTART_DB=/etc/vbox
VBOXAUTOSTART_CONFIG=/etc/vboxauto.conf[admin@lserver ~]$ cat /etc/vboxauto.conf
# Default policy is to deny starting a VM, the other option is "allow".
default_policy = denyadmin = {
allow = true
}
And the permissions on the folder:
- Code: Select all Expand viewCollapse view
[admin@lserver ~]$ ls -l /etc | grep vbox
drwxrwxr-t 2 root vboxusers 4096 Sep 13 04:14 vbox
- DWolfman
- Posts: 6
- Joined: 11. Nov 2009, 07:36
- Primary OS: Fedora 16
- VBox Version: PUEL
- Guest OSses: Windows Server 2008 R2
- Reply with quote
Re: «path to the autostart database is not set» error
by t.bubeck@reinform.de » 16. Sep 2012, 11:37
Maybe you forgot to follow this from chapter 9.24.1?
Every user who wants to enable autostart for individual machines has to set the path to the autostart database directory with
VBoxManage setproperty autostartdbpath <Autostart directory>
I successfully used the autostart feature on Fedora 17, so you must miss some setting. It basically works.
- t.bubeck@reinform.de
- Posts: 2
- Joined: 30. Apr 2009, 18:03
- Primary OS: Fedora 10
- VBox Version: OSE Fedora
- Guest OSses: Fedora 5-11. Windows XP
- Reply with quote
Re: «path to the autostart database is not set» error
by DWolfman » 17. Sep 2012, 08:16
Hmm, guess I didn’t read the whole section when I tried this. Thanks for pointing that out, as I had not read that last part at all.
I’ll be glad when this is completed and added to the GUI. Would have been harder for me to mess it up, then.
And an FYI, in the documentation for the software where I work, they mark things like that with an «IMPORTANT:» header to get people’s attention. I’d be tempted to say that one needs it.
- DWolfman
- Posts: 6
- Joined: 11. Nov 2009, 07:36
- Primary OS: Fedora 16
- VBox Version: PUEL
- Guest OSses: Windows Server 2008 R2
- Reply with quote
Re: «path to the autostart database is not set» error
by DWolfman » 19. Sep 2012, 13:25
It also looks like this autostart functionality needs more work….
Just noticed it is not always starting the VM on system start. Thought it might have been the 30 second delay I had on it, so changed that to 0. Still it’s not starting up.
If I manually stop and start the autostart service, it does start up, though.
However, stopping the service does not stop the VM. As a test, I had my Windows Server 2008 R2 VM running from starting the autostart service, then told Fedora to shut down. The system went down about as fast as it normally did, when no VMs are running! Booted back up, and started the VM, where Windows complained about not being shut down properly. I had it set to use acpishutdown as the autostop type, but it’s not seeming to observe that. Appears to be dumping the VM process without telling it to shutdown and wait for it.
Looks like I’ll still be using my old vboxcontrol init.d script, which does handle both startup and shutdown properly, every time.
- DWolfman
- Posts: 6
- Joined: 11. Nov 2009, 07:36
- Primary OS: Fedora 16
- VBox Version: PUEL
- Guest OSses: Windows Server 2008 R2
- Reply with quote
Re: «path to the autostart database is not set» error
by nadrimajstor » 27. Sep 2012, 21:27
Stopping autostart service won’t shutdown vms because almost all code lines in stop function are commented out. I wish I could know why.
However, vboxdrv service have function stop_vms() which is called before stopping virtualbox’s kernel modules. This is from vboxdrv service script:
- Code: Select all Expand viewCollapse view
# enter the following variables in /etc/default/virtualbox:
# SHUTDOWN_USERS="foo bar"
# check for running VMs of user foo and user bar
# SHUTDOWN=poweroff
# SHUTDOWN=acpibutton
# SHUTDOWN=savestate
# select one of these shutdown methods for running VMs
- nadrimajstor
- Posts: 1
- Joined: 27. Sep 2012, 21:15
- Reply with quote
Re: «path to the autostart database is not set» error
by Mike S » 26. Feb 2015, 00:29
After struggling with this for ages, I found an article ( lifeofageekadmin dot com how-to-set-your-virtualbox-vm-to-automatically-startup ) which says that the following is needed
VBoxManage setproperty autostartdbpath /etc/vbox
I did this, and it worked. Thanks to the author of that article, and I hope this helps others.
- Mike S
- Posts: 1
- Joined: 26. Feb 2015, 00:24
Return to VirtualBox on Linux Hosts
Who is online
Users browsing this forum: No registered users and 20 guests
AngryUser 0 / 0 / 0 Регистрация: 30.06.2015 Сообщений: 11 |
||||
1 |
||||
11.07.2015, 01:51. Показов 10618. Ответов 13 Метки нет (Все метки)
Уважаемые друзья!
далее Как можно исправить??
__________________
0 |
159 / 159 / 30 Регистрация: 09.11.2012 Сообщений: 1,008 |
|
11.07.2015, 04:27 |
2 |
попробуй скрипт кинуть в /etc/init.d/ , затем sudo update-rc.d <имя скрипта> defaults
1 |
0 / 0 / 0 Регистрация: 30.06.2015 Сообщений: 11 |
|
11.07.2015, 09:08 [ТС] |
3 |
и так тож делал — толка нет …
0 |
12384 / 7223 / 758 Регистрация: 09.09.2009 Сообщений: 28,185 |
|
11.07.2015, 09:33 |
4 |
а) прописать полные пути
1 |
0 / 0 / 0 Регистрация: 30.06.2015 Сообщений: 11 |
|
11.07.2015, 09:41 [ТС] |
5 |
прошу прощения , но не понял что вы имеете ввиду. vim /etc/init.d/autostart
0 |
12384 / 7223 / 758 Регистрация: 09.09.2009 Сообщений: 28,185 |
|
11.07.2015, 10:00 |
6 |
Решение
не понял что вы имеете ввиду. странно, прописать в rc.local полный путь к вашему скрипту — вы поняли. а как прописать в самом скрипте полный путь к VboxManage или к вашей машине test — «не понятно»…. поймите первое — что запуск через rc.local, что через init.d — они происходят от имени рута. и как минимум — машину test при этом будут искать в папке виртуальных машин рута, а не юзера amd
0 |
Max Dark шКодер самоучка 2173 / 1880 / 912 Регистрация: 09.10.2013 Сообщений: 4,135 Записей в блоге: 7 |
||||||||
11.07.2015, 10:06 |
7 |
|||||||
Решение учитывая что при старте системы VboxManage запускается от рута, а виртуалка создавалась пользователем, то оно ничего не знает о вашей ВМ тк пытается читать конфиги не из вашей домашней дирректории а из /root/
9.23.1. Linux: starting the autostart service via init On Linux, the autostart service is activated by setting two variables in /etc/default/virtualbox.
Every user who wants to enable autostart for individual machines has to set the path to the autostart database directory with
0 |
0 / 0 / 0 Регистрация: 30.06.2015 Сообщений: 11 |
|
11.07.2015, 10:18 [ТС] |
8 |
Все! заработало!
0 |
VeseliyMargarin 8 / 10 / 5 Регистрация: 06.06.2013 Сообщений: 97 |
||||
15.08.2016, 22:42 |
9 |
|||
РешениеМожет кому пригодится мой вариант. Добавляем в /etc/rc.local строку
будет запускаться виртуалка с именем XP от пользователя vitaliy. С задержкой 60сек перед стартом, чтоб запустились системные демоны.
0 |
12384 / 7223 / 758 Регистрация: 09.09.2009 Сообщений: 28,185 |
|
01.03.2018, 19:27 |
11 |
в /usr/rc.local добавил команды осталось угадать,от имени какого юзера выполняются команды, записанные в rc.local Не по теме: а потом уже можно и бложек свой пыарить
0 |
4 / 4 / 0 Регистрация: 28.02.2010 Сообщений: 15 |
|
02.03.2018, 00:28 |
12 |
осталось угадать,от имени какого юзера выполняются команды, записанные в rc.local по поводу пиара: такого решения этой проблемы нигде не встретил, все городят что-то не логичное… нашел самое простое решение. Не понятен вопрос по поводу sudo… что вы имеете ввиду? Если что-то не так — напишите, ткните носом, есть какие-то замечания? Добавьте конструктива!
0 |
12384 / 7223 / 758 Регистрация: 09.09.2009 Сообщений: 28,185 |
|
02.03.2018, 00:48 |
13 |
чем плохо sudo Sudo (su «do») allows a system administrator to delegate authority to give certain users (or groups of users) the ability to run some (or all) commands as root or another user… https://www.sudo.ws The Unix command su, sometimes described as substitute user, super user, or switch user, is used by a computer user to execute commands with the privileges of another user account. https://en.wikipedia.org/wiki/Su_(Unix)
sudo su …да еще и запускаемое от имени рута = «масло масляное» Добавьте конструктива!
не надо рассказывать мне,
0 |
4 / 4 / 0 Регистрация: 28.02.2010 Сообщений: 15 |
|
02.03.2018, 09:52 |
14 |
Dmitry, блин, вы на приколе? Зачем тыкать в маны?
0 |
IT_Exp Эксперт 87844 / 49110 / 22898 Регистрация: 17.06.2006 Сообщений: 92,604 |
02.03.2018, 09:52 |
14 |
- Forum
- The Ubuntu Forum Community
- Ubuntu Specialised Support
- Virtualisation
- vboxautostart-service doesn’t exist
-
vboxautostart-service doesn’t exist
Hi All,
I was hoping to get my VirtualBox virtual machines to auto start when the host boots. but «service vboxautostart-service restart» doesn’t work. I was wondering if anyone has come across this before or has an idea how to fix it.
I have followed all the steps which have been commonly posted in a few places, which in summary are:
Edit the file /etc/default/virtualbox to include the following two lines:
VBOXAUTOSTART_DB=/etc/vbox
VBOXAUTOSTART_CONFIG=/etc/vbox/autostart.cfgCreate /etc/vbox/autostart.cfg file and add:
# Default policy is to deny starting a VM, the other option is «allow».
default_policy = deny
# Create an entry for each user allowed to run autostart
marno11 = {
allow = true
}Set permissions on directory to the vboxuser group and make sure users can write to the directory as well as sticky bit.
# chgrp vboxusers /etc/vbox
# chmod 1775 /etc/vboxAdd the user to the vboxusers group.
# usermod -a -G vboxusers marno11
Set the path to the autostart database directory with
$ VBoxManage setproperty autostartdbpath /etc/vbox
choose the VM�s to start.
$ VBoxManage modifyvm Test_VM —autostart-enabled on
This created a file /etc/vbox/marno11.start
Now restart the vboxautostart-service to read in the changes.
# service vboxautostart-service restartThat last bit didn’t work:
Code:
$ Service vboxautostart-service restart vboxautostart-service: unrecognized service
I guess becasue vboxautostart-service doesn’t exist
Code:
ls /etc/init.d/v* /etc/init.d/virtualbox
————————————
Just a copy of the files incase people are interested:
File: /etc/default/virtualbox
Code:
# Defaults for virtualbox initscript # sourced by /etc/init.d/virtualbox # installed at /etc/default/virtualbox by the maintainer scripts # # This is a POSIX shell fragment # # Set this to 1 if you would like the virtualbox modules to be loaded by # the init script. LOAD_VBOXDRV_MODULE=1 # SHUTDOWN_USERS="foo bar" # check for running VMs of user 'foo' and user 'bar' # 'all' checks for all active users # SHUTDOWN=poweroff # SHUTDOWN=acpibutton # SHUTDOWN=savestate # select one of these shutdown methods for running VMs # acpibutton and savestate causes the init script to wait # 30 seconds for the VMs to shutdown SHUTDOWN_USERS="all" SHUTDOWN=acpibutton # The autostart service is activated by setting two variables. The first one # is VBOXAUTOSTART_DB which contains an absolute path to the autostart # database directory. The second variable is VBOXAUTOSTART_CONFIG which # points the service to the autostart configuration file which is used # during boot to determine whether to allow individual users to start a VM # automatically and configure startup delays. VBOXAUTOSTART_DB=/etc/vbox VBOXAUTOSTART_CONFIG=/etc/vbox/autostart.cfg
Having the virtual machines shut down just before the host shuts down works well
File: /etc/vbox/autostart.cfg
Code:
# Default policy is to deny starting a VM, the other option is "allow". default_policy = deny # marno11 is allowed to start virtual machines marno11 = { allow = true }
File: /etc/vbox/marno11.start
Code:
$ virtualbox --help Oracle VM VirtualBox Manager 4.2.10_Ubuntu
-
Re: vboxautostart-service doesn’t exist
Here’s the contents of vboxautostart-service:
Code:
#!/bin/sh # # VirtualBox autostart service init script. # # Copyright (C) 2012 Oracle Corporation # # This file is part of VirtualBox Open Source Edition (OSE), as # available from http://www.virtualbox.org. This file is free software; # you can redistribute it and/or modify it under the terms of the GNU # General Public License (GPL) as published by the Free Software # Foundation, in version 2 as it comes in the "COPYING" file of the # VirtualBox OSE distribution. VirtualBox OSE is distributed in the # hope that it will be useful, but WITHOUT ANY WARRANTY of any kind. # # chkconfig: 35 35 65 # description: VirtualBox autostart service # ### BEGIN INIT INFO # Provides: vboxautostart-service # Required-Start: vboxdrv # Required-Stop: vboxdrv # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Description: VirtualBox autostart service ### END INIT INFO PATH=$PATH:/bin:/sbin:/usr/sbin DEBIAN=yes NOLSB= [ -f /lib/lsb/init-functions ] || NOLSB=yes [ -f /etc/vbox/vbox.cfg ] && . /etc/vbox/vbox.cfg if [ -n "$INSTALL_DIR" ]; then binary="$INSTALL_DIR/VBoxAutostart" else binary="/usr/lib/virtualbox/VBoxAutostart" fi # silently exit if the package was uninstalled but not purged, # applies to Debian packages only [ -z "$DEBIAN" -o -x $binary ] || exit 0 [ -r /etc/default/virtualbox ] && . /etc/default/virtualbox system=unknown if [ -f /etc/redhat-release ]; then system=redhat elif [ -f /etc/SuSE-release ]; then system=suse elif [ -f /etc/debian_version ]; then system=debian elif [ -f /etc/gentoo-release ]; then system=gentoo elif [ -f /etc/arch-release ]; then system=arch elif [ -f /etc/slackware-version ]; then system=slackware elif [ -f /etc/lfs-release ]; then system=lfs else system=other fi if [ -z "$NOLSB" ]; then . /lib/lsb/init-functions fail_msg() { echo "" log_failure_msg "$1" } succ_msg() { log_success_msg " done." } begin_msg() { log_daemon_msg "$@" } fi if [ "$system" = "redhat" ]; then . /etc/init.d/functions if [ -n "$NOLSB" ]; then start_daemon() { usr="$1" shift daemon --user $usr $@ } fail_msg() { echo_failure echo } succ_msg() { echo_success echo } begin_msg() { echo -n "$1" } fi fi if [ "$system" = "suse" ]; then . /etc/rc.status start_daemon() { usr="$1" shift su - $usr -c "$*" } if [ -n "$NOLSB" ]; then fail_msg() { rc_failed 1 rc_status -v } succ_msg() { rc_reset rc_status -v } begin_msg() { echo -n "$1" } fi fi if [ "$system" = "debian" ]; then start_daemon() { usr="$1" shift bin="$1" shift start-stop-daemon --background --chuid $usr --start --exec $bin -- $@ } killproc() { start-stop-daemon --stop --exec $@ } if [ -n "$NOLSB" ]; then fail_msg() { echo " ...fail!" } succ_msg() { echo " ...done." } begin_msg() { echo -n "$1" } fi fi if [ "$system" = "gentoo" ]; then if [ -f /sbin/functions.sh ]; then . /sbin/functions.sh elif [ -f /etc/init.d/functions.sh ]; then . /etc/init.d/functions.sh fi start_daemon() { usr="$1" shift bin="$1" shift start-stop-daemon --background --chuid $usr --start --exec $bin -- $@ } killproc() { start-stop-daemon --stop --exec $@ } if [ -n "$NOLSB" ]; then fail_msg() { echo " ...fail!" } succ_msg() { echo " ...done." } begin_msg() { echo -n "$1" } if [ "`which $0`" = "/sbin/rc" ]; then shift fi fi fi if [ "$system" = "arch" ]; then USECOLOR=yes . /etc/rc.d/functions start_daemon() { usr="$1" shift su - $usr -c "$*" test $? -eq 0 && add_daemon rc.`basename $2` } killproc() { killall $@ rm_daemon `basename $@` } if [ -n "$NOLSB" ]; then fail_msg() { stat_fail } succ_msg() { stat_done } begin_msg() { stat_busy "$1" } fi fi if [ "$system" = "slackware" ]; then killproc() { killall $1 rm -f $PIDFILE } if [ -n "$NOLSB" ]; then fail_msg() { echo " ...fail!" } succ_msg() { echo " ...done." } begin_msg() { echo -n "$1" } fi start_daemon() { usr="$1" shift su - $usr -c "$*" } fi if [ "$system" = "lfs" ]; then . /etc/rc.d/init.d/functions if [ -n "$NOLSB" ]; then fail_msg() { echo_failure } succ_msg() { echo_ok } begin_msg() { echo $1 } fi start_daemon() { usr="$1" shift su - $usr -c "$*" } status() { statusproc $1 } fi if [ "$system" = "other" ]; then if [ -n "$NOLSB" ]; then fail_msg() { echo " ...fail!" } succ_msg() { echo " ...done." } begin_msg() { echo -n "$1" } fi fi vboxdrvrunning() { lsmod | grep -q "vboxdrv[^_-]" } start() { [ -z "$VBOXAUTOSTART_DB" ] && exit 0 [ -z "$VBOXAUTOSTART_CONFIG" ] && exit 0 begin_msg "Starting VirtualBox VMs configured for autostart"; vboxdrvrunning || { fail_msg "VirtualBox kernel module not loaded!" exit 0 } PARAMS="--background --start --config $VBOXAUTOSTART_CONFIG" # prevent inheriting this setting to VBoxSVC unset VBOX_RELEASE_LOG_DEST for user in `ls $VBOXAUTOSTART_DB/*.start` do start_daemon `basename $user | sed -ne "s/(.*).start/1/p"` $binary $PARAMS > /dev/null 2>&1 done return $RETVAL } stop() { [ -z "$VBOXAUTOSTART_DB" ] && exit 0 [ -z "$VBOXAUTOSTART_CONFIG" ] && exit 0 exit 0 #begin_msg "Stopping VirtualBox VMs configured for autostop"; #vboxdrvrunning || { # fail_msg "VirtualBox kernel module not loaded!" # exit 0 #} #PARAMS="--stop" #[ -n "$VBOXAUTOSTART_CONFIG" ] && PARAMS="$PARAMS -c $VBOXAUTOSTART_CONFIG" # prevent inheriting this setting to VBoxSVC #unset VBOX_RELEASE_LOG_DEST #for user in `ls $VBOXAUTOSTART_DB/*.stop` #do # start_daemon `basename $user | sed -ne "s/(.*).stop/1/p"` $binary $PARAMS > /dev/null 2>&1 #done #return $RETVAL } case "$1" in start) start ;; stop) stop ;; *) echo "Usage: $0 {start|stop}" exit 1 esac exit $RETVAL
-
Re: vboxautostart-service doesn’t exist
Thanks newbie-user,
After messing around for a while trying to work out why vboxautostart-service wasn’t there in the first place, and seaching about for general information on vboxautostart-service — I couldn’t find anything.
What do you think I would be doing wrong?
Do you install from what is in Ubuntu repo or add the oracle maintained repository and install as suggested here:
https://help.ubuntu.com/community/Vi…x/InstallationUnlike the various guides the script you provided does not support being restarted (only stoped and started), idk if this is a problem.
Also I have been having a bit of a problem getting the scrip to run on startup, I have added it to /etc/init.d/ and used «update-rc.d vboxautostart-service defaults» from here I am able to manually start and stop, but it doesn’t start on boot. Are there some logs I can look at which may show if it has failed for some reason. Or did I not set it up correctly?
-
Re: vboxautostart-service doesn’t exist
Sorry for the delay. I didn’t catch your primary question the first time around, that you want the vms to autostart after boot. Here’s another script:
Code:
#!/bin/bash # #This init script autostarts necessary vms at boot #and saves running vms on shutdown # Sed explanation: sed -e 's/^.//' -e 's/.$//' # 1. -e means to allow multiple arguments in a single sed command # 2. 's/^.//' means to substitute (s) / at the beginning of the line (^), any character (.) / [substitute with nothing] / # 3. 's/.$//' means to substitute (s) / any character (.), at the end of the line / [substitute with nothing] / VBOXUSER=vbox RUNNINGVMS=$(sudo -H -u $VBOXUSER vboxmanage list runningvms | cut -d " " -f1 | sed -e 's/^.//' -e 's/.$//') STOPPEDVMS=$(sudo -H -u $VBOXUSER vboxmanage list vms | cut -d " " -f1 | sed -e 's/^.//' -e 's/.$//') case "$1" in start) for i in $STOPPEDVMS do echo "Starting" $i "VM" sudo -H -u $VBOXUSER vboxmanage startvm $i --type headless sleep 5 done ;; stop) for i in $RUNNINGVMS do echo "Saving state of" $i "VM" sudo -H -u $VBOXUSER vboxmanage controlvm $i savestate done ;; *) echo "Usage: /etc/init.d/startvm {start|stop}" exit 1 ;; esac exit 0
This one autostarts and autostops the vms. You will also have to tell it when to run during boot and shutdown:
Code:
update-rc.d [name of the script] defaults 99 01
Tags for this Thread
Bookmarks
Bookmarks

Posting Permissions
Модератор: Модераторы разделов
-
Institut
- Сообщения: 281
- ОС: mint
Virtualbox-запуск определенной машины при старте системы
Доброго всем вечера.
Есть убунта 14.04 с XFCE uname -r 3.13.0-58-generic
Есть Virtualvox c установленными в нем несколькими системами, например виндовс 7 и называется эта машина 7-32.
Необходимо сделать так, что-бы эта машина 7-32, грузилась при старте Linux.
1. Пробовал сделать скрипт w32 , сделал его исполняемым, добавил в автозагрузку и положил в /etc/init.d/w32
Скрипт простой #!/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
su -l -c «VBoxManage startvm 7-32» ag-user
те запускаем от определенного пользователя — ag-user.
Не работает, совсем.
2. Создал ярлык на рабочем столе через Virtualbox.
Этот ярлык поместил в /etc/xdg/autostart, ярлык так и называется 7-32.desktop.
Вот тогда виртуальная машина запускается когда пользователь залогинился в систему.
Вопрос — как сделать, что-бы виртульная машина 7-32 запукскалась при при старте Linux, а не после того, когда пользователь вошел в систему.
-
Institut
- Сообщения: 281
- ОС: mint
Re: Virtualbox-запуск определенной машины при старте системы
Сообщение
Institut » 07.09.2015 13:20
Читал это вчера вечером, но ничего полезного там найти не смог.
Это хорошо, взять и послать на 4 буквы. Сразу чувствуется рука мастера.
У меня нету катологов /etc/default/virtualbox, а каталог /etc/vbox/
полностью пустой.
Что именно писать в VBOXAUTOSTART_DB в /etc/default/virtualbox
Что писать в VBOXAUTOSTART_CONFIG в /etc/default/virtualbox
Что писать в /etc/vbox — испрлняемый файл скрипта или просто текст?
ЗЫ Всё что у меня получилось — это через /etc/xdg/autostart,
хотя это наверно не по феншую.
-
Bizdelnick
- Модератор
- Сообщения: 19826
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Virtualbox-запуск определенной машины при старте системы
Сообщение
Bizdelnick » 07.09.2015 13:39
Institut писал(а): ↑
07.09.2015 13:20
У меня нету катологов /etc/default/virtualbox
Значит читайте документацию дистрибутива, которая в /usr/share/doc/*, если там ответа не найдёте — смотрите инитскрипт, откуда он берёт настройки.
Institut писал(а): ↑
07.09.2015 13:20
Что именно писать в VBOXAUTOSTART_DB в /etc/default/virtualbox
Что писать в VBOXAUTOSTART_CONFIG в /etc/default/virtualbox
The first one is VBOXAUTOSTART_DB which contains an absolute path to the autostart database directory. The directory should have write access for every user who should be able to start virtual machines automatically. Furthermore the directory should have the sticky bit set. The second variable is VBOXAUTOSTART_CONFIG which points the service to the autostart configuration file which is used during boot to determine whether to allow individual users to start a VM automatically and configure startup delays.
Писать пути к этим самым каталогу и файлу, которые надо предварительно создать. Если, конечно, это заранее не сделано сопровождающими дистрибутива.
P. S. Лично я пользуюсь libvirt, там этот вопрос решается гораздо проще.
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще |
в течение (часа) новичок нюанс по умолчанию |
приемлемо проблема пробовать трафик |
-
Hephaestus
- Сообщения: 3729
- Статус: Многоуважаемый джинн…
- ОС: Slackware64-14.1/14.2
- Контактная информация:
Re: Virtualbox-запуск определенной машины при старте системы
Сообщение
Hephaestus » 07.09.2015 13:44
Institut писал(а): ↑
07.09.2015 13:20
Что именно писать в VBOXAUTOSTART_DB в /etc/default/virtualbox
The first one is VBOXAUTOSTART_DB which contains an absolute path to the autostart database directory.
Или, говоря по-русски, абсолютный путь к каталогу с БД. Насколько я понимаю, это тот каталог, где хранится список виртуальных машин.
Пускай скрипят мои конечности.
Я — повелитель бесконечности…
Мой блог
-
Yrii
- Сообщения: 68
Re: Virtualbox-запуск определенной машины при старте системы
Сообщение
Yrii » 01.10.2015 09:58
Распишу на всякий случай. Не у всех хорошо с английским, а роботы-переводчики иногда довольно забавно переводят.
Делал всё на Debian Jessie
Создаём файл /etc/default/virtualbox с таким содержимым:
Код: Выделить всё
VBOXAUTOSTART_DB=/etc/vbox
VBOXAUTOSTART_CONFIG=/etc/vbox/vboxautostart.cfg
Создаём файл /etc/vbox/vboxautostart.cfg с содержимым:
Код: Выделить всё
default_policy = deny
username = {
allow = true
startup_delay = 5
}
Меняем права:
Код: Выделить всё
# chgrp vboxusers /etc/vbox
# chmod 1775 /etc/vbox
Устанавливаем путь к базе для пользователя.
$ VBoxManage setproperty autostartdbpath /etc/vbox
Устанавливаем нашей виртуальной машине свойство автозапуска и остановки:
$ VBoxManage modifyvm «имя_виртуальной_машины» —autostart-enabled on
$ VBoxManage modifyvm «имя_виртуальной_машины» —autostop-type acpishutdown
Проверяем запуск:
# /etc/init.d/vboxautostart-service start
Остановить:
# /etc/init.d/vboxautostart-service stop
Всё.
Содержание
- Как автоматически запускать машины Virtual Box при загрузке?
- 13 ответов
- 6.1.3 Автостарт виртуальной машины в VirtualBox при запуске системы
- Настройка сервиса автозапуска виртуальной машины
- Определение владельца директории базы данных автозапуска
- Как автоматически запускать машины Virtualbox при загрузке?
- 13 ответов
- Сначала активируйте rc-local.service
- Добавьте следующую строку в /etc/rc.local
- Автозапуск виртуальной машины VirtualBox
- Автозапуск виртуальной машины в VirtualBox
- Выводы
- Оцените статью:
- Об авторе
- 9 комментариев
- Автозапуск виртуальной машины virtualbox linux
- 2.22.В Starting Virtual Machines During System Boot
- 2.22.1.В Linux: Starting the Autostart Service With init
- 2.22.2.В Oracle Solaris: Starting the Autostart Service With SMF
- 2.22.3.В Mac OS X: Starting the Autostart Service With launchd
- 2.22.4.В Windows: Starting the Autostart Service With a Windows service
Как автоматически запускать машины Virtual Box при загрузке?
У меня в Ubuntu12.04 много виртуальных машин, каждый раз, когда я выключаюсь или перезагружаюсь, я должен запускать их одну за другой.
Я хочу помочь в написании скрипта для автоматического запуска машин VBox при загрузке.
13 ответов
Вы можете использовать сервис автоматического запуска VirtualBox. Хороший учебник, описывающий, как это сделать, размещен в блоге «Life of a Geek Admin».
Следующие шаги адаптированы из связанного сообщения в блоге:
Сначала вам нужно создать файл /etc/default/virtualbox и добавить несколько переменных.
VBOXAUTOSTART_DB, который содержит абсолютный путь к каталогу базы данных автозапуска и
VBOXAUTOSTART_CONFIG, который содержит расположение настроек конфигурации автозапуска. Файл должен выглядеть примерно так:
Теперь нам нужно создать /etc/vbox/vbox.cfg файл и добавить
Если вы единственный пользователь, вы можете просто добавить строку default_policy = allow к vbox.cfg файл.
Установите права доступа к каталогу для группы vboxuser и убедитесь, что пользователи могут писать в каталог, а также прикреплять биты.
Добавьте каждого пользователя в vboxusers группа.
(заменить USERNAME с именем пользователя)
ПРИМЕЧАНИЕ. Если вы изменили разрешения группы для текущего пользователя, выйдите из системы и снова войдите в нее, чтобы обновить разрешения. (кредит @ кР105)
Каждый пользователь, который хочет включить автозапуск для отдельных машин, должен указать путь к каталогу базы данных автозапуска с помощью
и включить автозапуск для отдельной виртуальной машины с
Это создаст myuserid.start файл в /etc/vbox каталог
Теперь перезапустите vboxautostart-service, чтобы прочитать изменения.
Перезагрузите систему и ваша виртуальная машина должна запуститься
У меня были похожие несчастные случаи, когда я пытался выполнить эту операцию на ванильном LTS.
В этой версии файл ключа /etc/init.d/vboxautostart-service не был установлен.
Насколько я знаю, все VitualBox и требования были введены с помощью apt-get, поэтому я не могу сказать, почему файл ‘vboxautostart-service’ также не был предоставлен. Но чтобы преодолеть это, вот мое обновление к посту kdmurray.
1) файл / etc / default / virtualbox для меня существовал. Итак, должны добавить переменные:
2) Необходимо создать /etc/vbox/autostart.cfg, как указано в OP.
6б) Нужно получить скрипт vboxautostart-service и сделать его исполняемым.
6c) Оповещение контроллера rc.d, но я использовал 24 в качестве времени запуска. Ставлю только 20 и он не запускается. Возможно, он работал еще до того, как Virtualbox работал.
Затем перезагрузка запустила виртуальную машину правильно.
После многих несчастных часов, пытаясь заставить работать процедуры из kdmurray выше, я безуспешно нашел способ, который работал просто.
Сначала мой хост Linux (Mint 17) был настроен во время загрузки для автоматического входа в мою основную учетную запись.
Во-вторых, я использовал средства VirtualBox GUI (v4.3.12), чтобы создать ярлык для каждой виртуальной машины на рабочем столе.
И, конечно же, при перезапуске хост-компьютера 3 виртуальные машины запускались автоматически.
PS: увы, у меня все еще чего-то не хватает, потому что часто виртуальные машины не запускаются при загрузке, вместо этого они генерируют диалоговое окно с сообщением об ошибке, в котором говорится, что они заблокированы, даже если я сказал им отключиться до перезагрузки хоста.
Источник
6.1.3 Автостарт виртуальной машины в VirtualBox при запуске системы
Настройка сервиса автозапуска виртуальной машины
Запустите терминал и выполните команду:
VBOXAUTOSTART_DB — определяет абсолютный путь к каталогу базы данных автозапуска, обычно это / etc / vbox.
VBOXAUTOSTART_CONFIG — определяет путь к конфигурации автозапуска виртуальной машины.
Настройка конфигурации автостарта, создайте файл
Содержимое файла (смените user — на вашего пользователя):
• default_policy — определяет, разрешать или запрещать автоматический запуск виртуальной машины по умолчанию. В примере выше мы отказали кому-либо в автоматическом запуске виртуальной машины и явно разрешили одному пользователю user.
• username (user) — с помощью политики запрета по умолчанию вы можете определить конкретных пользователей, которым разрешено автоматически запускать виртуальную машину (allow = trues). Вы также можете определить, как долго задерживать запуск виртуальной машины. 10 секунд используется в этой демонстрации.
Определение владельца директории базы данных автозапуска
Для определения владельца директории базы данных автозапуска выполните следующие команды:
Назначьте группе разрешения на запись в каталоге базы данных автозапуска:
Как user, вы можете включить автозапуск для отдельных машин. Для этого необходимо сначала определить путь к каталогу базы данных.
Добавление виртуальной машины в автозапуск
где redos — это UUID или имя вашей виртуальной машины.
Далее нужно создать скрипт для автозапуска машины:
Сделайте созданный файл исполняемым::
Проверьте, что файл выполняется успешно:
Пример вывода результата команды:
Виртуальная машина должна будет запуститься в virtualbox.
Далее создайте сервис, который будет использоваться для автоматического запуска виртуальной машины (смените user — на вашего пользователя):
Предоставьте необходимые права следующей командой:
Добавьте сервис в автозагрузку и запустите его:
При успешном старте сервиса проверьте virtualbox на наличие работающей машины.
При перезагрузке системы машина запустится до ввода пароля пользователя.
Для отключения автозапуска виртуальной машины выполните команды:
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.
Источник
Как автоматически запускать машины Virtualbox при загрузке?
Это смесь. Каждый пакет может быть лицензирован на разных условиях.
Как правило, право изменять его и распространять каждый пакет в основном и юниверсе, некоторые пакеты могут иметь ограничения на это, например, имя и логотип firefox являются товарными знаками, поэтому нельзя использовать без разрешения Mozilla.
Вы можете посмотреть отдельные лицензии на пакеты в / usr / share / doc / * / copyright
13 ответов
Следующие шаги адаптированы из связанного сообщения в блоге:
Сначала вам нужно создать файл /etc/default/virtualbox и добавить несколько переменных.
Теперь нам нужно создать файл /etc/vbox/vbox.cfg и добавить
Установите права доступа к каталогу для группы vboxuser и убедитесь, что пользователи могут писать в каталог, а также придерживаться бита.
(замените USERNAME именем пользователя)
ПРИМЕЧАНИЕ : Если вы изменили права доступа группы для текущего Пользователь, выйдите и снова войдите, чтобы обновить разрешения. (credit @ kR105)
Каждый пользователь, который хочет включить автозапуск для отдельных машин, должен указать путь к каталогу базы данных автозапуска с помощью
и включить автозапуск для отдельной виртуальной машины с
Это создаст файл myuserid.start в каталоге /etc/vbox
Перезагрузите систему, и ваша виртуальная машина должна запуститься
Для сервера Ubuntu 16.04.1 LTS я решил это, выполнив:
Сначала активируйте rc-local.service
Добавьте следующую строку в /etc/rc.local
Измененный /etc/rc.local должен выглядеть следующим образом
Если вы не выберете правильного владельца virtualbox, вы должны увидеть ошибку, набрав команду:
Я надеюсь, что это может помочь
Так я запускаю свой Centos (имя моей виртуальной машины), когда моя хост-машина перезагружается. Я использую crontab для этой работы. Вот моя запись в crontab:
Вы также можете получить описанный здесь менеджер сессий gnome. Gnome Session Manager Он находится в центре программного обеспечения или вы можете просто зайти в терминал и набрать sudo apt-get install gnome-session-common
Это можно сделать с помощью интерфейса управления VirtualBox. Просто запустите следующий скрипт при запуске.
Там есть хороший учебник для получения дополнительной информации.
Аддон к @kdmurray ответу.
Если вы получаете сообщение об ошибке:
И измените владельца с помощью:
, затем перезапустите службу:
проверьте, все ли в порядке с:
Я нашел более простой способ в Ubuntu 16.04 с VBox 5.1.34.
Находясь в VBox, щелкните правой кнопкой мыши на работающей или неактивной виртуальной машине в списке и выберите «Создать ярлык на рабочем столе». Как только вы увидите значок на рабочем столе, откройте его любым инструментом, который позволит вам увидеть базовый Команда VBox создана (в моей системе я щелкаю правой кнопкой мыши и выбираю «свойства»). Скопируйте это в буфер обмена.
Откройте программу, чтобы обновить «автозагрузку приложений» и создайте новое приложение, которое запускается во время загрузки, вставляя в команде, которую вы скопировали из ссылки на рабочем столе, созданной VirtualBox.
В дополнение к хорошему описанию службы vboxautostart выше, вы можете сделать
для автоматической остановки гостя при завершении работы. Для Ubuntu 14.04 мне пришлось добавить sleep 30 в раздел остановки vboxautostart-service, чтобы он ожидал, пока guest не будет полностью сохранен.
После многих несчастных часов, пытаясь заставить работать процедуры из из kdmurray выше, я безуспешно нашел метод, который работал просто.
Сначала мой Linux-хост (Mint 17) был настроен во время загрузки для автоматического входа в мою основную учетную запись.
Во-вторых, я использовал средства VirtualBox GUI (v4.3.12), чтобы создать ярлык для каждой виртуальной машины на рабочем столе.
И, конечно же, при перезапуске главного компьютера эти 3 виртуальные машины запускались автоматически.
PS: увы, у меня все еще чего-то не хватает, потому что часто виртуальные машины не запускаются при загрузке, вместо этого они генерируют диалог ошибки окно, в котором написано, что они заблокированы, даже если я сказал им отключиться до перезагрузки хоста.
Источник
Автозапуск виртуальной машины VirtualBox
Если вы запускаете виртуальные машины VirtualBox на сервере, то скорее всего, захотите, чтобы они оставались запущенными даже после неожиданной перезагрузки сервера.
В этой небольшой статье мы рассмотрим как настроить автозапуск виртуальной машины VirtualBox с помощью системы инициализации systemd, которая сейчас используется повсеместно.
Автозапуск виртуальной машины в VirtualBox
Давайте создадим файл юнита, который будет управлять автозагрузкой. Для этого выполните такую команду:
В открывшемся редакторе вставьте такой текст:
С помощью этого юнита мы и будем делать автозапуск virtualbox linux. В этом примере я запускаю виртуальную машину от имени пользователя root, но вам нужно запускать её от того пользователя, к которому добавлены виртуальные машины и от имени которого VirtualBox обычно работает.
Сохраните изменения в файле и выполните следующую команду, чтобы система инициализации перечитала конфигурационные файлы с диска:
В нашем юнит файле мы предусмотрели возможность использования параметра, в котором передается имя или UUID идентификатор виртуальной машины. Если в имени машины есть пробел, то лучше использовать UUID, а иначе можно и имя.
Смотрим список виртуальных машин:
VBoxManage list vms
Теперь давайте запустим машину Ubutnu1804 с UUID ed0ce7dd-0ddb-46bf-913c-876671c4d1f1 с помощью systemd:
sudo systemctl start vbox@ed0ce7dd-0ddb-46bf-913c-876671c4d1f1
Если во время запуска произошла ошибка, вы можете посмотреть её выполнив:
В данном случае машина уже была запущена. Я остановил её и запустил ещё раз с уже помощью systemd. Смотрим статус виртуальной машины:
sudo systemctl status vbox@ed0ce7dd-0ddb-46bf-913c-876671c4d1f1
Если всё хорошо, то всё, что нам осталось, это добавить этот сервис в автозагрузку:
sudo systemctl enable vbox@ed0ce7dd-0ddb-46bf-913c-876671c4d1f1
Выводы
В этой статье мы разобрались как делается автозагрузка виртуальной машины virtualbox. Как видите, всё очень просто и удобно. Теперь ваши виртуальные машины будут всегда запущены.
Нет похожих записей
Оцените статью:
Об авторе
Основатель и администратор сайта losst.ru, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую Ubuntu. Кроме Linux, интересуюсь всем, что связано с информационными технологиями и современной наукой.
9 комментариев
добрый день сделал все как у вас, но при перезагрузки не запускается что может быть не подскажите?
Почему, после того, как я перенес систему с HDD на SSD виртуальная машина перестала автоматически запускаться?
Скорее всего сменился UUID
класс
работает
СПС
Спасибо за статью, очень пригодилось. Ещё нашёл в интернетах, что в ExecStop можно вместо acpipowerbutton указать savestate
В таком случае вместо выключения виртуальной машины, будет выполнено сохранение текущего состояния.
Все уже придумано ораклом, перевод выдержки из официального мануала:
9.21. Запуск виртуальных машин во время загрузки системы
Вы можете запускать виртуальные машины автоматически во время загрузки системы на платформах Linux, Oracle Solaris и Mac OS X для всех пользователей.
9.21.1. Linux: запуск службы автозапуска с помощью init
# Бобу разрешено запускать виртуальные машины, но запуск
# будет отложен на 10 секунд
bob = <
allow = true
startup_delay = 10
>
# Алисе не разрешено запускать виртуальные машины, полезно для исключения определенных пользователей
# если политика по умолчанию разрешена.
alice = <
allow = false
>
Любой пользователь, который хочет включить автозапуск для отдельных компьютеров, должен указать путь к каталогу базы данных автозапуска с помощью следующей команды:
VBoxManage setproperty autostartdbpath каталог_автозапуска
8.8.9. Автозапуск виртуальных машин во время загрузки хост-системы
Эти параметры настраивают функцию автозапуска виртуальной машины, которая автоматически запускает виртуальную машину при загрузке хост-системы. Обратите внимание, что есть предварительные условия, которые необходимо выполнить перед использованием этой функции. См. Раздел 9.21, «Запуск виртуальных машин во время загрузки системы».
—autostart-enabled on | off: включает и отключает автозапуск виртуальной машины при загрузке хост-системы с использованием указанного имени пользователя.
—autostart-delay : указывает задержку в секундах после загрузки хост-системы перед автозапуском виртуальной машины.
при опросе статуса
вьідает такое
вер 07 18:45:46 serv1vvc systemd[1]: Started vbox@VM_1.service.
вер 07 18:46:54 serv1vvc systemd[1]: /etc/systemd/system/vbox@.service:1: Assig>
вер 07 18:46:54 serv1vvc systemd[1]: /etc/systemd/system/vbox@.service:2: Assig>
вер 07 18:46:54 serv1vvc systemd[1]: /etc/systemd/system/vbox@.service:3: Assig>
вер 07 18:47:14 serv1vvc systemd[1]: /etc/systemd/system/vbox@.service:1: Assig>
вер 07 18:47:14 serv1vvc systemd[1]: /etc/systemd/system/vbox@.service:2: Assig>
вер 07 18:47:14 serv1vvc systemd[1]: /etc/systemd/system/vbox@.service:3: Assig>
вер 07 19:11:59 serv1vvc systemd[1]: /etc/systemd/system/vbox@.service:1: Assig>
вер 07 19:11:59 serv1vvc systemd[1]: /etc/systemd/system/vbox@.service:2: Assig>
вер 07 19:11:59 serv1vvc systemd[1]: /etc/systemd/system/vbox@.service:3: Assig>
lines 1-17/17 (END)
Источник
Автозапуск виртуальной машины virtualbox linux
OracleВ® VM VirtualBox
Administrator’s Guide for Release 6.0
2.22.В Starting Virtual Machines During System Boot
You can start VMs automatically during system boot on Linux, Oracle Solaris, and Mac OS X platforms for all users.
2.22.1.В Linux: Starting the Autostart Service With init
Any user who wants to enable autostart for individual machines must set the path to the autostart database directory with the following command:
2.22.2.В Oracle Solaris: Starting the Autostart Service With SMF
On Oracle Solaris hosts, the Oracle VM VirtualBox autostart daemon is integrated into the SMF framework. To enable it you must point the service to an existing configuration file which has the same format as on Linux, see Section 2.22.1, “Linux: Starting the Autostart Service With init”. For example:
When everything is configured correctly you can start the Oracle VM VirtualBox autostart service with the following command:
For more information about SMF, see the Oracle Solaris documentation.
2.22.3.В Mac OS X: Starting the Autostart Service With launchd
To manually start the service use the following command:
For additional information on how launchd services can be configured see:
2.22.4.В Windows: Starting the Autostart Service With a Windows service
On Windows, autostarting is implemented as a Windows service. The service is installed for every user with their own credentials. Before installing any autostart services on a system you first have to define the VBOXAUTOSTART_CONFIG environment variable in the system variables with the path to the autostart configuration file. The configuration file has the same format as on Linux, see SectionВ 2.22.1, “Linux: Starting the Autostart Service With init”, except the user name can be specified using the following formats: «user», «domainuser», «.user» and «user@domain».
To enable autostarting for a particular user, a member of the administrators group must run the following command:
The password file should contain the password followed by a line break. The rest of the file is ignored. The user will be asked for a password if the password file is not specified.
To disable autostarting for particular user, a member of the administrators group must run the following command:
If a user has changed their password then a member of the administrators group must either reinstall the service or change the service credentials using Windows Service Manager. Due to Windows security policies, the autostart service cannot be installed for users with empty passwords.
Copyright В© 2004, 2020 Oracle and/or its affiliates. All rights reserved. Legal Notices
Источник