<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://hurlster.com/wiki/index.php?action=history&amp;feed=atom&amp;title=Virtualbox</id>
	<title>Virtualbox - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://hurlster.com/wiki/index.php?action=history&amp;feed=atom&amp;title=Virtualbox"/>
	<link rel="alternate" type="text/html" href="https://hurlster.com/wiki/index.php?title=Virtualbox&amp;action=history"/>
	<updated>2026-08-25T04:59:53Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.38.4</generator>
	<entry>
		<id>https://hurlster.com/wiki/index.php?title=Virtualbox&amp;diff=2520&amp;oldid=prev</id>
		<title>Gqwill69: /* Start Script */</title>
		<link rel="alternate" type="text/html" href="https://hurlster.com/wiki/index.php?title=Virtualbox&amp;diff=2520&amp;oldid=prev"/>
		<updated>2012-12-26T16:48:08Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Start Script&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;=== Start Script ===&lt;br /&gt;
/etc/init.d/vbox-headless&lt;br /&gt;
 #! /bin/sh&lt;br /&gt;
 ### BEGIN INIT INFO&lt;br /&gt;
 # Provides:          vbox-headless&lt;br /&gt;
 # Required-Start:    $remote_fs $syslog&lt;br /&gt;
 # Required-Stop:     $remote_fs $syslog&lt;br /&gt;
 # Default-Start:     2 3 4 5&lt;br /&gt;
 # Default-Stop:      0 1 6&lt;br /&gt;
 # Short-Description: Start VMs in headless mode.&lt;br /&gt;
 # Description:       This script runs VMs for the default VirtualBox user in&lt;br /&gt;
 #                    headless mode. Make sure all VMs are using different RDP&lt;br /&gt;
 #                    ports.&lt;br /&gt;
 ### END INIT INFO&lt;br /&gt;
 &lt;br /&gt;
 # Author: Nicolas Tessore &amp;lt;n.tessore@gmail.com&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 ####&lt;br /&gt;
 # VirtualBox settings&lt;br /&gt;
 ####&lt;br /&gt;
 &lt;br /&gt;
 # The user which owns the VMs&lt;br /&gt;
 VBOX_USER=root&lt;br /&gt;
 &lt;br /&gt;
 # The list of VMs to run. Leave empty to run all registered VMs.&lt;br /&gt;
 VBOX_LIST=&amp;quot;&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # VirtualBox executables&lt;br /&gt;
 VBOX_MANAGE=/usr/bin/VBoxManage&lt;br /&gt;
 #VBOX_HEADLESS=/usr/bin/VBoxHeadless&lt;br /&gt;
 VBOX_HEADLESS=/usr/lib/virtualbox/VBoxHeadless&lt;br /&gt;
 &lt;br /&gt;
 ####&lt;br /&gt;
 # End VirtualBox settings&lt;br /&gt;
 ####&lt;br /&gt;
 &lt;br /&gt;
 # Do NOT &amp;quot;set -e&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # PATH should only include /usr/* if it runs after the mountnfs.sh script&lt;br /&gt;
 PATH=/sbin:/usr/sbin:/bin:/usr/bin&lt;br /&gt;
 DESC=&amp;quot;VirtualBox daemon&amp;quot;&lt;br /&gt;
 NAME=vbox-headless&lt;br /&gt;
 DAEMON=$VBOX_HEADLESS&lt;br /&gt;
 DAEMON_ARGS=&amp;quot;&amp;quot;&lt;br /&gt;
 PIDFILE=/var/run/$NAME.pid&lt;br /&gt;
 SCRIPTNAME=/etc/init.d/$NAME&lt;br /&gt;
 &lt;br /&gt;
 # Exit if the package is not installed&lt;br /&gt;
 [ -x &amp;quot;$DAEMON&amp;quot; ] || exit 0&lt;br /&gt;
 &lt;br /&gt;
 # Read configuration variable file if it is present&lt;br /&gt;
 [ -r /etc/default/$NAME ] &amp;amp;&amp;amp; . /etc/default/$NAME&lt;br /&gt;
 &lt;br /&gt;
 # Load the VERBOSE setting and other rcS variables&lt;br /&gt;
 . /lib/init/vars.sh&lt;br /&gt;
 &lt;br /&gt;
 # Define LSB log_* functions.&lt;br /&gt;
 # Depend on lsb-base (&amp;gt;= 3.0-6) to ensure that this file is present.&lt;br /&gt;
 . /lib/lsb/init-functions&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 vm_init_list()&lt;br /&gt;
 {&lt;br /&gt;
    # get registered VMs&lt;br /&gt;
    LIST_VMS=`sudo -H -u $VBOX_USER $VBOX_MANAGE --nologo list vms | cut -d &amp;#039; &amp;#039; -f 1 | tr -d &amp;#039;&amp;quot;&amp;#039;`&lt;br /&gt;
   &lt;br /&gt;
    # check for list of VMs&lt;br /&gt;
    if [ -z &amp;quot;$VBOX_LIST&amp;quot; ]&lt;br /&gt;
    then&lt;br /&gt;
       # all registered VMs for user&lt;br /&gt;
       VBOX_LIST=$LIST_VMS&lt;br /&gt;
    else&lt;br /&gt;
       # check that VMs exist&lt;br /&gt;
       for VM in $VBOX_LIST&lt;br /&gt;
       do&lt;br /&gt;
          case $LIST_VMS in&lt;br /&gt;
          &amp;quot;$VM&amp;quot;)&lt;br /&gt;
             continue&lt;br /&gt;
             ;;&lt;br /&gt;
          *)&lt;br /&gt;
             log_failure_msg &amp;quot;ERROR: VM &amp;#039;$VM&amp;#039; is not registered!&amp;quot;&lt;br /&gt;
             exit 1&lt;br /&gt;
             ;;&lt;br /&gt;
          esac&lt;br /&gt;
       done&lt;br /&gt;
    fi&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 # get uuid for vm&lt;br /&gt;
 vm_get_uuid()&lt;br /&gt;
 {&lt;br /&gt;
    vm=$1&lt;br /&gt;
    hwuuid=`sudo -H -u $VBOX_USER $VBOX_MANAGE --nologo showvminfo --machinereadable &amp;quot;$vm&amp;quot; | grep &amp;#039;hardwareuuid=&amp;#039;`&lt;br /&gt;
    echo $hwuuid | cut -d &amp;#039;=&amp;#039; -f 2 | tr -d &amp;#039;&amp;quot;&amp;#039;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 # control running vm&lt;br /&gt;
 vm_ctrl()&lt;br /&gt;
 {&lt;br /&gt;
    sudo -H -u $VBOX_USER $VBOX_MANAGE --nologo controlvm $1 $2 &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 #&lt;br /&gt;
 # Function that starts the daemon/service&lt;br /&gt;
 #&lt;br /&gt;
 do_start()&lt;br /&gt;
 {&lt;br /&gt;
    vm_init_list&lt;br /&gt;
    &lt;br /&gt;
    # Return&lt;br /&gt;
    #   0 if daemon has been started&lt;br /&gt;
    #   1 if daemon was already running&lt;br /&gt;
    #   2 if daemon could not be started&lt;br /&gt;
    RETVAL=0&lt;br /&gt;
    &lt;br /&gt;
    # Start all VMs&lt;br /&gt;
    for VM in $VBOX_LIST&lt;br /&gt;
    do&lt;br /&gt;
       VM_UUID=`vm_get_uuid $VM`&lt;br /&gt;
       VM_PIDFILE=&amp;quot;$PIDFILE.$VM_UUID&amp;quot;&lt;br /&gt;
       VM_DAEMON=&amp;quot;$DAEMON&amp;quot;&lt;br /&gt;
       VM_DAEMON_ARGS=&amp;quot;$DAEMON_ARGS --startvm $VM_UUID&amp;quot;&lt;br /&gt;
       &lt;br /&gt;
       log_action_begin_msg &amp;quot;Starting VM &amp;#039;$VM&amp;#039;&amp;quot;&lt;br /&gt;
       &lt;br /&gt;
       # test for running VM&lt;br /&gt;
       USER=$VBOX_USER LOGNAME=$VBOX_USER start-stop-daemon \&lt;br /&gt;
          --start \&lt;br /&gt;
          --quiet \&lt;br /&gt;
          --pidfile $VM_PIDFILE \&lt;br /&gt;
          --startas $VM_DAEMON \&lt;br /&gt;
          --test \&lt;br /&gt;
          &amp;gt; /dev/null&lt;br /&gt;
       &lt;br /&gt;
       # VM already running&lt;br /&gt;
       if [ &amp;quot;$?&amp;quot; != 0 ]&lt;br /&gt;
       then&lt;br /&gt;
          # report VM is running&lt;br /&gt;
          log_warning_msg &amp;quot;VM &amp;#039;$VM&amp;#039; already running&amp;quot;&lt;br /&gt;
          [ &amp;quot;$RETVAL&amp;quot; = 0 ] &amp;amp;&amp;amp; RETVAL=1&lt;br /&gt;
          continue&lt;br /&gt;
       fi&lt;br /&gt;
       &lt;br /&gt;
       # start VM&lt;br /&gt;
       USER=$VBOX_USER LOGNAME=$VBOX_USER start-stop-daemon \&lt;br /&gt;
          --start \&lt;br /&gt;
          --quiet \&lt;br /&gt;
          --pidfile $VM_PIDFILE \&lt;br /&gt;
          --make-pidfile \&lt;br /&gt;
          --background \&lt;br /&gt;
          --chuid $VBOX_USER \&lt;br /&gt;
          --startas $VM_DAEMON \&lt;br /&gt;
          -- $VM_DAEMON_ARGS&lt;br /&gt;
       &lt;br /&gt;
       log_action_end_msg &amp;quot;$?&amp;quot;&lt;br /&gt;
       &lt;br /&gt;
       # check if start failed&lt;br /&gt;
       if [ &amp;quot;$?&amp;quot; != 0 ]&lt;br /&gt;
       then&lt;br /&gt;
          # report error&lt;br /&gt;
          log_failure_msg &amp;quot;Error starting VM &amp;#039;$VM&amp;#039;&amp;quot;&lt;br /&gt;
          RETVAL=2&lt;br /&gt;
       fi&lt;br /&gt;
    done&lt;br /&gt;
    &lt;br /&gt;
    if [ &amp;quot;$RETVAL&amp;quot; -lt 2 ]&lt;br /&gt;
    then&lt;br /&gt;
       log_daemon_msg &amp;quot;VirtualBox daemon started successfully&amp;quot;&lt;br /&gt;
    else&lt;br /&gt;
       log_daemon_msg &amp;quot;VirtualBox daemon started with errors&amp;quot;&lt;br /&gt;
    fi&lt;br /&gt;
    &lt;br /&gt;
    return &amp;quot;$RETVAL&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 #&lt;br /&gt;
 # Function that stops the daemon/service&lt;br /&gt;
 #&lt;br /&gt;
 do_stop()&lt;br /&gt;
 {&lt;br /&gt;
    vm_init_list&lt;br /&gt;
    &lt;br /&gt;
    # Return&lt;br /&gt;
    #   0 if daemon has been stopped&lt;br /&gt;
    #   1 if daemon was already stopped&lt;br /&gt;
    #   2 if daemon could not be stopped&lt;br /&gt;
    #   other if a failure occurred&lt;br /&gt;
    RETVAL=0&lt;br /&gt;
    &lt;br /&gt;
    for VM in $VBOX_LIST&lt;br /&gt;
    do&lt;br /&gt;
       VM_UUID=`vm_get_uuid $VM`&lt;br /&gt;
       VM_PIDFILE=&amp;quot;$PIDFILE.$VM_UUID&amp;quot;&lt;br /&gt;
       &lt;br /&gt;
       log_action_begin_msg &amp;quot;Stopping VM &amp;#039;$VM&amp;#039;&amp;quot;&lt;br /&gt;
       &lt;br /&gt;
       # try savestate halt&lt;br /&gt;
       vm_ctrl $VM savestate&lt;br /&gt;
       &lt;br /&gt;
       # stop daemon&lt;br /&gt;
       USER=$VBOX_USER LOGNAME=$VBOX_USER start-stop-daemon \&lt;br /&gt;
          --stop \&lt;br /&gt;
          --quiet \&lt;br /&gt;
          --retry=TERM/30/KILL/5 \&lt;br /&gt;
          --pidfile $VM_PIDFILE&lt;br /&gt;
       &lt;br /&gt;
       case &amp;quot;$?&amp;quot; in&lt;br /&gt;
       0)&lt;br /&gt;
          log_action_end_msg 0&lt;br /&gt;
          ;;&lt;br /&gt;
       1)&lt;br /&gt;
          log_warning_msg &amp;quot;VM &amp;#039;$VM&amp;#039; already stopped&amp;quot;&lt;br /&gt;
          [ &amp;quot;$RETVAL&amp;quot; = 0 ] &amp;amp;&amp;amp; RETVAL=1&lt;br /&gt;
          ;;&lt;br /&gt;
       2)&lt;br /&gt;
          log_action_end_msg 1&lt;br /&gt;
          log_failure_msg &amp;quot;ERROR: Could not stop VM &amp;#039;$VM&amp;#039;&amp;quot;&lt;br /&gt;
          RETVAL=2&lt;br /&gt;
          continue&lt;br /&gt;
          ;;&lt;br /&gt;
       esac&lt;br /&gt;
       &lt;br /&gt;
       rm -f $VM_PIDFILE&lt;br /&gt;
    done&lt;br /&gt;
    &lt;br /&gt;
    if [ &amp;quot;$RETVAL&amp;quot; -lt 2 ]&lt;br /&gt;
    then&lt;br /&gt;
       log_daemon_msg &amp;quot;VirtualBox daemon stopped successfully&amp;quot;&lt;br /&gt;
    else&lt;br /&gt;
       log_daemon_msg &amp;quot;VirtualBox daemon stopped with errors&amp;quot;&lt;br /&gt;
    fi&lt;br /&gt;
    &lt;br /&gt;
    return &amp;quot;$RETVAL&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 #&lt;br /&gt;
 # Function that sends a SIGHUP to the daemon/service&lt;br /&gt;
 #&lt;br /&gt;
 do_reload() {&lt;br /&gt;
    #&lt;br /&gt;
    # If the daemon can reload its configuration without&lt;br /&gt;
    # restarting (for example, when it is sent a SIGHUP),&lt;br /&gt;
    # then implement that here.&lt;br /&gt;
    #&lt;br /&gt;
    start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME&lt;br /&gt;
    return 0&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 case &amp;quot;$1&amp;quot; in&lt;br /&gt;
   start)&lt;br /&gt;
    log_daemon_msg &amp;quot;Starting $DESC&amp;quot; &amp;quot;$NAME&amp;quot;&lt;br /&gt;
    do_start&lt;br /&gt;
    case &amp;quot;$?&amp;quot; in&lt;br /&gt;
       0|1) log_end_msg 0 ;;&lt;br /&gt;
       2) log_end_msg 1 ;;&lt;br /&gt;
    esac&lt;br /&gt;
    ;;&lt;br /&gt;
   stop)&lt;br /&gt;
    log_daemon_msg &amp;quot;Stopping $DESC&amp;quot; &amp;quot;$NAME&amp;quot;&lt;br /&gt;
    do_stop&lt;br /&gt;
    case &amp;quot;$?&amp;quot; in&lt;br /&gt;
       0|1) log_end_msg 0 ;;&lt;br /&gt;
       2) log_end_msg 1 ;;&lt;br /&gt;
    esac&lt;br /&gt;
    ;;&lt;br /&gt;
   status)&lt;br /&gt;
        status_of_proc &amp;quot;$DAEMON&amp;quot; &amp;quot;$NAME&amp;quot; &amp;amp;&amp;amp; exit 0 || exit $?&lt;br /&gt;
        ;;&lt;br /&gt;
   #reload|force-reload)&lt;br /&gt;
    #&lt;br /&gt;
    # If do_reload() is not implemented then leave this commented out&lt;br /&gt;
    # and leave &amp;#039;force-reload&amp;#039; as an alias for &amp;#039;restart&amp;#039;.&lt;br /&gt;
    #&lt;br /&gt;
    #log_daemon_msg &amp;quot;Reloading $DESC&amp;quot; &amp;quot;$NAME&amp;quot;&lt;br /&gt;
    #do_reload&lt;br /&gt;
    #log_end_msg $?&lt;br /&gt;
    #;;&lt;br /&gt;
   restart|force-reload)&lt;br /&gt;
    #&lt;br /&gt;
    # If the &amp;quot;reload&amp;quot; option is implemented then remove the&lt;br /&gt;
    # &amp;#039;force-reload&amp;#039; alias&lt;br /&gt;
    #&lt;br /&gt;
    log_daemon_msg &amp;quot;Restarting $DESC&amp;quot; &amp;quot;$NAME&amp;quot;&lt;br /&gt;
    do_stop&lt;br /&gt;
    case &amp;quot;$?&amp;quot; in&lt;br /&gt;
      0|1)&lt;br /&gt;
       do_start&lt;br /&gt;
       case &amp;quot;$?&amp;quot; in&lt;br /&gt;
          0) log_end_msg 0 ;;&lt;br /&gt;
          1) log_end_msg 1 ;; # Old process is still running&lt;br /&gt;
          *) log_end_msg 1 ;; # Failed to start&lt;br /&gt;
       esac&lt;br /&gt;
       ;;&lt;br /&gt;
      *)&lt;br /&gt;
         # Failed to stop&lt;br /&gt;
       log_end_msg 1&lt;br /&gt;
       ;;&lt;br /&gt;
    esac&lt;br /&gt;
    ;;&lt;br /&gt;
   *)&lt;br /&gt;
    #echo &amp;quot;Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
    echo &amp;quot;Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
    exit 3&lt;br /&gt;
    ;;&lt;br /&gt;
 esac&lt;br /&gt;
 &lt;br /&gt;
 :&lt;br /&gt;
&lt;br /&gt;
=== CENTOS Guest ===&lt;br /&gt;
To lower host CPU processing edit guest /etc/grub.conf and add lines in blue, then reboot.&lt;br /&gt;
 # grub.conf generated by anaconda&lt;br /&gt;
 #&lt;br /&gt;
 # Note that you do not have to rerun grub after making changes to this file&lt;br /&gt;
 # NOTICE:  You have a /boot partition.  This means that&lt;br /&gt;
 #          all kernel and initrd paths are relative to /boot/, eg.&lt;br /&gt;
 #          root (hd0,0)&lt;br /&gt;
 #          kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVol00&lt;br /&gt;
 #          initrd /initrd-version.img&lt;br /&gt;
 #boot=/dev/sda&lt;br /&gt;
 default=0&lt;br /&gt;
 timeout=5&lt;br /&gt;
 splashimage=(hd0,0)/grub/splash.xpm.gz&lt;br /&gt;
 hiddenmenu&lt;br /&gt;
 title CentOS (2.6.18-308.24.1.el5)&lt;br /&gt;
         root (hd0,0)&lt;br /&gt;
         kernel /vmlinuz-2.6.18-308.24.1.el5 ro root=/dev/VolGroup00/LogVol00 &amp;lt;font color=blue&amp;gt;&amp;#039;&amp;#039;&amp;#039;divider=10 clocksource=acpi_pm&amp;#039;&amp;#039;&amp;#039;&amp;lt;/font&amp;gt;&lt;br /&gt;
         initrd /initrd-2.6.18-308.24.1.el5.img&lt;br /&gt;
 title CentOS (2.6.18-308.el5)&lt;br /&gt;
         root (hd0,0)&lt;br /&gt;
         kernel /vmlinuz-2.6.18-308.el5 ro root=/dev/VolGroup00/LogVol00&lt;br /&gt;
         initrd /initrd-2.6.18-308.el5.img&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;/div&gt;</summary>
		<author><name>Gqwill69</name></author>
	</entry>
</feed>