Tips & tricks
Guest clipboard:
/usr/bin/VBoxClient /usr/bin/VBoxClient --clipboard /usr/bin/VBoxClient --draganddrop
Resize VDI:
- SIZE_IN_MB would be 30000 for 30GB
- VBoxManage list hdds
Windows Host:
C:\Program Files\Oracle\VirtualBox\VboxManage.exe modifyhd YOUR_HARD_DISK.vdi --resize SIZE_IN_MB
Mac Host:
# /Applications/VirtualBox.app/Contents/MacOS/VBoxManage modifyhd YOUR_HARD_DISK.vdi --resize SIZE_IN_MB
Linux Host:
# VBoxManage modifyhd YOUR_HARD_DISK.vdi --resize SIZE_IN_MB
Linux Guest: # resize2fs /dev/sda1
Compact disk
Windows Guest:
– Cleanup
– Defrag
– sdelete -z, sdelete -c
– shutdown
– VboxManage modifyhd –compact disk.vdi
Convert disk:
/usr/bin/VBoxClient --displayVBoxManage internalcommands converttoraw file.vdi file.raw
VBoxManage clonehd hdd.vdi hdd.img --format raw
convertfromraw
[--format VDI|VMDK|VHD]
[--variant Standard,Fixed,Split2G,Stream,ESX]
[--uuid ]
convertfromraw stdin
[--format VDI|VMDK|VHD]
[--variant Standard,Fixed,Split2G,Stream,ESX]
[--uuid ]
clonehd <uuid|inputfile> <uuid|outputfile>
[--format VDI|VMDK|VHD|RAW|]
[--variant Standard,Fixed,Split2G,Stream,ESX]
[--existing]
Autostop – Linux Host:
VBoxManage modifyvm VM [--autostop-type disabled|savestate|poweroff|acpishutdown]
VBoxManage modifyvm VM --autostop-type acpishutdown
Autostart init script:
From: https://forums.virtualbox.org/viewtopic.php?f=7&t=65194
Re: Autostart VM on debian 7.7 virtualbox 4.3.20
Post by lnunes_pt ยป 19. Dec 2014, 02:40
Hi PavloM,The answer to the first question is, NO, you need not login to host. But also, NO, you need not reboot host to test VMs starts.
The manual section 9.23.1 is not complete. Don’t use vbox.cfg for the configuration file name, otherwise setproperty autostartdbpath will lead to command syntax issues later.Just to be sure you know, the VirtualBox autostart service init script is specially used in cases where you have many users on the host and want to control who can autostart VMs upon boot.
If you’re the only user on the host its alo just simpler start any headless VM from /etc/rc.local.
Edit /etc/default/virtualbox
VBOXAUTOSTART_DB=/etc/vbox VBOXAUTOSTART_CONFIG=/etc/vbox/vboxautostart.cfg
Edit vboxautostart.cfg using Bob example how to deny all and allow bob:
default_policy = deny bob = { allow = true startup_delay = 10 }
Create the vboxautostart.cfg file. Add vboxusers group to /etc/vbox and sticky bit.
# chgrp vboxusers /etc/vbox # chmod 1775 /etc/vbox
Add vboxusers group to all users (of course).
Then Execute once as users:
$ VBoxManage setproperty autostartdbpath /etc/vbox
And for every VM to start, then you find under /etc/vbox, user.start file.
But also how it will stop, then you find under /etc/vbox, user.stop file.
$ VBoxManage modifyvm --autostart-enabled on $ VBoxManage modifyvm --autostop-type acpishutdown
Then test START and STOP as root without need of host reboot.
# /etc/init.d/vboxautostart-service start
Logon to the VM and test the shutdown next. You should get logged off for system shutdown:
# /etc/init.d/vboxautostart-service stop
Note The Virtualbox autostart script should exist /etc/init.d/vboxautostart-service (it can be downloaded from Source Code Repository: trunk -> src -> VBox -> Installer -> linux -> vboxautostart-service.sh)
Autostart delay:
VBoxManage modifyvm VMNAME --autostart-delay 10
Autostop – Windows Host:
- VmServiceTray: https://sourceforge.net/projects/vboxvmservice/
- Batch: https://git.io/v5qUP (run using Task Scheduler or gpedit > “Scripts Shutdown/Logoff” etc, untested)
- Python script: https://blog.ionelmc.ro/2014/01/04/virtualbox-vm-auto-shutdown/ (untested)
Display
VBoxManage controlvm VMNAME setvideomodehint 1680 975 16
(or 16/24/32)
Headless
VBoxManage startvm "VM" --type headless
Shares
Host: Share Folder (e.g. “foo”), Full Access (write)
Guest: # mkdir /mnt/foo; mount -t vboxsf ~/foo /mnt/foo
Mount VDI (NTFS)
Guest:
# modprobe nbd max_part=16 # qemu-nbd -c /dev/nbd0 image.vdi # mkdir /mnt/image; mount /dev/nbd0p2 /mnt/image
To remove:
# qemu-nbd -d /dev/nbd0