VirtualBox

VirtualBox

VirtualBox is a powerful x86 and AMD64/Intel64 virtualization product for enterprise as well as home use. Not only is VirtualBox an extremely feature rich, high performance product for enterprise customers, it is also the only professional solution that is freely available as Open Source Software under the terms of the GNU General Public License (GPL) version 2. Homepage

  • Virtual Machine

    • Create

    • Register

  • Set hardware settings

    • Memory

    • Network

  • Storage

    • Create “dynamic” disk

    • Create SATA controller

    • Attach “dynamic” disk to SATA controller

  • ISO

    • Create IDE controller

    • Attach ISO image to IDE controller

  • Virtual Machine

    • Run

    • Detach

VirtualBox :: Installation

user@workstation:~$ sudo apt install libqt5x11extras5
user@workstation:~$ sudo apt install libsdl1.2debian
user@workstation:~$ sudo apt install rdesktop
user@workstation:~$ wget https://download.virtualbox.org/virtualbox/5.1.30/virtualbox-5.1_5.1.30-118389~Ubuntu~xenial_amd64.deb
user@workstation:~$ sudo dpkg -i virtualbox-5.1_5.1.30-118389~Ubuntu~xenial_amd64.deb
user@workstation:~$ wget https://download.virtualbox.org/virtualbox/5.1.30/Oracle_VM_VirtualBox_Extension_Pack-5.1.30-118389.vbox-extpack
user@workstation:~$ sudo VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-5.1.30-118389.vbox-extpack
user@workstation:~$ VBoxManage -v
5.1.30r118389
user@workstation:~$ VBoxManage list vms
user@workstation:~$
user@workstation:~$ VBoxManage list ostypes | grep Debian
ID:          Debian
Description: Debian (32-bit)
ID:          Debian_64
Description: Debian (64-bit)
user@workstation:~$

VirtualBox :: Image Repository

user@workstation:~$ mkdir Virtualization
user@workstation:~$ mkdir Virtualization/Images/
user@workstation:~$ cd Virtualization/Images/
user@workstation:~/Virtualization/Images$ wget http://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img
user@workstation:~/Virtualization/Images$ wget https://people.debian.org/~aurel32/qemu/amd64/debian_wheezy_amd64_standard.qcow2
user@workstation:~/Virtualization/Images$ wget http://releases.ubuntu.com/16.04.4/ubuntu-16.04.4-server-amd64.iso
user@workstation:~/Virtualization/Images$ cd ..
user@workstation:~/Virtualization$

VirtualBox :: Virtual Machine

VBoxManage modifyvm "$vm" --ostype Linux_64 --cpus "$cpus" --pae on --longmode on --x2apic on --largepages off

Create and register.

user@workstation:~/Virtualization$ VBoxManage createvm --name Titanium --ostype Linux_64 --register
Virtual machine 'Titanium' is created and registered.
UUID: c496716a-2411-4975-bbcb-64ca38a8d728
Settings file: '/home/user/VirtualBox VMs/Titanium/Titanium.vbox'
user@workstation:~/Virtualization$
user@workstation:~/Virtualization$ VBoxManage showvminfo Titanium
Name:            Titanium
Groups:          /
Guest OS:        Other Linux (64-bit)
UUID:            c496716a-2411-4975-bbcb-64ca38a8d728
Config file:     /home/user/VirtualBox VMs/Titanium/Titanium.vbox
Snapshot folder: /home/user/VirtualBox VMs/Titanium/Snapshots
Log folder:      /home/user/VirtualBox VMs/Titanium/Logs
Hardware UUID:   c496716a-2411-4975-bbcb-64ca38a8d728
Memory size:     128MB
Page Fusion:     off
VRAM size:       8MB
CPU exec cap:    100%
HPET:            off
Chipset:         piix3
Firmware:        BIOS
Number of CPUs:  1
PAE:             on
Long Mode:       on
Triple Fault Reset: off
APIC:            on
X2APIC:          on
CPUID Portability Level: 0
CPUID overrides: None
Boot menu mode:  message and menu
Boot Device (1): Floppy
Boot Device (2): DVD
Boot Device (3): HardDisk
Boot Device (4): Not Assigned
ACPI:            on
IOAPIC:          on
BIOS APIC mode:  APIC
Time offset:     0ms
RTC:             local time
Hardw. virt.ext: on
Nested Paging:   on
Large Pages:     off
VT-x VPID:       on
VT-x unr. exec.: on
Paravirt. Provider: Default
Effective Paravirt. Provider: KVM
State:           powered off (since 2018-03-11T23:02:49.000000000)
Monitor count:   1
3D Acceleration: off
2D Video Acceleration: off
Teleporter Enabled: off
Teleporter Port: 0
Teleporter Address: 
Teleporter Password: 
Tracing Enabled: off
Allow Tracing to Access VM: off
Tracing Configuration: 
Autostart Enabled: off
Autostart Delay: 0
Default Frontend: 
NIC 1:           MAC: 0800270FB63F, Attachment: NAT, Cable connected: on, Trace: off (file: none), Type: 82540EM, Reported speed: 0 Mbps, Boot priority: 0, Promisc Policy: deny, Bandwidth group: none
NIC 1 Settings:  MTU: 0, Socket (send: 64, receive: 64), TCP Window (send:64, receive: 64)
NIC 2:           disabled
NIC 3:           disabled
NIC 4:           disabled
NIC 5:           disabled
NIC 6:           disabled
NIC 7:           disabled
NIC 8:           disabled
Pointing Device: PS/2 Mouse
Keyboard Device: PS/2 Keyboard
UART 1:          disabled
UART 2:          disabled
UART 3:          disabled
UART 4:          disabled
LPT 1:           disabled
LPT 2:           disabled
Audio:           enabled (Driver: PulseAudio, Controller: AC97, Codec: STAC9700)
Clipboard Mode:  disabled
Drag and drop Mode: disabled
VRDE:            disabled
USB:             disabled
EHCI:            disabled
XHCI:            disabled

USB Device Filters:

<none>

Bandwidth groups:  <none>

Shared folders:  <none>

Video capturing:    not active
Capture screens:    0
Capture file:       /home/user/VirtualBox VMs/Titanium/Titanium.webm
Capture dimensions: 1024x768
Capture rate:       512 kbps
Capture FPS:        25

Guest:

Configured memory balloon size:      0 MB


user@workstation:~/Virtualization$

VirtualBox :: Hardware Settings :: Memory

VBoxManage modifyvm "$vm" --memory "$mem"

Set memory.

user@workstation:~/Virtualization$ 
user@workstation:~/Virtualization$ VBoxManage modifyvm Titanium --memory 2048
  user@workstation:~/Virtualization$ VBoxManage showvminfo Titanium | grep "Memory size"
Memory size:     2048MB

VirtualBox :: Hardware Settings :: Network

VBoxManage modifyvm "$vm" --cableconnected1 on --nic1 hostonly --nictype1 82540EM --hostonlyadapter1 vboxnet0 VBoxManage modifyvm "$vm" --cableconnected2 on --nic2 intnet --nictype2 82540EM --intnet2 intnet-management --nicpromisc2 allow-all --nicbootprio2 1 VBoxManage modifyvm "$vm" --cableconnected3 on --nic3 intnet --nictype3 virtio --intnet3 intnet-data1 --nicpromisc3 allow-all VBoxManage modifyvm "$vm" --cableconnected4 on --nic4 intnet --nictype4 virtio --intnet4 intnet-data2 --nicpromisc4 allow-all

Set network.

user@workstation:~/Virtualization$ VBoxManage modifyvm Titanium --bridgeadapter1 enp0s25
user@workstation:~/Virtualization$ VBoxManage modifyvm Titanium --nic1 bridged
user@workstation:~/Virtualization$ VBoxManage showvminfo Titanium | grep "NIC 1"
NIC 1:           MAC: 0800270FB63F, Attachment: Bridged Interface 'enp0s25', Cable connected: on, Trace: off (file: none), Type: 82540EM, Reported speed: 0 Mbps, Boot priority: 0, Promisc Policy: deny, Bandwidth group: none

VirtualBox :: Hardware Settings :: Others

Display

VBoxManage modifyvm "$vm" --vram 16

Audio

VBoxManage modifyvm "$vm" --audio none

Boot Order

VBoxManage modifyvm "$vm" --boot1 dvd --boot2 disk --boot3 net --boot4 none

Other

VBoxManage modifyvm "$vm" --ioapic on --rtcuseutc on

VM Specific Serial

VBoxManage modifyvm "$vm" --uart1 0x3F8 4 --uartmode1 server "/tmp/serial_$vm" set_vrde "$vm"

Set others.

VirtualBox :: Storage

VBoxManage createmedium disk --filename "${machine_folder}/${vm}/${vm}-disk1.vdi" --size $CONTROLLER_DISK1 --format VDI VBoxManage createmedium disk --filename "${machine_folder}/${vm}/${vm}-disk2.vdi" --size $CONTROLLER_DISK2 --format VDI VBoxManage storagectl "$vm" --name SATA --add sata --controller IntelAhci --portcount 3 --hostiocache on --bootable on VBoxManage storageattach "$vm" --storagectl SATA --port 0 --device 0 --type hdd --medium "${machine_folder}/${vm}/${vm}-disk1.vdi" VBoxManage storageattach "$vm" --storagectl SATA --port 1 --device 0 --type hdd --medium "${machine_folder}/${vm}/${vm}-disk2.vdi" VBoxManage storageattach "$vm" --storagectl SATA --port 2 --device 0 --type dvddrive --medium emptydrive

Create “dynamic” disk.

user@workstation:~/Virtualization$ VBoxManage createhd --filename VirtualBox\ VMs/Titanium/Titanium.vdi --size 18000 --format VDI
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Medium created. UUID: def6c875-df58-4db4-8baa-4b947f4b89c7

Create SATA controller.

user@workstation:~/Virtualization$ VBoxManage storagectl Titanium --name "SATA Controller" --add sata --controller IntelAhci

Attach “dynamic” disk to SATA controller.

user@workstation:~/Virtualization$ VBoxManage storageattach Titanium --storagectl "SATA Controller" --port 0 --device 0 --type hdd --medium VirtualBox\ VMs/Titanium/Titanium.vdi

VirtualBox :: ISO

Create IDE controller.

user@workstation:~/Virtualization$ VBoxManage storagectl Titanium --name "IDE Controller" --add ide --controller PIIX4

Attach ISO image to IDE controller.

user@workstation:~/Virtualization$ VBoxManage storageattach Titanium --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium Images/ubuntu-16.04.4-server-amd64.iso

VirtualBox :: Virtual Machine

VBoxManage startvm "$1" --type headless rdesktop-vrdp -a 16 -N "127.0.0.1:$rdeport" &

Run.

user@workstation:~/Virtualization$ VBoxManage modifyvm Titanium --vrde on
user@workstation:~/Virtualization$ VBoxManage modifyvm Titanium --vrdemulticon on --vrdeport 3390
user@workstation:~/Virtualization$ VBoxHeadless --startvm Titanium
user@workstation:~/Virtualization$ rdesktop 127.0.0.1:3390
user@workstation:~/Virtualization$ VBoxManage storageattach Titanium --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium none

Last updated