Proxmox VE Homelab Setup on Lenovo ThinkPad

⏱️ 8 min read πŸ‘οΈ Views: ...

Author profile photo
Koustubha Naik
Cybersecurity Enthusiast β€’ Homelabber β€’ Blogger

Why I Chose the ThinkPad T480 So, why the T480 out of all laptops?

πŸ›‘οΈ Built like a tank – It’s a business-grade machine that can handle long runtimes and daily abuse.

🧠 Decent power – The i7-8650U isn’t a beast, but it’s efficient and powerful enough for multiple VMs and containers.

πŸ’Έ Affordable & available – You can grab one for cheap these days on OLX or refurb sites.

πŸ”§ Upgradeable – Dual RAM slots (mine’s upgraded to 32 GB), replaceable battery, easy SSD swap.

🧊 Runs cool with proper cooling – Especially with an external fan underneath.

Basically, it hits the sweet spot between power, price, and portability β€” which made it perfect for a budget-friendly homelab project. Also… I already had it lying around πŸ˜…


This is a full step-by-step breakdown of how I turned my ThinkPad T480 into a powerful, self-hosted Proxmox lab β€” built for running virtual machines, experimenting with containers, testing tools, and learning hands-on. I didn’t use any flashy hardware or expensive server parts β€” just a solid old laptop, some patience, and a lot of curiosity. Along the way, I dealt with storage quirks, backup setups, and performance tuning to make sure everything ran smoothly. I hit a few bumps, broke a few things, fixed them, and ended up with a clean, stable homelab that I use daily. Here’s how it all went down πŸ‘‡


πŸ’» PC Specs β€” Lenovo ThinkPad T480

Lenovo ThinkPad T480 running Proxmox lab with external SSD

My ThinkPad T480 lab setup β€” running Proxmox, connected to Ethernet, with an external SSD

The entire setup runs on my trusty Lenovo ThinkPad T480, a no-nonsense business laptop that has become a favorite in the homelab community. It’s compact, reliable, and surprisingly powerful for its age.

Under the hood, it packs an Core i7-8650U processor, which provides solid multi-core performance β€” more than enough for running multiple VMs and containers without major slowdowns. I’ve upgraded the RAM to a generous 32 GB, giving Proxmox the breathing room it needs to handle several virtual environments simultaneously.

For storage, I’m running a dual-drive setup:

  • A 256 GB internal SSD for Proxmox and core system files (will upgrade it for later)
  • A 256 GB external SSD connected via USB 3.0, which I use for VM storage, ISO templates, and backups

Despite being a laptop, this combo gives me excellent flexibility and speed. No fancy RAID or NVMe setup here β€” just well-optimized basics that get the job done.

I kept my ThinkPad plugged in at all times and made sure it was slightly propped up to help airflow. But I didn’t stop there β€” I also connected an external laptop cooling fan underneath. Trust me, once you start spinning up multiple VMs or running Docker containers, things heat up fast. A little cooling goes a long way in avoiding thermal throttling right in the middle of your hacking experiments or system updates.


βœ… Proxmox VE Installation














πŸ› οΈ Step 1: Download Proxmox ISO

Proxmox VE ISO Download Page showing version 8.4.1

Official Proxmox website β€” downloading version 8.4.1 via torrent for faster installation

I started by downloading the latest Proxmox VE ISO from the official site. But the direct download speed was honestly painful. Instead, I grabbed the torrent version and used qBittorrent β€” much faster, much smoother. Make sure to grab the latest stable release. This ISO is what you’ll flash to your USB to install Proxmox.

πŸ› οΈ Step 2: Check Disk Partition Style (Windows & Linux)

Before installing Proxmox, it’s important to know whether your disk is using MBR or GPT partitioning. This determines whether you should boot your installer in UEFI or Legacy BIOS mode.

πŸ’» On Windows:

  • Press Win + X β†’ Open Disk Management
  • Right-click your main disk β†’ Properties β†’ Volumes
  • Check the Partition Style β€” it will say GPT or MBR

🐧 On Linux:

Open a terminal and run:

sudo parted -l

Look for a line like:

Partition Table: gpt

or:

Partition Table: msdos

πŸ”Ή gpt β†’ use UEFI boot
πŸ”Ή msdos β†’ use Legacy boot

Knowing this helps avoid boot issues during install. I personally double-checked mine before flashing Proxmox so I could set the right boot mode in BIOS.


πŸ› οΈ Step 3: BIOS Configuration

Before flashing Proxmox, I rebooted into the BIOS setup by pressing F1 (or DEL, varies by laptop).

Here’s what I enabled or changed:

  • βœ… Enabled Virtualization (VT-x / AMD-V)
  • βœ… Disabled Secure Boot
  • βœ… Set Boot Mode to UEFI or Legacy based on disk style

Without these changes, Proxmox might not boot properly or your VMs won’t run.


πŸ› οΈ Step 4: Create Bootable USB

Rufus configuration for flashing Proxmox ISO to USB

Rufus settings used to flash proxmox-ve_8.4-1.iso to USB using GPT and UEFI (non CSM)

⚠️ Starting this will erase all data on the selected USB drive.

I used Rufus to create a bootable USB stick using the Proxmox ISO.

Steps:

  • Plug in an 8GB+ USB drive
  • Open Rufus β†’ Select ISO file
  • Use the correct partition scheme (MBR or GPT depending on your BIOS mode)
  • Flash!

Once done, I used the F12 boot menu on my ThinkPad to boot from the USB.


πŸ› οΈ Step 5: Install Proxmox to SSD

Proxmox VE installer boot menu showing installation options

Booted from USB β€” Proxmox VE 8.4 installer showing options for graphical or terminal-based setup

I selected my internal SSD as the install target β€” and yes, ⚠️ this erased everything on it.

Then I set:

  • Timezone
  • Root password (don’t forget this!)
  • Static IP address

Once complete, it rebooted and showed me a message to access Proxmox via:

https://<your-ip>:8006

Ignore the SSL warning and continue β€” you’ll land on the Proxmox dashboard.

Proxmox VE web interface showing terminal shell access after login

First login into Proxmox Web UI β€” accessed the root shell to update packages and configure networking


πŸ› οΈ Step 6: Post-Install Cleanup

Right after logging into the dashboard:

  • I removed the default enterprise repo to avoid subscription nags
  • Added the no-subscription repo
  • Ran a full system update from the shell using:
apt update && apt full-upgrade -y
reboot

After reboot, my system was clean, updated, and ready to spin up VMs πŸ”₯


πŸ› οΈ Fix Proxmox Repo Error After Fresh Installation

After running apt update right after installing Proxmox VE, you might see this error:

E: Failed to fetch https://enterprise.proxmox.com/... 401 Unauthorized

πŸ€” Why This Happens

Proxmox by default enables the Enterprise Repository, which is meant for users with a paid subscription. If you’re using Proxmox for personal or homelab use (without a subscription), you’ll need to switch to the No-Subscription Repository.

βœ… Fix: Use No-Subscription Repository

sed -i 's/^deb/#deb/g' /etc/apt/sources.list.d/pve-enterprise.list
echo "deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription" > /etc/apt/sources.list.d/pve-no-subscription.list
apt update && apt full-upgrade -y

🧹 Optional: Disable Ceph Enterprise Repo

Why disable the Ceph Enterprise repo? Because you’re not using it, and it needs a paid plan. If you leave it on, you’ll get errors when updating. So turning it off just avoids useless problems. βœ…

nano /etc/apt/sources.list.d/ceph.list
# Comment out:
#deb https://enterprise.proxmox.com/debian/ceph-quincy bookworm enterprise

πŸ’Ύ Reclaim Full Internal SSD for VM Storage

By default, Proxmox splits your SSD into two parts β€” one for the system and one for VMs. But if you’re using an external SSD for VMs, the internal one’s VM space is just sitting there, wasted. 😬 So we delete that extra part and give all the space to the system β€” simple and clean. βœ…

lvremove /dev/pve/data
lvresize -l +100%FREE /dev/pve/root
resize2fs /dev/mapper/pve-root

πŸ”Œ Connect & Configure External SSD for VM Storage

Why I did this:

To save space on my internal SSD and keep things organized. Instead of putting VMs, backups, and ISOs on the main drive, i moved them to an external SSD.

βœ… Keeps the system clean
βœ… Gives more storage for VMs
βœ… Easier to manage everything

In short: I used the external SSD to handle the big stuff, so my main drive doesn’t get full or messy.

Format & Mount:

mkfs.ext4 /dev/sdb
mkdir /mnt/externalssd
mount /dev/sdb /mnt/externalssd
blkid /dev/sdb  # Get UUID
nano /etc/fstab
# Add:
UUID=xxxx /mnt/externalssd ext4 defaults 0 0

Add to Proxmox GUI:

  • Datacenter β†’ Storage β†’ Add β†’ Directory

Optional: LVM-Thin on External SSD

It helps you save space and create copies of VMs faster.

Normally, if you make 3 copies of a 20GB VM, it uses 60GB. With LVM-Thin, the copies share space β€” like magic ✨ β€” so it uses much less.

βœ… Good if you make/test lots of VMs
βœ… Makes cloning and snapshots faster and lighter

In short: You’d set this up if you want to do more with less space. If not doing that, you can skip it πŸ™‚

wipefs -a /dev/sdb
pvcreate /dev/sdb
vgcreate external-vg /dev/sdb
lvcreate -l 100%FREE -T external-vg/external-thin

Add it via GUI as LVM-Thin.


😴 Prevent Sleep on Lid Close

I guess u get y this one is for πŸ™ƒ

nano /etc/systemd/logind.conf
# Change:
HandleLidSwitch=ignore
systemctl restart systemd-logind

🧯 Fix for Console Error

TASK ERROR: command '/usr/bin/termproxy ...' failed: exit code 1
systemctl restart pveproxy

🎯 Final Recap

βœ… Installed and updated Proxmox VE
βœ… Fixed repository issues
βœ… Merged internal SSD partitions
βœ… Mounted external SSD
βœ… Enabled LVM-Thin if needed
βœ… Prevented sleep on lid close
βœ… Fixed console terminal issue


πŸ™ Thank You!

Appreciate you making it this far πŸ˜„
I’ll be adding more homelab projects and things I built on top of this soon β€” from cybersecurity labs to automation setups.
This is just the start πŸ’»βœ¨