How to Upload an ISO Image to a Proxmox Server (Quick and Dirty)
You’ll learn the fastest ways to get that ISO into your Proxmox storage pool, why each step matters, and how to avoid common hiccups. No fluff—just straight‑up instructions.
Step 1: Pick the Right Storage Target
Before you even touch a file, decide where it belongs. If you’re running multiple VMs that need fresh OS images, put them in the “local‑lvm” pool or any dedicated ISO storage directory. Proxmox will refuse to serve an ISO from a non‑ISO volume, and you’ll waste time debugging permissions later.
Step 2: Get the ISO in Your Toolkit
Most people use the web UI, but I’ve seen folks hit snags when uploading large files through the browser—timeouts, broken transfers. If your ISO is over 4 GB or your connection isn’t rock‑solid, grab SSH and use scp instead:
scp /path/to/windows10.iso root@proxmox.example.com:/var/lib/vz/template/iso/
SSH gives you a reliable channel with automatic retries. The web UI is fine for quick 100 MB images, but for anything bigger, the command line wins.
Step 3: Upload via Proxmox Web Interface (When the GUI Works)
1. Log into the Proxmox dashboard.
2. Navigate to Datacenter => Storage => <your‑storage> and click Upload.
3. Choose ISO image as the type, then pick your file.
The UI will validate the ISO’s checksum on the fly; if it fails, you’ll know immediately whether the source was corrupted—no guesswork.
Step 4: Verify the Upload
Run:
ls -lh /var/lib/vz/template/iso/
and check the size. A common mistake is forgetting to refresh the web view; Proxmox’s “Refresh” button can be misleading—always double‑check with ls. If the file looks right, you’re good.
Step 5: Use the ISO in a VM
1. Create or edit a VM.
2. Under Hardware => CD/DVD Drive, select ISO image and pick your newly uploaded file.
3. Boot the VM; it should read the disk and start installing.
If the installer complains that the ISO is corrupt, remember: I once uploaded an “official” Windows 10 ISO that had a half‑downloaded chunk left over from a bad mirror. The VM booted into a black screen with no error message—only after I re‑uploaded the file did it work. Always double‑check the source.
When to Skip the Web UI
If you’ve got a large ISO collection or run automated deployments, consider mounting the storage pool as NFS or using rsync. The web upload is handy for one‑offs, but not a scalable workflow.
That’s it. You’ve got your ISO in Proxmox and ready to spin up fresh VMs without wrestling with timeouts or permission errors.