Sometimes it can happen that you only need individual files from a Proxmox VM backup that you hopefully have performed regularly.
Once you know how to do it, it’s actually quite simple to restore Proxmox Backup.
How To Restore Proxmox Backup (manually)
First, you unpack the backup archive to a folder of your choice.
The source path and file name must of course, be adapted to the respective circumstances, and the target directory must already exist, regardless of the compression method used.
If you use gzip archives, the call looks like this.
gzip -dc /mnt/sdb/dump/vzdump-qemu-100-2022_04_22-04_00_00.vma.gz > /var/lib/vz/dump/vzdump-qemu-100-2022_04_22-04_00_00.vma
The “c” option indicates that the archive should be preserved.
If you use the Zstandard (zstd) compression method, the command looks like this.
zstd -d /mnt/sdb/dump/vzdump-qemu-100-2022_04_22-04_00_00.vma.zst -o /var/lib/vz/dump/vzdump-qemu-100-2022_04_22-04_00_00.vma
Now the vma archive must also be unpacked to get a raw file.
vma extract /var/lib/vz/dump/vzdump-qemu-100-2022_04_22-04_00_00.vma -v /var/lib/vz/dump/vm-1001
Only the name of the drive that is to be mounted is of interest.
You can now display the individual partitions on the drive to know which ones to mount.
From Proxmox 7 gdisk is installed by default, with previous versions fdisk. The call options are identical for gdisk and fdisk.
Boot, swap, and root partitions are traditional but reliable.
Now the root partition should be mounted.
It should be noted that, depending on the partition to be mounted, its start sector must be specified in the mount command. The sector size must also be specified. If not already done, the target directory is created first.
# mkdir /mnt/vm-1001 # mount /var/lib/vz/dump/vm-1001/vm-1001-disk-0.raw -o offset=$((2361344*512)) /mnt/vm-1001
The root partition of the backup is then mounted under /mnt/vm-1001 and you start vm normally.