Get started · Your first VM
Your first VM
From empty library to a booted Ubuntu desktop in under ten minutes. We'll start with NAT mode — the simplest network setup — then graduate to virtual-switch and router-VM modes on later pages.
On this page
Open the VM Library
Launch SecVF. The VM Library window opens automatically — it's the home base for everything. Three panels:
- VM table (center) — every VM, its status, network mode, RAM.
- Active VMs sidebar (left) — running guests, click to switch.
- Packet log panel (bottom) — live frames once you start capture.
The empty state shows a + New VM button. Click it (or press ⌘N).
Create a new Linux VM
The new-VM sheet asks for the basics. For a first run, accept the defaults and tweak:
| Field | Suggested first-run value | Notes |
|---|---|---|
| Name | ubuntu-test | Lowercase, hyphens. Becomes the bundle directory name. |
| OS family | Linux | macOS guest is a separate flow (Apple Silicon only) — see Managing VMs. |
| Distro | Ubuntu 24.04 LTS | Pulled from distros.json; eight options ship by default. Versions are dynamically discovered from official mirrors. |
| CPU cores | 2 | Don't allocate more than half the host's physical cores for a guest you might run in parallel with others. |
| RAM | 4096 MB | 2 GB is enough for headless Linux; bump to 4–8 GB for a desktop install. |
| Disk | 20 GB | Sparse — actual size on disk grows with use, capped here. |
| Network mode | NAT | Easiest to start. Internet access via the host. We'll change this later. |
Click Create. SecVF writes the bundle to ~/.avf/Linux/ubuntu-test.bundle/ and queues an ISO download if the distro isn't already cached.
How the ISO cache works
SecVF doesn't redownload ISOs. Once a distro version is pulled, it's stored under ~/.avf/ISOCache/ and reused for every new VM.
- Source: the official mirror listed in
Resources/distros.json. URLs are pinned to specific hostnames; downloads from anywhere else are refused. - Verification: the ISO's SHA-256 checksum is fetched from the same mirror's
SHA256SUMSfile (or equivalent) and compared against the download. A mismatch deletes the file and surfaces a CRITICAL security event. - Audit: open Monitoring → ISO Cache Audit (⌘⇧4) to see every download, its checksum, source URL, and verification result.
~/.avf/ISOCache/ with the exact filename SecVF expects (the audit log shows what name it tried).
First boot & install
- Select your VM in the table. Click Start (or ⌘S).
- SecVF opens a dedicated window for the guest. The Apple Virtualization framework boots EFI, then the ISO's bootloader.
- Run the distro installer the same way you would on bare metal.
- Use the entire disk — it's a 20 GB virtual disk, not your host.
- Create a user with a strong password — the VM has network access via NAT.
- Install the SSH server if the distro asks; it's useful for headless workflows later.
- When the installer prompts to reboot, shut down the VM instead (in the guest's menu, or ⌘. in SecVF). After it stops, eject the ISO from the VM's settings — otherwise it'll boot back into the installer on next start.
- Click Start again. You're now booting the installed system.
Post-install: tools to install in the guest
For a general-purpose Linux sandbox you'll want a baseline of tools. Here's what to grab on first login (Ubuntu/Debian-flavored):
sudo apt update
sudo apt install -y \
curl wget git build-essential \
tcpdump tshark net-tools dnsutils \
htop tmux vim
# Optional GUI tools for desktop installs:
sudo apt install -y wireshark gnome-tweaks
These won't be on the host's $PATH — they live inside the guest. Each VM has its own world.
Stopping & pausing
| Action | Shortcut | What it does |
|---|---|---|
| Graceful shutdown | — | Use the guest OS's shutdown — sends ACPI signal, kernel does an orderly stop. |
| Force stop | ⌘. | Pulls the plug. May corrupt unflushed writes — only when the guest is stuck. |
| Pause | — | Suspend the VM — RAM stays allocated, no CPU cycles. Resume puts it back exactly where it was. |
| Close the window | ⌘W | Closes the display window but keeps the VM running. Reopen from the VM Library. |
What's next
Now that you have one VM running, you can branch in any of three directions:
- Network modes — switch off NAT to virtual-switch or router-VM mode, which is what you want for malware analysis.
- Packet analysis — start a live capture, write display filters, export PCAP.
- Managing VMs — multi-window sessions, snapshots, the macOS guest install path.