Cannot access volumes mounted with 'mklink /d' which point to a volume UUID

L. A. Walsh cygwin@tlinx.org
Thu Feb 16 00:59:00 GMT 2017


Matt D. wrote:
> On Windows you can create symbolic links which point to volume UUIDs 
> as a way of mounting and unmounting them without having to use the 
> administrative disk management tools.
>
> For example, in cmd:
>
> mountvol
> ...
>     \\?\Volume{079b79c9-0000-0000-0000-100000000000}\
>         C:\
> ...
> mklink /d test \\?\Volume{079b79c9-0000-0000-0000-100000000000}\
---
    mklink and mklink /d create SYMLINKs (and SYMLINKDs).  To create
MS mount points you need to create them as junctions (mklink /J) and
I think that should work for what you are doing.

    Unfortunately, cygwin breaks MS-mounts by treating them as symlinks,
so if you use standard *nix utils to copy that dir, it won't be read as a
dir, but as a symlink, so when it's written to a destination, it seems like
it would attempt to overwrite the directory with a symlink. 

    I know it messes up being able to keep cygwin dirs on a separate disk
unless you _only_ store 1 cygwin-dir/mount point.

    For example, if you have a cygwin on a "D" drive, you won't be
able to use junctions to mount D:/usr on /usr and D:/bin on /bin without
cygwin destroying the mountpoints when software is installed. 

    Very unfortunate, since linux DOES have the dynamic-mount points
with its 'bind' options.

    Somehow, having users be able to destroy mount-points doesn't seem
that secure.


--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple



More information about the Cygwin mailing list