Looking for a Windows HOWTO

“not unsupported”? Double negation?

If restic cannot backup all type of files, then restic is not a solution for our Windows user.

They expect that all files will be backed up, like with IBM Storage Protect.

my suggestion was that you use the information in that issue to determine whether the files in your case are of that same type as in this issue,

I do not know how to determine a Windows file type and even if: this would not help me, because as you said: restic cannot backup these files. This is a show stopper. My boss will not accept restic as a generic backup solution.

find a colleague or similar that knows more about Windows

I have only Windows users colleagues, no one with deep knowhow. We offer no Windows client help for the institutes, we run the campus network and the (UNIX) servers. That’s it.

These are not files but in your example most likely reparse points (shortcuts/launchers). Restic can only backup regular files.

Other question would be why you are trying to backup such objects. You won’t be able to restore full working system from restic backup anyway.

So either just exclude them and focus on user data (Documents, Desktop etc.) or indeed you need some other program.

Restic is files’ backup program and not full OS backup one. Pure files approach works quite fine with UNIX but indeed on Windows with its quirks and oddities can be limited if you require more than user data backup.

What version of restic are you using? run “restic version” to find out.

The Windows unsupported file type was fixed in version 0.17.2 see irregular files. Note also that this shows up for cloud linked files ex Google Drive, Windows OneDrive, Dropbox. For myself, I exclude all AppData\Local\Microsoft\WindowsApps\** but that is a personal choice because I do not need a whole bunch of windows’ junk inflating the size of my backups.

I am using restic 0.19.1 and I have only local files, nothing remote mounted.

The size of the backup is no problem, because my rest-server has enough space.

Why cannot restic backup AppData\Local\Microsoft\WindowsApps\* ?

I already linked you to an issue where there’s a link to a Microsoft article and an example of using fsutil to inspect the file(s) in order to collect more information that would help understanding the situation and those files in particular. You never responded in a way that in any way suggested that you tried doing this. Hence you may have missed out on some information that would help to understand the situation.

Do you mean Frequent `unsupported file type "irregular"` messages on what I think are normal files · Issue #4704 · restic/restic · GitHub ?

C:\>fsutil reparsepoint query C:\Users\admin\AppData\Local\Microsoft\WindowsApps\python.exe
Reparse Tag Value : 0x8000001b
Tag value: Microsoft

Reparse Data Length: 0x1ce
Reparse Data:
0000:  03 00 00 00 4d 00 69 00  63 00 72 00 6f 00 73 00  ....M.i.c.r.o.s.
0010:  6f 00 66 00 74 00 2e 00  44 00 65 00 73 00 6b 00  o.f.t...D.e.s.k.
0020:  74 00 6f 00 70 00 41 00  70 00 70 00 49 00 6e 00  t.o.p.A.p.p.I.n.
0030:  73 00 74 00 61 00 6c 00  6c 00 65 00 72 00 5f 00  s.t.a.l.l.e.r._.
0040:  38 00 77 00 65 00 6b 00  79 00 62 00 33 00 64 00  8.w.e.k.y.b.3.d.
0050:  38 00 62 00 62 00 77 00  65 00 00 00 4d 00 69 00  8.b.b.w.e...M.i.
0060:  63 00 72 00 6f 00 73 00  6f 00 66 00 74 00 2e 00  c.r.o.s.o.f.t...
0070:  44 00 65 00 73 00 6b 00  74 00 6f 00 70 00 41 00  D.e.s.k.t.o.p.A.
0080:  70 00 70 00 49 00 6e 00  73 00 74 00 61 00 6c 00  p.p.I.n.s.t.a.l.
0090:  6c 00 65 00 72 00 5f 00  38 00 77 00 65 00 6b 00  l.e.r._.8.w.e.k.
00a0:  79 00 62 00 33 00 64 00  38 00 62 00 62 00 77 00  y.b.3.d.8.b.b.w.
00b0:  65 00 21 00 50 00 79 00  74 00 68 00 6f 00 6e 00  e.!.P.y.t.h.o.n.
00c0:  52 00 65 00 64 00 69 00  72 00 65 00 63 00 74 00  R.e.d.i.r.e.c.t.
00d0:  6f 00 72 00 00 00 43 00  3a 00 5c 00 50 00 72 00  o.r...C.:.\.P.r.
00e0:  6f 00 67 00 72 00 61 00  6d 00 20 00 46 00 69 00  o.g.r.a.m. .F.i.
00f0:  6c 00 65 00 73 00 5c 00  57 00 69 00 6e 00 64 00  l.e.s.\.W.i.n.d.
0100:  6f 00 77 00 73 00 41 00  70 00 70 00 73 00 5c 00  o.w.s.A.p.p.s.\.
0110:  4d 00 69 00 63 00 72 00  6f 00 73 00 6f 00 66 00  M.i.c.r.o.s.o.f.
0120:  74 00 2e 00 44 00 65 00  73 00 6b 00 74 00 6f 00  t...D.e.s.k.t.o.
0130:  70 00 41 00 70 00 70 00  49 00 6e 00 73 00 74 00  p.A.p.p.I.n.s.t.
0140:  61 00 6c 00 6c 00 65 00  72 00 5f 00 31 00 2e 00  a.l.l.e.r._.1...
0150:  32 00 39 00 2e 00 32 00  38 00 30 00 2e 00 30 00  2.9...2.8.0...0.
0160:  5f 00 78 00 36 00 34 00  5f 00 5f 00 38 00 77 00  _.x.6.4._._.8.w.
0170:  65 00 6b 00 79 00 62 00  33 00 64 00 38 00 62 00  e.k.y.b.3.d.8.b.
0180:  62 00 77 00 65 00 5c 00  41 00 70 00 70 00 49 00  b.w.e.\.A.p.p.I.
0190:  6e 00 73 00 74 00 61 00  6c 00 6c 00 65 00 72 00  n.s.t.a.l.l.e.r.
01a0:  50 00 79 00 74 00 68 00  6f 00 6e 00 52 00 65 00  P.y.t.h.o.n.R.e.
01b0:  64 00 69 00 72 00 65 00  63 00 74 00 6f 00 72 00  d.i.r.e.c.t.o.r.
01c0:  2e 00 65 00 78 00 65 00  00 00 30 00 00 00        ..e.x.e...0...

This means nothing to me…

So your approach to this type of situation is to just sit there and conclude that you don’t understand the information, and that’s it?

You could easily search for information about that output, and you would find tons of it. But you don’t seem to do any of that, instead you seem to just want others to do the research for you.

This entire thread has been a series of “I don’t know” or “I don’t understand”, with very little sign of any research being done by yourself. That’s why you’re getting the answers you’re getting.

I used a search thingie to query about the output you got, since I don’t use Windows myself and I don’t have the problem you’re having, since I’m not trying to back up those files on the Windows systems I am involved in backing up.

Given the information I found, it seems like:

  • The “file” is not really a file with contents, but an NTFS reparse point of type “app execution alias” (tag 0x8000001b / IO_REPARSE_TAG_APPEXECLINK). Hence, one of many Windows things.

  • As you can tell if you had read the ASCII characters, this thing “points” to another .exe file, the AppInstallerPythonRedirector.exe one.

  • So all in all, the way I understand this is that it’s simply a “file” (hence being called “irregular”) that doesn’t actually contain any data, but has metadata that says “when this file is run, instead actually run that other file”.

  • I presume that this is Microsoft’s way of providing what looks like an application executable, but that simply is just a kind of “link” to another file that is supposed to install the actual application if the users seems to want it.

I’d like to remind you that restic is not a full system backup tool – it is simply not created in order to perform a full and complete backup of an entire operating system’s – in particular Windows, with all its quirks – files in such a way that you can restore the entire thing and just fire up the restored-to system and it’d be like the one you backed up. That is simply not what the goals of this software ever were.

If you want such softare, you ought to use one that is really created for it. Personally I’ve used Veeam’s software with good results. Of course those also has limitations, every software you find will have pros and cons and do and don’t do certain things. But you have to understand what the software you’re using is designed to do.

In this case, restic has not been designed to be fully compatible with all of Windows quirks, as it has started as a tool to back up files on more common platforms and with more common features. There has been Windows-specific features added, and a reasonable level of compatibility has made it fully possible to back up data on Windows systems as well – I and many others have done so for many years, successfully. But you’re trying to back up things that most people would, and already a few of us have, said that you probably shouldn’t even try to back up.

Even if you were to back those files up, you wouldn’t have a restorable full system anyway. So what goal are you even trying to reach here. Again, you need to take a step back reassess the needs, requirements and potential solutions at hand.

At the very least, you need to educate yourself on the factors involved in your use of the tool. For example what I did above, instead of just concluding that you don’t know, just research it. I for sure didn’t know what those reparse points were either, but I looked it up, and you could easily have done the same.

That said, I have a question for you; For one of the Windows clients you have there at your work, that was backed up using IBM Storage Protect, can you restore the C:\Users\admin\AppData\Local\Microsoft\WindowsApps\python.exe file from the client’s backups and then run fsutil reparsepoint query on the restored file, comparing the metadata/output? It would be cool if you could verify if/that it is really actually backed up and restored properly by IBM Storage Protect.

I haven’t been able to find documentation that tells me this type of reparse point is supported in IBM Storage Protect. Maybe it is – it would just be cool to know.

It might be possible to add support for these irregular files in restic, it’s a matter of whether it’s sound to do so and if so someone doing it and maintaining it in the long run.