A reparse point is what linux calls a symbolic link ( http://en.wikipedia.org/wiki/NTFS_reparse_point).

Reparse point = NTFS symbolic links, directory junction points, volume mount points


  • “Remote-to-remote describes a computer accessing a remote symbolic link that points to a remote UNC path using SMB.“


In general:

hard link: link to a file (MFT entry) The data are still accessible as long as at least one link that points to it still exists.

  • NTFS HARD link: Hard links require an NTFS partition.With mklink /H or you can use FindLinks from http://www.microsoft.com/sysinternals   
  • Volume mount points are similar to Unix mount points, where the root of another file system is attached to a directory. In NTFS, this allows additional file systems to be mounted without requiring a separate drive letter (such as C: or D:) for each.

soft link: link to its name (file path) ;

  • NTFS symbolic link (SYMLINK)Unlike a junction point, a symbolic link can also point to a file or remote SMB network path(*). With mklink (for files) or mklink /D (for directories). Relative symbolic links are restricted to a single volume.
  • Junction point/directory junction: Directory junctions are similar to volume mount points, but reference other directories in the file system instead of other volumes. Used in default Windows Server 2008 configuration for Users folder redirs. With mklink /J. Procmon.exe (filter on  from sysinternals) : will display the JUNCTIONS. junction.exe -s -q c:\   from http://www.microsoft.com/sysinternals   ; to list,create and delete junction point.

Example of a junction to move the content of WinSxS in another drive: 

mklink /J “C:\Windows\winsxs” “d:\winsxs”           ; careful the d:\winsxs must not exist before to create the junction, else you will get a error message “file already exist…”

to remove the junction you can use junction from sysinternals: junction -d d:\winsxs

The mklink command functions as such:  mklink LINK TARGET, so in the above example the c:\Windows\winsxs acts as the LINK location where you want to trick Windows into thinking it still exists and the TARGET location is of course the d:\winsxs on another drive.


(*)Symlink Evaluation Modes

The default symbolic link evaluation for Windows Vista, Windows 7, Windows Server 2008 and Windows Server 2008 R2 is Local-to-local enabled, Local-to-remote enabled, Remote-to-local disabled, Remote-to-remote disabled.

Symbolic link evaluation settings can be viewed and altered by the following commands respectively:
fsutil behavior query SymlinkEvaluation
fsutil behavior set SymlinkEvaluation [L2L:{0|1}] | [L2R:{0|1}] | [R2R:{0|1}] | [R2L:{0|1}]
0 disables the specified evaluation mode, while 1 enables it.
Enabling Remote-to-local and Remote-to-remote will overcome the The symbolic link cannot be followed because its type is disabled error when trying to access a symlink on a UNC share.
The symlink evaluation settings can also be controlled via Group Policy. Go to Computer Configuration > Administrative Templates > System > Filesystem and configure “Selectively allow the evaluation of a symbolic link”.


  • Use RMDIR to remove a symbolic link <SYMLINK> or <SIMLINKD>
  • Using the DIR command prompt to list the symbolic link:

D:\>mklink /d dir3 d:\dir2
symbolic link created for dir3 <<===>> d:\dir2

C:\>dir d:\ /AD /S | find “SYMLINK”

D:\>dir d:\ /AD /S | find “SYMLINK”
03/29/2014  10:07 PM    <SYMLINKD>     dir3 [d:\dir2]


  • Using the DIR command prompt to list the junction:

C:\>dir c:\ /AD /S | find “<JUNCTION>”
07/26/2012  08:14 AM    <JUNCTION>     Documents and Settings [C:\Users]
07/26/2012  08:14 AM    <JUNCTION>     Documents and Settings [C:\Users]
07/26/2012  08:14 AM    <JUNCTION>     Application Data [C:\ProgramData]
07/26/2012  08:14 AM    <JUNCTION>     Desktop [C:\Users\Public\Desktop]
07/26/2012  08:14 AM    <JUNCTION>     Documents [C:\Users\Public\Documents]
07/26/2012  08:14 AM    <JUNCTION>     Start Menu [C:\ProgramData\Microsoft\Windows\Start Menu]
07/26/2012  08:14 AM    <JUNCTION>     Templates [C:\ProgramData\Microsoft\Windows\Templates]
07/26/2012  08:14 AM    <JUNCTION>     Default User [C:\Users\Default]
07/26/2012  08:14 AM    <JUNCTION>     Application Data [C:\ProgramData]
07/26/2012  08:14 AM    <JUNCTION>     Desktop [C:\Users\Public\Desktop]
07/26/2012  08:14 AM    <JUNCTION>     Documents [C:\Users\Public\Documents]
07/26/2012  08:14 AM    <JUNCTION>     Start Menu [C:\ProgramData\Microsoft\Windows\Start Menu]