---
title: "Proxmox VE — Install & Setup from Scratch (2025)"
aliases: [proxmox-setup, proxmox-install, pve-setup]
tags: [proxmox, homelab, hypervisor, virtualization, iommu, pci-passthrough]
sources: ["raw/Установка и настройка Proxmox в 2025 году от А до Я (установка и подготовка к работе с нуля).md"]
created: 2026-04-15
updated: 2026-04-15
---

## Overview

Complete walkthrough for installing Proxmox VE 8.x on bare metal and preparing it for VM/LXC workloads — without helper scripts. All commands manually applied so you understand what's happening under the hood.

**Source:** [YouTube — ProHomelab](https://www.youtube.com/watch?v=Tc-pjSD9uw8) | [GitHub commands repo](https://github.com/stilicho2011/ubuntu_rep/tree/main/proxmox%20iommu%20enabling%20and%20pci(e)%20passthrough/HDD%20passing)

---

## 1. Creating the Boot USB

- Use **Balena Etcher** — more reliable than Ventoy/Rufus for Proxmox ISOs (early 8.x had boot issues with those)
- NVIDIA GPU on the host may cause graphical glitches during install — switch to **Terminal UI** mode if needed
- If no IP is auto-assigned via DHCP, set it manually in the network step

---

## 2. Installation

- **Filesystem:** Choose **ext4** for beginners; **ZFS** only if you need clustering/replication and understand its RAM usage behaviour
  - ZFS uses RAM aggressively by design (not a "leak") — it's fast because of this
  - ZFS can also wear out SSDs faster without tuning (write amplification)
- Set root password + any email (can be fake) during install
- Default gateway = your router IP; DNS = router IP or preferred resolver
- Access UI after reboot at `https://<IP>:8006`

---

## 3. Repository Switching (free tier)

Proxmox ships pointed at the paid **Enterprise** repo. Switch to the free **no-subscription** repo:

### Via UI
`Node → Updates → Repositories` — disable enterprise, add no-subscription

### Via SSH / Shell

```bash
# Check DNS is correct
nano /etc/resolv.conf

# Add no-subscription + security repos
nano /etc/apt/sources.list
# Add:
# deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription
# deb http://security.debian.org bookworm-security main contrib

# Disable enterprise repo
nano /etc/apt/sources.list.d/pve-enterprise.list
# Comment out the deb line

# Disable Ceph enterprise repo (not needed without cluster)
nano /etc/apt/sources.list.d/ceph.list
# Comment out the Enterprise line

# Update + upgrade
apt update && apt upgrade -y

# Reboot after significant kernel updates
reboot
```

---

## 4. IOMMU / PCI Passthrough Preparation

Required to pass physical devices (GPU, HBA, NIC) into VMs in full isolation.

### Step 1 — Enable IOMMU in GRUB

```bash
nano /etc/default/grub
```

Find `GRUB_CMDLINE_LINUX_DEFAULT` and append:

| CPU vendor | Value to add |
|-----------|-------------|
| AMD | `amd_iommu=on iommu=pt` |
| Intel | `intel_iommu=on iommu=pt` |

> `iommu=pt` (passthrough mode) is optional for AMD but harmless to include.

Update bootloader:
```bash
update-grub
```

### Step 2 — Load IOMMU kernel modules

```bash
nano /etc/modules
```

Add (Linux kernel ≥ 6.2 — **3 modules only**, not 4):
```
vfio
vfio_iommu_type1
vfio_pci
```

```bash
update-initramfs -u -k all
reboot
```

### Step 3 — Verify IOMMU is active

```bash
dmesg | grep -e DMAR -e IOMMU
```

Look for: **`Interrupt remapping enabled`** — confirms IOMMU groups are active.

---

## 5. Disable Subscription Nag Popup

The popup appears on every login without an Enterprise subscription. Remove it:

```bash
# One-liner (see GitHub repo for exact command)
sed -Ezi.bak "s/(Ext.Msg.show\(\{.*?title: gettext\('No valid sub)/void\(\{ \/\/\1/g" \
  /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
systemctl restart pveproxy
```

Verify by opening a fresh private/incognito browser session — popup should be gone.

---

## 6. Storage Overview (defaults)

| Store | Purpose |
|-------|---------|
| `local` | ISO images, CT templates, backups |
| `local-lvm` | VM disks, CT volumes (LVM thin) |

---

## Key Takeaways

- **Balena Etcher** is the safest USB writer for Proxmox ISOs
- **ext4** for beginners, **ZFS** only if you know what you're doing (RAM usage + SSD wear)
- Always switch from enterprise → **no-subscription** repos right after install
- **IOMMU** must be enabled in GRUB + kernel modules loaded before GPU/HBA passthrough works
- Kernel ≥ 6.2 needs only **3 vfio modules** (not 4 as in older guides)
- The subscription nag popup is cosmetic only — one sed command removes it
- Ceph repo can be disabled if you're not running a cluster

---

## Related

- [[wiki/architecture/_index|Architecture Patterns]] — Docker Compose & multi-host infra patterns
- [[wiki/homelab/_index|Homelab Index]] — other homelab topics

---

## Sources

- Video: *Установка и настройка Proxmox в 2025 году от А до Я* — ProHomelab (2025-04-05)
- GitHub: `stilicho2011/ubuntu_rep` — proxmox iommu enabling and pci(e) passthrough
