There’s no Proxmox recovery mode — not like Windows has. If you broke something and you’re looking for that one button that undoes it, stop. What you actually have is three separate mechanisms: ZFS snapshot rollback, restoring config files from backup, and a GRUB rescue boot. Each one fixes a different kind of mistake, and using the wrong one just wastes your evening.

Figure out what you actually broke
Before you roll anything back, know what changed. Did you edit a config file? Install a bad package? Delete a VM disk? The fix depends on that. Proxmox stores almost everything in /etc/pve — VM configs, storage definitions, network setup. Those are plain text files and they’re backed up automatically every day to /var/lib/pve-backup. If your mistake is in there, you don’t need snapshots.
ZFS snapshot rollback for VM and container data
If you’re on ZFS and you snapshotted the dataset before you messed with it, rollback is the fastest fix. List snapshots with zfs list -t snapshot. Find the one from before the mistake, then roll back:
zfs rollback pool/vm-100-disk-0@before-mistake
That restores the disk to that point. It’s instant, but it destroys any data written after the snapshot. If you need to keep the current state, clone the snapshot instead and boot from that. For a whole VM, you can also use Proxmox’s built-in snapshot feature from the web UI — same idea, just clicky.

Restore config files from the daily backup
For config mistakes, go to /var/lib/pve-backup. There’s a tar file per day. Extract the file you need:
tar -xzf /var/lib/pve-backup/pve-backup-2024-12-01.tar.gz etc/pve/qemu-server/100.conf
Then copy it back over the broken one and restart the VM or service. This covers network configs, storage.cfg, user.cfg, everything in /etc/pve. If you edited something and the web UI won’t load, this is your fix.
GRUB rescue boot for when the host won’t start
If the host itself won’t boot — bad kernel, broken initramfs, whatever — you need GRUB. Reboot and hold Shift to get the menu, then edit the boot entry. Add init=/bin/bash to the kernel line and boot. That drops you into a root shell with no services running. From there you can fix the config, reinstall the kernel, or roll back a ZFS snapshot manually. It’s not a recovery mode, it’s just a rescue shell. But it’s often enough.
Which one to use
Deleted a file or broke a VM disk? ZFS snapshot. Changed a config and now the web UI is dead? Restore from /var/lib/pve-backup. Host won’t boot at all? GRUB rescue. Don’t mix them up. And if you don’t have snapshots or backups, well — that’s the real mistake. Set up automatic snapshots and keep the daily config backups. They’re already there by default, just don’t delete them.
If you’re debugging a host that crashes often, check how to debug Proxmox host crashes — it’s a different problem, but related.