The VikiD Truth

Knowledge base / Computing / Operating systems & hardware

Algorithms | Apple | AssemblyLanguage | BASH | Bash Cookbook | C-Programmming | CommonLisp | Computer Security | CuisSmalltalk | Databases | Emacs | Exploitation | Firewalls | Forth | Fortran | Functional Programming | Git | GNUSmalltalk | Haskell | Javascript | Julia | Linux | Machine Learning | Metasploit |Machine Learning | Networking | Operating Systems | Open Data Science | Odin | Picolisp | Pharo Smalltalk | Purescript | Python | Racket | Rust| Scheme | Social Engineering | Unity | vagrant | vim | virtualbox | V | Web Development | Windows |Zig

Virtualbox

The truth about VirtualBox: it’s the easiest way to have a spare computer you can’t break. Install it, click through a wizard, and you’ve got a whole extra machine in a window – one you can snapshot, wreck and restore in seconds.

What it is, in plain words

Oracle VirtualBox is a free, open-source (GPLv3) type 2 hypervisor: an application that runs on your normal operating system (Linux, Windows, macOS, Solaris) and lets you create virtual machines inside it. Each VM gets virtual CPUs, memory, disks (.vdi files), network cards and a screen, and you install a full guest operating system on it.

Where it stands in 2026:

Why it matters

You learn operating systems by breaking them, and you don’t want to break the machine you’re writing on. VirtualBox lets you try Void, Arch, BSD or Windows, set up a penetration testing lab, test an install script, or keep an old OS for one legacy program – all without repartitioning anything. Its point-and-click setup makes it the gentlest entry into virtualization.

An everyday analogy: a model railway

A real railway is expensive and dangerous to experiment with. A model railway on a table lets you lay track, crash trains, and rebuild – and when you’ve got a layout you like, you photograph it so you can always put it back. A VirtualBox VM is the model railway; snapshots are the photographs.

flowchart LR
  H[Host OS: Linux/Windows/macOS] --> V[VirtualBox app + kernel modules]
  V --> G1[Guest: Void Linux]
  V --> G2[Guest: Windows 11]
  V --> S[Snapshots]
  G1 <-- Guest Additions --> H

A hands-on example: a disposable Void Linux VM

Install VirtualBox. On Void (the kernel modules are built with DKMS, so install headers for your kernel too):

sudo xbps-install -S virtualbox-ose linux-headers
sudo usermod -aG vboxusers $USER
sudo modprobe vboxdrv

On Arch/Manjaro it’s virtualbox plus virtualbox-host-modules-arch (or the DKMS variant); on Debian/Ubuntu download the .deb from virtualbox.org. Windows and macOS: run the installer.

Everything in the GUI can be scripted with VBoxManage, which is handy to keep in your notes:

VM=voidtest
VBoxManage createvm --name $VM --ostype Linux_64 --register
VBoxManage modifyvm $VM --memory 4096 --cpus 2 --nic1 nat --firmware efi \
  --graphicscontroller vmsvga
VBoxManage createmedium disk --filename ~/VirtualBox\ VMs/$VM/$VM.vdi --size 20000
VBoxManage storagectl $VM --name SATA --add sata --controller IntelAhci
VBoxManage storageattach $VM --storagectl SATA --port 0 --type hdd \
  --medium ~/VirtualBox\ VMs/$VM/$VM.vdi
VBoxManage storageattach $VM --storagectl SATA --port 1 --type dvddrive \
  --medium ~/Downloads/void-live-x86_64.iso
VBoxManage startvm $VM

After installing the guest OS, take a snapshot:

VBoxManage snapshot $VM take clean --description "fresh install"
VBoxManage snapshot $VM restore clean     # (with the VM powered off)

Forward SSH from the host to the guest:

VBoxManage modifyvm $VM --natpf1 "ssh,tcp,,2222,,22"
ssh -p 2222 user@localhost

Networking modes in one table

ModeGuest can reach internetHost can reach guestOther guests
NAT (default)yesonly via port forwardingno
NAT Networkyesvia port forwardingyes
Bridgedyes, as a real LAN deviceyesyes
Host-onlynoyesyes
Internalnonoyes

For a pentest lab, Host-only or Internal keeps vulnerable machines off your real network.

Common misconceptions

Connections

Last edited · 2 revisions

Tags: #Computing