Windows XP vs Vista: NTFS Junction points

*爱你&永不变心* 提交于 2019-12-02 21:36:43

Junctions and symbolic links are two different types of NTFS objects and are not exactly the same thing. Why your junctions are not recognized in Vista is a mystery, but the junction functionality still exists in Vista and it not purposefully broken.

You can use mklink (http://technet.microsoft.com/en-us/library/cc753194.aspx) to create soft links (the default), hard links (/h), or junctions (/j). The biggest improvement of sym links over junctions is sym links can reference files OR directories (junctions are directory only) and the can reference network shares as well (junctions cannot).

But the bottom line is they are different. Can't tell you why your existing junctions are not recognized by Vista though. You can still create them as described above.

There freeware utility referenced in another post (LinkMagic) is your best bet to getting your junctions working again. Or recreate them with mklink.

Why don't you try with this program (freeware) to create the links. Apparently Windows Vista needs a different version. I have tried both versions (XP and Vista) and they work. I know it doesn't have to do with your specific problem, but given that there are separate versions for each OS, there might be diferences in the way Junctions are created.

The tool you have used is rather old (2007) and doesn't mention Windows Vista. I know that MSFT did change something in the Junction Points in order to add some functionality they wanted to use. Vista is more authoritative when it comes to Program Files folders and such.

Besides the Linkmagic program already suggested in one of the previous comments, Link shell extension is another good program to manipulate (and check) links and junctions:

http://schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html

Both of these programs can tell you what the existing links/junctions point to, and what they are. This may help you in figuring out what's wrong.

What you trying to link to? Are you linking TO your portable drive or FROM your drive? Are you using "mklink /d"?

Junctions points within the same volume should work - they should be hardlinked directories.

Have you tried if the USB drive works between XP machines? It might not work.

I know that for vista the volumes are NOT identified by path (Q:) but by volume GUID. The $MFT_REPARSE_POINT format might have changed from XP to Vista to accomodate this. Under Vista, this mean that even if your Q drive is suddenly X, the junction point shoudl still work, where under XP it would be broken.

Christoph Hochstätter made an "mklink.exe" substitute for Windows XP that can actually create genuine Vista (et al.) symlink reparse points, but warns that they may not be usable under the Windows XP OS. However, Cygwin will recognise them under XP. And, of course, Linux ntfs mounts. Not sure if this will be of much help though...

http://www.zdnet.de/windows_system_verbessern_mklink_f_uuml_r_windows_download-39002345-30973-1.htm

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!