What is the difference between NTFS junction points and symbolic links?

At a high level, the only obvious difference between NTFS and Symbolic link points is that Junctions can only be directories, and SymLinks can also target files.

Are there other differences between the two?

(Note, I already saw this question , and what I'm looking for is a little different - this question is looking for a pro and a list, I'm looking for a set of technical differences)

+116
windows symlink ntfs
Jan 28 '12 at 2:53
source share
6 answers

Symbolic links have more functionality, while connections appear to be an obsolete function due to their limitations, but the security implications of these restrictions are precisely why a connection may be preferable to a symbolic link. Remote targeting makes symbolic links more functional, but also enhances their security profile, while connections are safer because they are limited by local paths . So, if you need a local link and you can live the absolute way, you are probably better off with a crossroads; otherwise, consider a symlink for his added abilities.

enter image description here

** The statement of speed / complexity difference comes from an unverified statement in the Wikipedia article on NTFS reprocessing points (good reading). *




Other NTFS Link Comparisons

Here are some other comparisons on this topic, but they can be confusing when considering intersections because they do not list the benefits that I will list above.

Taken from here (good introductory reading)

enter image description here

From SS64 page to MKLink

enter image description here




Terminology Reviews

Connections are reprocessing points (can be described as symbolic links)

NTFS connections and NTFS symbolic links really do the same thing (reanalysis points), with the exception of the above differences in how they are processed. In fact, technically, Junction is a "symbolic link" in the more general sense of the word, and sometimes documentation may call Junction a symbolic link, as in this case . In such cases, a “symbolic link” does not mean an NTFS symbolic link that is different from a connection (see below).

NTFS

Although the OP indicates this, it is worth noting that “symbolic link” is a very general term that is not specific to NTFS. Thus, to be precise, this comparison applies to NTFS connections and NTFS symbolic links.

+62
Feb 02 '18 at 16:28
source share

The places that I find most useful for differences are:

http://blogs.msdn.com/b/junfeng/archive/2006/04/15/576568.aspx

http://www.hanselman.com/blog/MoreOnVistaReparsePoints.aspx

Postulate: Symlink is a connection on Windows, since Symlink is Hardlink on Unix.

http://en.wikipedia.org/wiki/Symbolic_link#Windows_7_.26_Vista_symbolic_link

Windows 7 and Windows Vista support symbolic links for files and directories using the mklink command-line utility. Unlike connection points, a symbolic link can also point to a network or remote network node of a message server (SMB). In addition, the NTFS symlink implementation provides full support for file system cross-reference. However, inter-symbolic symbolic link functionality requires that the remote system also support them, effectively limiting their support for Windows Vista and later Windows operating systems.

http://www.tuxera.com/community/ntfs-3g-advanced/junction-points-and-symbolic-links/

The symbolic link created by Windows is very similar to connecting to a directory, but unlike connecting to a directory, it can point to a file or a remote network file or directory. A target can be defined as a path relative to the position of a symbolic link or an absolute path in the current volume or another. Also note that symbolic links to files are different from symbolic links to directories, and the goal must be consistent with the definition.

+34
Jan 28 2018-12-12T00:
source share

Functionally, there is no real difference in the windows when they are created. However, there are significant differences between them in what they can do. Switches can only be used to create links to folders, both on the same drive and on different drives, but only if these drives are on the local system (you cannot create a link to connect to the folder over the network.) However, symbolic links do not have same restrictions. Symbolic links can be used to link to files or folders, and these files or folders can be located either on the same system (one disk or on different disks), or on a network share and can use symbols of relative location ("\\ system2 \ foldera \ file.txt "," d: \ foldera \ file.txt "," \\ system2 \ foldera "," d: \ foldera "or" d: \ foldera \ folderb .. "with the resulting link for the last 2 examples are the same place.) The symbol of the relative location can be ".", "..", the current relative function of the drive (if the current disk is c :, and then the task " \ tempa \ folderb "leads to a link to c: \ tempa \ folderb,) and the current relative directory (if the current directory is d: \ foldera \ folderb, then specifying" d: file.txt "leads to a link to d: \ foldera \ folderb \ file.txt.)

To summarize: reunion points are limited only to folders on the local system, while Symbolic Links can create links to folders or files accessible through the UNC path or on the local system, with more versatility in how these places are marked. Symbolic links are basically a more universal replacement for both junction points and hard links. In addition, Symbolic Links are compatible with Unix and Linux when creating cross-platform UNC links.

Hope this answers your question in a satisfactory manner. Edited to correct typographical errors.

+17
Feb 02 '16 at 3:48
source share

Link Shell Extension, http://schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html , is a great tool for creating and viewing many kinds of links. It also has excellent documentation.

[When fully installed, adds a new properties tab if you are viewing an extended link. In addition, overlay arrows are added for various types of links - scroll to the frequently asked questions section if they are not displayed; Windows only supports thirteen overlays; It shows how to bypass the registry. An example of its informational usefulness: it unsuccessfully tries to obtain privileges for what you considered a folder, but in fact it is a Junction Link system link, often used for compatibility with older versions of Windows.]

Links and symbolic links act essentially identically when created for a directory on the local system.

However:

They act differently on the network. This link describes this behavior: https://superuser.com/questions/343074/directory-junction-vs-directory-symbolic-link

If you think that Junction Links are "shortcuts that trick the OS into location," you will have a good practical comparison of their use and what violates them. The main difference is that if you copy symbolic links or transitions, it copies the target, rather (for example, shortcuts), only a file containing a pointer. As with shortcuts, you can delete symbolic or junction links without deleting target files / folders. [Hard Links, the file is deleted only with the removal of the last link, including from the trash. Look at the property tag in the LSE for any of these links to see the target or link counter for hard links.]

Hard links or shortcuts are the only types of links that can be moved without side effects, such as breaking or copying the entire target. Moving a target always breaks links, although they can be easily updated on the properties tab (shown with LSE) or re-created, if difficult, with LSE.

Symbolic links require administrator privileges, while Junctions do not. This plus Junior's extensive internal use of the OS suggests that Windows handles them in an intuitive, expected way. [Be careful with unexpected side effects from system folders (from experience with Win 10).]

[Some of the features of Link Shell Extension backups are extremely useful - in short, it can create several types of updatable symbolic link structures in standard folders for pending backup purposes.]

+10
Apr 02 '16 at 16:24
source share

Symbolic links were introduced recently in Windows: as with Vista.

Symbolic links should not be considered an alternative to the existing NTFS Repeat Point technology.

Microsoft explains that the sole purpose of symbolic links is to be more compatible with Unix.

MSDN: "Symbolic links were designed to support migration and application compatibility with UNIX. Microsoft implemented its symbolic links to work just like UNIX links."

Vista is also a good operating system for using links for its own functioning. To be compatible with older version names, C:\Documents and Settings now a reference to C:\Users .

Interestingly, although Vista introduces symbolic links, this “ Documents and Settings ” trick is actually a simple old mix.

+4
May 01 '12 at 10:52
source share

In addition to the excellent answer from u8it:

If someone is interested in the difference in behavior in Windows Explorer in Windows 10:

drag and drop to target directory:

  • symbolic link : moves the symbolic link to the target directory
  • junction : move original directory to target directory

right click + properties:

  • symbolic link : shows label properties
  • junction : shows the original directory properties of the original directory folder

left-click on the left panel (directory tree):

  • symbolic link : selects the original directory
  • junction : selects junction
0
Jul 10 '19 at 14:43
source share



All Articles