Quantcast
Viewing all articles
Browse latest Browse all 4467

Guest OS File Restore Fails on Self-Referencing Junction Points

Guest OS File Restore Fails on Self-Referencing Junction Points

KB ID: 4672
Product: Veeam Backup & Replication | 12 | 12.1 | 12.2
Veeam Agent for Microsoft Windows | 6.0 | 6.1 | 6.2
Published: 2024-10-11
Last Modified: 2024-10-11

Challenge

Using Guest OS File Restore to restore a folder containing a junction point that redirects back to the initial folder fails with the error:

Win32 error:The name of the file cannot be resolved by the system.  Code: 1921

For example, attempting to restore a user's AppData folder the restore will fail with:

Failed to restore "\\?\C:\Users\backupsvc_RESTORED_20241010_135355\AppData\Local\Application Data\Application Data\Application Data\Application Data\Application Data\Application Data\Application Data\Application Data\Application Data\Application Data\Application Data\Application Data\Application Data\Application Data\Application Data\Application Data": Failed to start folder iteration. Win32 error:The name of the file cannot be resolved by the system.  Code: 1921

 

Cause

This occurs because Guest OS File Restore does not restore junction points; it attempts to restore the actual content of the junction point.

As documented in the Veeam Backup & Replication User Guide:

Veeam Backup & Replication restores junction points as folders with the content they refer to. If a junction point refers to the folder in which it lies or to the parent folder, restore will fail.

 

The Windows OS (desktop and server) includes such a junction point that will cause the error shown in the example. Within the folder C:\Users\<user>\AppData\Local is a junction point named 'Application Data', which is a junction back to C:\Users\<user>\AppData\Local, creating a self-referential loop.

Image may be NSFW.
Clik here to view.
Loop Example

Solution

To workaround this issue, when performing Guest OS Files Restore, you must carefully select which folders to restore, avoiding selecting the junction point(s) that create a loop.

More Information

The following two self-referential junction points are known to exist in Windows desktop and server operating systems:

  • [C:\ProgramData\Application Data] -> [C:\ProgramData]
  • [C:\Users\<user>\AppData\Local\Application Data] -> [C:\Users\<user>\AppData\Local]
To submit feedback regarding this article, please click this link: Send Article Feedback
To report a typo on this page, highlight the typo with your mouse and press CTRL + Enter.

Viewing all articles
Browse latest Browse all 4467

Trending Articles