Support for \\?\Volume{GUID}\

English support forum

Moderators: white, Hacker, petermad, Stefan2

seb-
Senior Member
Senior Member
Posts: 276
Joined: 2011-11-15, 06:14 UTC
Location: DE\BN - only part time TC user after switching to Linux ;)

Support for \\?\Volume{GUID}\

Post by *seb- »

While browsing the web for solutions for the problem that my USB Drive changes its drive letter, i found out the following:

you can address media in Windows (similar to Linux /media/medianame) by addressing it using the GUID (which is of course different for each media on every system/installation).

That means if you execute "mountvol.exe" it will show you all connected Medias GUID.

Then you can access this path in Windows Explorer by pasting

\\?\Volume{GUID}\

and it will open the root of the drive.


For me this seems very practical, because i do not have Administrative privileges to change the Drive letter once it is (by accident or by random...) changed again.

I always have to adjust my totalCommander-Synctool presets then - or change it manually each time.

Its very frustrating.

However if pasting that GUID-based path into Totalcommander, TC does not understand it.

Is it easy to make TC support these kind of "hardlinks" to Removeable media?

Then i could simply store the path in the Sync Preset and hopefully would never ever again need to adjust it either in the wincmd.ini or manually in the sync window.

- I know its some weird workaround for a totally different root cause (drive letter changes), but as i cant change the drive letter easily (or is there a way that does not require Admin privileges or additional 3rd party software that i have not yet found?) it seeems a viable option to me.

What do you think about this?

br
seb
User avatar
MVV
Power Member
Power Member
Posts: 8702
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Post by *MVV »

seb-,
Actually you can make a mount point to your USB volume, and it will look just like a regular folder located in a place you like. Once created, such mount point will show volume contents to your USB volume regardless of drive letter assigned to it. So you can create such mount point in the same place for all your computers and refer your USB volume by path to such mount point.

Such mount point may be created via disk management console (where you change volume drive letter), or via console tool mountvol, also you can create an empty folder and set its target path attribute via NTLinks plugin, it supports volume GUIDs.

Please keep in mind that volume GUIDs for the same volume are different in different Windows installations (they are assigned by Windows somehow and are not stored in volume) so it has no sense to sync such setting between multiple computers.
seb-
Senior Member
Senior Member
Posts: 276
Joined: 2011-11-15, 06:14 UTC
Location: DE\BN - only part time TC user after switching to Linux ;)

Post by *seb- »

Thanks for your reply MVV!
MVV wrote:seb-,
Such mount point may be created via disk management console
Yeah i read about this, but disk management console seems to require admin privileges. Symlinks also require Admin rights :(

I'll try it tomorrow.
MVV wrote: Please keep in mind that volume GUIDs for the same volume are different in different Windows installations (...)
I also found this out already ;)

would be easier if it worked similar to linux :)
User avatar
MVV
Power Member
Power Member
Posts: 8702
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Post by *MVV »

I don't know if symlinks support volume GUIDs, but mount point (or junction with GUID path) may be created using NTLinks w/o admin rights.
seb-
Senior Member
Senior Member
Posts: 276
Joined: 2011-11-15, 06:14 UTC
Location: DE\BN - only part time TC user after switching to Linux ;)

Post by *seb- »

After a lot of tries with mountvol and guid path i realized it does not work ;-)

But

mklink /j junction guid_path

indeed works without admin privileges. So that helps for the moment. Thanks for that good hint!






But anyway i'd still appreciate to hear if it is easy to implement into TC that GUID Paths are directly supported? :-)





brs
User avatar
MVV
Power Member
Power Member
Posts: 8702
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Post by *MVV »

Yes, actually mountvol only supports just GUIDs, w/o subpaths, and it not only creates a junction, it also stores information about it somewhere in registry (that's why it requires admin rights).

BTW I just tested TC with volume GUID: cd \\?\Volume{b88f9aff-6b87-11e2-9279-806e6f6e6963}\ doesn't work but cd \\?\Volume{b88f9aff-6b87-11e2-9279-806e6f6e6963}\Docs\ does! And I can go up and see root items, but Ctrl+R causes error. I think it should be easy to fix since Windows itself supports such paths.
seb-
Senior Member
Senior Member
Posts: 276
Joined: 2011-11-15, 06:14 UTC
Location: DE\BN - only part time TC user after switching to Linux ;)

Post by *seb- »

Thats nice to hear, i'm using a subpath anyway.

But still i'm now served with the junction that your hint gave me :-)

Lets see wether CD to root \\?\Volume\{GUID}\ is fixed soon :-)
User avatar
MVV
Power Member
Power Member
Posts: 8702
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Post by *MVV »

seb- wrote:Lets see wether CD to root \\?\Volume\{GUID}\ is fixed soon :-)
I think you should report it as a bug.

BTW I've found funny thing: cd \\?\Volume{b88f9aff-6b87-11e2-9279-806e6f6e6963}\Docs\..\ opens drive root. :D
seb-
Senior Member
Senior Member
Posts: 276
Joined: 2011-11-15, 06:14 UTC
Location: DE\BN - only part time TC user after switching to Linux ;)

Post by *seb- »

MVV wrote: I think you should report it as a bug.

done
guRed
Junior Member
Junior Member
Posts: 5
Joined: 2018-05-16, 09:05 UTC

Any news on this topic?

Post by *guRed »

I vote for implementing support for \\?\Volume{GUID}\ in TC
User avatar
MVV
Power Member
Power Member
Posts: 8702
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Post by *MVV »

Works for me here (9.20b2):
cd \\?\Volume{1d819ae2-ff62-11e7-89b2-005056c00008}\
cd \\?\Volume{1d819ae2-ff62-11e7-89b2-005056c00008}\Docs\
It is funny that autocomplete works when I type just path with volume GUID and doesn't work when I type cd with path with volume GUID (but works with paths w/o GUIDs).
User avatar
DrShark
Power Member
Power Member
Posts: 1872
Joined: 2006-11-03, 22:26 UTC
Location: Kyiv, 68/262
Contact:

Post by *DrShark »

MVV wrote:Works for me here (9.20b2)
Tried on Vista 32-bit in the command line of TC 9.20 beta 3: cd \\?\Volume{GUID_by_mountvol}\ - doesn't work. However, \\?\Volume{GUID_by_mountvol}\ opens the location in Explorer.
Donate for Ukraine to help stop Russian invasion!
Ukraine's National Bank special bank account:
UA843000010000000047330992708
guRed
Junior Member
Junior Member
Posts: 5
Joined: 2018-05-16, 09:05 UTC

Post by *guRed »

MVV wrote:Works for me here (9.20b2):
cd \\?\Volume{1d819ae2-ff62-11e7-89b2-005056c00008}\
cd \\?\Volume{1d819ae2-ff62-11e7-89b2-005056c00008}\Docs\
It is funny that autocomplete works when I type just path with volume GUID and doesn't work when I type cd with path with volume GUID (but works with paths w/o GUIDs).
I use 9.12 (latest non-beta) and neither command works. So there must be some changes in the latest 9.20b2
When will 9.20 be released?
User avatar
Horst.Epp
Power Member
Power Member
Posts: 6450
Joined: 2003-02-06, 17:36 UTC
Location: Germany

Post by *Horst.Epp »

guRed wrote:
MVV wrote:Works for me here (9.20b2):
cd \\?\Volume{1d819ae2-ff62-11e7-89b2-005056c00008}\
cd \\?\Volume{1d819ae2-ff62-11e7-89b2-005056c00008}\Docs\
It is funny that autocomplete works when I type just path with volume GUID and doesn't work when I type cd with path with volume GUID (but works with paths w/o GUIDs).
I use 9.12 (latest non-beta) and neither command works. So there must be some changes in the latest 9.20b2
When will 9.20 be released?
The newest is 9.20b3 and there is no problem using TC betas.
Windows 11 Home x64 Version 23H2 (OS Build 22631.3374)
TC 11.03 x64 / x86
Everything 1.5.0.1371a (x64), Everything Toolbar 1.3.2, Listary Pro 6.3.0.69
QAP 11.6.3.2 x64
User avatar
DrShark
Power Member
Power Member
Posts: 1872
Joined: 2006-11-03, 22:26 UTC
Location: Kyiv, 68/262
Contact:

Post by *DrShark »

It's interesting: on Vista 32-bit TC 9.20 beta 3 opens such paths if used as a parameter to %COMMANDER_EXE%:
%COMMANDER_EXE% /L=\\?\Volume{GUID_by_mountvol}\
TC also opens shortcuts (LNKs) created by Explorer for such paths.
But it doesn't work if used with cd command from a command line or a button bar.

Also, TC only shows internal context menu for files there, while Explorer shows full own menu even with items from shell extensions.
Donate for Ukraine to help stop Russian invasion!
Ukraine's National Bank special bank account:
UA843000010000000047330992708
Post Reply