Borg Backup 1.4.4 - Native Windows Build (Preview 5)
Restoring files to their original location
Windows drive letters are stored as the first path component in archives (e.g. C:\Users\marcp\file.txt becomes C/Users/marcp/file.txt). To restore files back to their original location, use --strip-components 1 to remove the drive letter folder:
cd C:\
borg.exe extract /path/to/repo::archive --strip-components 1For multi-drive backups, extract each drive separately:
cd C:\
borg.exe extract /path/to/repo::archive C --strip-components 1
cd D:\
borg.exe extract /path/to/repo::archive D --strip-components 1Bug fixes in this release:
-
--strip-componentswas completely broken on Windows — Archive paths use forward slashes (/), but the strip logic split onos.sep(backslash on Windows), causing all items to be silently skipped. -
Extract path patterns didn't match on Windows — All pattern classes (
PathPrefixPattern,PathFullPattern,FnmatchPattern,ShellPattern) usedos.path.normpathandos.path.sep, which convert forward slashes to backslashes on Windows. Soborg extract repo::archive C/Users/marcp/file.pngwould never find a match. Fixed by normalizing all pattern separators to/to match archive paths.
All changes in this Windows fork:
- Native Windows NTFS ACL backup/restore (SDDL-based)
- MSVC build support
- Remote SSH repository support on Windows
- Forward-slash path normalization in archives (cross-platform portable)
- Drive letter stored as first path component (e.g.
C/Users/...) - Use
--strip-components 1on extract to remove the drive letter folder
What does NOT work:
borg mount(no FUSE on Windows — useborg extractorborg export-tar)- xattrs, BSD flags, special files (not applicable on Windows)
Usage:
Download and extract borg-windows.zip. Run borg.exe from the extracted folder. No Python installation required.