Backup entire windows system

Hello there

In the past few days I’m trying restic for backup a whole Windows Computer.
But I can’t find on docs how would I backup whole Windows computer, including additional drives letters.
In fact, I don’t really need to backup C: drive, but all others drives are important to me. That computer has many usb external drives and, from time to time, they are replaced for new ones with a lot of files on them.

How can I backup all drives ?

Is the following the only way?

restic -r sftp:user@my_backup_server:repo d:\ e:\ f:\ g:\ h:\ i:\ j:\ k:\ l:\ m:\ n:\ o:\ p:\ q:\ r:\ s:\ t:\ u:\ v:\ w:\ x:\ y:\ z:\

Thanks in advance!

You need to pass each drive to restic, yes. You can use wmic logicaldisk get caption or fsutil fsinfo drives from a batch script to get the drives in the system. The output of both is somewhat machine-friendly.

Alternative options:

  • Use NTFS junction points to link all of the drives you want to back up into a single directory somewhere under the C drive, then point restic at that directory.
  • Mount the drives directly on paths like you would do in Linux. I believe you can do this from the GUI Disk Management control panel. (Right-click partition > change drive letter and paths > add > mount in the following empty NTFS folder)

Many thanks for your time and your help!

That is a good choice, but I’ll have to write some scripts, since harddrives will be plugged in and off over time.

I think that is not feaseable, since the user of the computer don’t have many computer administrative knowledge.

I’m trying to backup in the mostly automated way, without user intervention. I’m testing your suggestions and checking if is good for my needs.

Thanks again!

My method is to use a separate restic backup repository for each drive. The disk which holds the backups has a separate directory for each restic directory. I also use separate directories for the cache of each repository. By using a PowerShell script a bunch of the directory names are variables. I have no idea how a script would know which of the drives are connected.

I’ve done some work to add multiple and external drive support to my backup scripts here:

There might be something you could re-use there to discover and then backup all mounted drives, but not throw tons of errors when one is/isn’t there.