github marcpope/borg-windows v1.4.4-win5

latest releases: v1.4.5-win1, v1.4.4-win7, v1.4.4-win6...
7 months ago

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 1

For 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 1

Bug fixes in this release:

  1. --strip-components was completely broken on Windows — Archive paths use forward slashes (/), but the strip logic split on os.sep (backslash on Windows), causing all items to be silently skipped.

  2. Extract path patterns didn't match on Windows — All pattern classes (PathPrefixPattern, PathFullPattern, FnmatchPattern, ShellPattern) used os.path.normpath and os.path.sep, which convert forward slashes to backslashes on Windows. So borg extract repo::archive C/Users/marcp/file.png would 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 1 on extract to remove the drive letter folder

What does NOT work:

  • borg mount (no FUSE on Windows — use borg extract or borg 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.

Don't miss a new borg-windows release

NewReleases is sending notifications on new releases.