Skip to main content

Installing Proxmox VE 9 on a Server: Step-by-Step Guide

Proxmox VE · 19.04.2026 · 4 min read
Illustration for “Installing Proxmox VE 9 on a Server: Step-by-Step Guide”

Installing Proxmox VE 9 takes about 20 minutes on a physical server or on a dedicated VDS with nested virtualization support. In this guide we will walk through the whole process, from downloading the ISO to the first login to the web interface.

Step 1: Downloading the ISO image

Download the official ISO from the Proxmox website:

https://www.proxmox.com/en/downloads/proxmox-virtual-environment/iso

The current version is Proxmox VE 9.0 (the file is about 1.2 GB). Verify the SHA256 checksum after downloading.

Step 2: Creating a bootable USB

On Linux/macOS use dd:

# Find the USB device
lsblk

# Write the ISO (replace /dev/sdX with your USB)
dd if=proxmox-ve_9.0-1.iso of=/dev/sdX bs=1M status=progress

On Windows use Rufus or Balena Etcher.

Warning: Proxmox VE formats the entire disk during installation. All data on the target disk will be destroyed.

Step 3: The installation process

  1. Boot from the USB and select Install Proxmox VE (Graphical)
  2. Accept the license agreement
  3. Select the target disk for the installation
  4. Choose the Filesystem: ZFS (RAID-1) is recommended if you have two disks

Step 4: Network configuration

ParameterDescriptionExample
Management InterfaceNetwork adapter used for managementeno1
Hostname (FQDN)Fully qualified host namepve1.example.com
IP Address (CIDR)IP with netmask192.168.1.100/24
GatewayDefault gateway192.168.1.1
DNS ServerDNS server8.8.8.8

Step 5: Finishing the installation and the first login

After the reboot, open in your browser:

https://IP-ADDRESS:8006

Login: root, password — the one you set during the installation. The browser will show a warning about the self-signed certificate — this is normal.

Initial setup: After logging in we recommend updating the system right away through the Shell in the web interface or over SSH:
apt update && apt dist-upgrade -y

Disabling the no-subscription notice

If you do not use a paid subscription, remove the daily pop-up window:

sed -i.bak "s/data.status !== 'Active'/false/"   /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
systemctl restart pveproxy

Adding the no-subscription repository

# Disable the enterprise repository
echo "# disabled" > /etc/apt/sources.list.d/pve-enterprise.list

# Add the free repository
echo "deb http://download.proxmox.com/debian/pve trixie pve-no-subscription"   > /etc/apt/sources.list.d/pve-no-subscription.list

apt update && apt dist-upgrade -y

Installation and first-login problems

Three situations that cause a new node's installation to fail on the first attempt — all three are more common on non-standard hardware or inside virtualization than on a plain server with a single pair of disks.

Waiting for /dev to be fully populated ...
error: no such device: root
This site can't be reached - connection refused (https://IP:8006)
  • Waiting for /dev to be fully populated: typical on servers with hardware RAID or NVMe in passthrough mode inside nested virtualization. Wait a minute or two, or rebuild the initramfs after the first boot: update-initramfs -u.
  • no such device: root (grub rescue): the bootloader is installed on a different disk than the one marked bootable in the BIOS/UEFI, or one of the ZFS mirror disks is disconnected. Check the boot order and reinstall the bootloader on every mirror disk: proxmox-boot-tool init /dev/sdb2.
  • connection refused on :8006: pveproxy is not running, or the network interface selected during installation is not up. Log in through the local console and check systemctl status pveproxy and ip a.

When the standard installation is not the right fit

The standard installer expects bare metal with direct disk access — three cases require a different approach.

  • A server with a hardware RAID controller and no HBA/JBOD mode: the installer will not see individual disks for ZFS — switch the controller to HBA mode, or use ext4/LVM on top of the ready-made array.
  • Virtualization inside a cloud provider without nested virtualization enabled: KVM will not start inside the VM. Before installing, check egrep -c '(vmx|svm)' /proc/cpuinfo — a zero means you need to enable nested virtualization with the provider.
  • Moving between major versions (for example, 8 to 9): use apt dist-upgrade following the official procedure, not a clean reinstall — otherwise VM configurations and cluster keys are lost.

Verifying the installation result

# Version and status of key services
pveversion -v
systemctl status pve-cluster pvedaemon pveproxy

# Local web interface availability
curl -k -I https://127.0.0.1:8006

# ZFS pool state, if ZFS was chosen during installation
zpool status

If all three services are active, curl returns HTTP/1.1 200 OK, and the ZFS pool is ONLINE, the installation completed correctly. The next step is creating your first VM, covered in creating a virtual machine.

Was this article helpful?
← Back to Knowledge Base Ask Support