Quick Reference Sheet
Running virtualization inside a desktop operating system (like VirtualBox or VMware Workstation) introduces significant CPU, memory, and disk latency because the host OS is constantly competing for resources. In contrast, Proxmox Virtual Environment (PVE) is a Type-1 (Bare-Metal) Hypervisor based on Debian Linux and KVM. It runs directly on top of the physical motherboard hardware, providing near-zero virtualization overhead, built-in ZFS pooling, web clustering, and lightweight LXC Linux containerization.
1. Installation & First Web Interface Access
Download the official Proxmox VE 8 ISO from proxmox.com, flash it to a USB drive with Rufus or BalenaEtcher, boot your target server, and select Install Proxmox VE (Graphical).
During installation, configure a fixed management IP address (e.g. 192.168.1.100/24), set your gateway (e.g. 192.168.1.1), and assign a secure root password.
Once installation finishes and the server reboots, open a browser on your laptop or workstation and access the Proxmox web UI using HTTPS on port 8006:
https://192.168.1.100:8006
(Accept the self-signed SSL certificate warning in your browser, and log in with user root and your configured password).
2. Post-Install Setup: Free Community Repositories
By default, Proxmox expects a paid enterprise subscription. To enable free updates and remove the subscription warning, open the Shell console in the Proxmox web UI (or SSH in as root) and switch to the community repository:
# 1. Disable the enterprise repository sudo sed -i 's/^deb/#deb/' /etc/apt/sources.list.d/pve-enterprise.list # 2. Add the free community no-subscription repository echo "deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription" | sudo tee /etc/apt/sources.list.d/pve-no-subscription.list # 3. Update the package database and upgrade all system packages sudo apt update && sudo apt dist-upgrade -y
3. LXC Containers vs Full Virtual Machines (QEMU)
Proxmox gives you two distinct virtualization technologies:
- LXC (Linux Containers): Shares the host Linux kernel directly with zero hardware emulation. Uses negligible RAM (as little as 30MB baseline), boots in less than 2 seconds, and gives native CPU and I/O speeds. Perfect for Ubuntu servers, Docker hosts, databases, and microservices.
- QEMU Full VMs: Emulates complete virtual motherboards, BIOS, and hardware devices. Required when running non-Linux OS (like Windows Server, pfSense, TrueNAS CORE) or when you require strict kernel isolation and dedicated PCIe GPU passthrough.
4. Spinning Up an Ubuntu 24.04 LXC Container via CLI
You can create and launch containers instantaneously from the Proxmox host shell using the pct utility:
# Update the Proxmox appliance template index pveam update # Download the latest Ubuntu 24.04 standard template pveam download local ubuntu-24.04-standard_24.04-2_amd64.tar.zst # Provision container ID 101 with 2 cores, 2GB RAM, and static IP pct create 101 local:vztmpl/ubuntu-24.04-standard_24.04-2_amd64.tar.zst \ --hostname node-ubuntu \ --cores 2 \ --memory 2048 \ --swap 512 \ --net0 name=eth0,bridge=vmbr0,ip=192.168.1.150/24,gw=192.168.1.1 \ --storage local-lvm \ --onboot 1 # Start the container pct start 101 # Enter the container console pct enter 101
5. Enabling IOMMU & PCIe Hardware Passthrough
To pass a dedicated graphics card (like an NVIDIA RTX or Intel Arc GPU) directly into a virtual machine for hardware transcoding or AI inference, enable IOMMU in the host Linux GRUB loader:
sudo nano /etc/default/grub
Update GRUB_CMDLINE_LINUX_DEFAULT (use intel_iommu=on for Intel or amd_iommu=on for AMD CPUs):
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt"
Save and apply GRUB changes, then add the VFIO kernel modules to /etc/modules:
# Add VFIO drivers cat <<EOF | sudo tee -a /etc/modules vfio vfio_iommu_type1 vfio_pci vfio_virqfd EOF # Update initramfs and GRUB bootloader sudo update-initramfs -u -k all sudo update-grub sudo reboot
dmesg | grep -e DMAR -e IOMMU. If it prints DMAR: IOMMU enabled, hardware virtualization isolation is active.