What you will set up
A file backup brings back documents; a disk image brings back the whole machine: partition table, boot partitions, Windows, programs, settings and data. BackupZit takes images from a VSS snapshot while Windows runs, stores only used and changed blocks, and restores them from a recovery ISO onto a new disk — so a server with a failed disk, ransomware or a broken update is running again without reinstalling. BackupZit is free and open source (AGPLv3).
What you need
- A BackupZit console — a small Linux VM (2 vCPU, 2–4 GB RAM, 16–20 GB disk) from the ready-made image on the download page, or the install script on an existing Debian, Ubuntu, AlmaLinux or Rocky Linux server.
- Backup storage on another machine: SFTP, an SMB share on a NAS, an S3-compatible bucket, Azure Blob Storage or a BackupZit hardened repository.
- The Windows machines to protect: Windows 10, 11 and Windows Server 2016 or newer; Windows 7 SP1, Server 2008 R2 SP1 and 2012 R2 through the legacy agent, with the same image features.
- Once, a Windows PC with the free Windows ADK to build the recovery ISO (step 3), and a USB stick.
Step 1 — Install the agent
- In the console open Agents and click Create enrollment token. You get an enrollment code (
BZ1-…), valid for 7 days, for any number of machines. - On each machine run the Windows agent MSI from the Agents page and paste the code. For many machines use a silent install through GPO, Intune or an RMM tool:
Or let the console install it over WinRM: Agents → Install on a machine from here.msiexec /i backupzit-agent.msi /qn ENROLLCODE="BZ1-..." - Within a minute the machine appears on the Agents page with its disks.
Step 2 — Create the image job
- Open Backup jobs, create a job for the machine and choose Disk image.
- Choose All disks to image every internal disk in one job — disks added later are included — or tick a single disk, whole or only some partitions (for example skip a large data partition that a file job already covers).
- Pick the storage target, a schedule and the retention. A common combination: a weekly or nightly image plus daily file backups.
How it works:
- All volumes of all disks are read from one VSS snapshot, so the disks are consistent with each other — for example a database on D: with its logs on E:.
- Only used blocks are read (the NTFS allocation map), and blocks that are already in the repository are not uploaded again. The second image of the same machine usually uploads only a few percent.
- Backups are encrypted with AES-256 on the machine before they leave it. Keep the recovery key the console shows away from the backups.
- USB and SD disks, mounted VHD/VHDX files and removable media are left out of All disks, so an external backup disk does not image itself.
Automatic restore tests (weekly by default, under Settings → Restore tests) read random blocks of the newest images and verify them against their checksums.
Step 3 — Build the Windows recovery ISO once
Windows PE may not be redistributed, so the recovery ISO is built once on any Windows 10/11 or Server PC:
- Install the free Windows ADK (feature Deployment Tools) and the Windows PE add-on from Microsoft.
- Download
build-winpe.ps1from the release page and copybackupzit-agent.exefromC:\Program Files\backupzit Agentof a machine with the agent. - In an administrator PowerShell:
Add.\build-winpe.ps1 -AgentExe .\backupzit-agent.exe -Out .\backupzit-recovery.iso-DriverDir C:\Driversfor storage or network drivers (for example VirtIO for Proxmox VMs) and-RecoveryJson .\recovery.jsonso the recovery system connects without typing. - Optionally copy the ISO to the console's
/var/lib/backupzit/dist; it is then offered on the Recovery media page.
Write the ISO to a USB stick with Rufus (ISO mode) or balenaEtcher. On Recovery media you can Create recovery code and download recovery.json; copied into a backupzit folder on the stick, it lets the machine connect to the console without typing. Test the stick once on a spare PC or VM — not on the day you need it.
Linux machines are protected with a Linux system job instead of a disk image; their recovery ISO (backupzit-recovery-linux.iso) is published with every release.
Step 4 — Restore onto an empty disk
- Boot the machine from the recovery stick. It starts the agent in recovery mode and connects to the console (or asks for the server address and the recovery code).
- The machine appears as a recovery agent with its disks, on the Recovery media page and under Agents.
- Open the image backup in Activity and choose Restore this image to a disk.
- For Restore on agent select the recovery agent, for Target disk its new disk — at least as large as the used area of the original. All data on the target disk is destroyed; confirm.
- When the run has finished, remove the stick and restart.
GPT and MBR disks, UEFI and BIOS boot are supported. The partition layout and IDs are recreated, so the restored disk boots as before. With All disks, restore one disk at a time: the system disk first, then the others.
The same form also restores onto a spare disk of a running machine. Tick Leave the disk offline afterwards when the original disk is in the same machine, so Windows does not change the disk IDs of the copy.
Restoring to different hardware
Windows starts only with a driver for the disk controller it boots from. An image of a PC with an Intel controller therefore stops with INACCESSIBLE_BOOT_DEVICE on an AMD board, an NVMe drive or in a VM. Tick Restore to different hardware and BackupZit prepares the restored Windows after writing the image:
- The built-in Windows drivers for common disk controllers start at boot again: AHCI/SATA, NVMe, Intel RST, LSI/Broadcom/Dell PERC SAS and RAID, HPE Smart Array, Hyper-V and VMware.
- Extra drivers are added with DISM: those on the recovery ISO and the folders you enter under Additional drivers — for example the storage and network drivers of the new mainboard on a USB stick (
E:\Drivers; subfolders are searched). - The boot files are rebuilt for the new machine (
bcdboot).
The run page lists the drivers that were enabled and added. Windows detects the remaining new devices at the first start; activation may ask to be repeated on new hardware.
Physical to virtual: restore into Proxmox VE or Hyper-V
A disk image is also the simplest way to move an old physical server into a VM, or to test that your images really boot:
- Proxmox VE: create a VM with OVMF (UEFI) for GPT disks or SeaBIOS for MBR disks, a VirtIO SCSI disk at least as large as the original and a VirtIO network card. Attach the recovery ISO (built with the VirtIO drivers) and restore with Restore to different hardware.
- Hyper-V: create an empty VM disk at least as large as the original — generation 2 for UEFI/GPT, generation 1 for BIOS/MBR — boot the VM from the recovery ISO and restore with Restore to different hardware.
Single files from an image
You don't need a full restore to get one folder back. The image run lists every disk with its partitions; click Browse files to browse NTFS volumes, download files (several as a ZIP) or restore them into a folder on any agent. Browsing in the console needs the backup on network storage (SFTP, S3, SMB, Azure or a hardened repository).
Limits to know
- Disk images are for Windows (NTFS volumes, GPT and MBR disks). For Linux machines use a Linux system job.
- The target disk must be at least as large as the used area of the original.
- Restoring between UEFI and legacy BIOS is not possible — the target must boot the same way as the original.
- The Windows recovery ISO has to be built once yourself with the Windows ADK, because Windows PE may not be redistributed.
Next steps
Download BackupZit, see the disk image features, or read the chapters Disk images & bare-metal recovery and Restoring in the user guide in the console. Virtual machines are covered in the guides for Proxmox VE and Hyper-V. Questions are welcome in GitHub Discussions; companies can get commercial support from MaxZit.