4

So I have this G: drive which I'm 99% sure I "mounted" using subst to associate a folder with a drive letter. If I double click on it I see the contents of C:\User\Marcel\Google Drive.

Anyway, now I want to get rid of it but I haven't had any luck doing so. I've tried running subst G: /d in both a regular and elevated command prompt, as well as trying to associate a new folder over top of G: and both times I got Invalid parameter - G:. It's also still there after a reboot which is weird because subst isn't supposed to persist over reboots. I've also tried these things in Safe Mode and nothing is different.

I've checked what runs on startup using CCleaner and there's nothing related in there either.

Any ideas on how to resolve this? See screenshot below of the oddity.

bung subst in Windows 7

Marcel
  • 1,097
  • 2
  • 8
  • 14

7 Answers7

3

If you just type SUBST by itself, no parameters, it will list all drive letters created by subst, e.g.

C:\>subst Z: C:\Windows
C:\>subst
 Z:\: => C:\Windows
C:\>subst z: /D
C:\>subst
 (blank)

map Z: to windows folder, show list of mappings, delete Z: mapping, show mappings again (none) So if you don't see it there, it wasn't created by subst.

EkriirkE
  • 319
  • 1
  • 6
2

May not be the problem the original user had, but it is one way I got into a tangle.

$ subst
I:\: => C:\Users\ME\Dropbox\Images

$ subst /D I:
Invalid parameter - D:/

$ subst I:\ /D
Invalid parameter - I: /D

$ subst I: /D
Path not found - D:/

Is the problem obvious yet? It's something simple:

$ which subst
/c/WINDOWS/system32/subst

Notice the path?! I was running subst in a Cygwin shell created by installing GitHub on Windows 10. The icons for the shells and the default colors are identical so I didn't notice - silly me. The "$" prompt should have been the clue (or the MINGW64 on the title bar).

subst is a Linux command by the way, completely different from Windows Subst.

  • OK, this is an amusing scenario. It’s probably not what happened to the OP in *this* question, but, yeah, sure, somebody who finds this question through a search might be in this situation. And, yes, there is an obscure Unix / Linux command called `subst` (which is completely unrelated to the Windows command called `subst`). But so what? Clearly you were running the Windows version of `subst` — why wasn’t it working? (P.S. I mapped a drive using `subst` in Command Prompt, and then I was able to unmap it using `subst g: /d` from Cygwin with no problem.) – Scott - Слава Україні Jun 29 '19 at 01:41
2

You probably used subst from an elevated command prompt. When that is done calling subst from a normal command prompt doesn't return the mappings made in the elevated one.

Try calling subst in an elevated commant prompt (start -> cmd -> ctrl+shift+enter or right click and Run as administrator).

mprill
  • 870
  • 6
  • 12
  • Still no dice, even from an elevated prompt no mappings are returned. – Marcel Feb 12 '13 at 20:59
  • Can you check if the source of that letter is the registry key `HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices`? – mprill Feb 12 '13 at 21:06
  • Nope, there's several from `\DosDevices\B` through to `\DosDevices\V` but no `\DosDevices\G`. – Marcel Feb 12 '13 at 21:11
  • 2
    I was also having a problem unmounting a `subst` drive. It turns out that the reverse of what you suggest is true as well. I had mounted it in a non-elevated command prompt and was trying to remove it in an elevated command prompt. Switching to a command prompt with the same lower privilege level fixed the problem. Kudos! – Jim Fell Mar 17 '16 at 23:41
1

Try net use (as mousio suggests above). Today I had a similar problem with most drives taken by network connections and "net use * /d" was able to make the drive letters available.

D:\>net use
New connections will be remembered.

Status       Local     Remote                    Network
-------------------------------------------------------------------------------
Disconnected K:        \\foo\scratch          Microsoft Windows Network
...
Disconnected Z:        \\foo\scratch          Microsoft Windows Network
The command completed successfully.

D:\>net use * /d
EricSaurus
  • 21
  • 2
0
  1. Start / Run / Type "diskmgmt.msc" and press Enter

  2. Right-click C: and select Change Drive Letter and Paths

  3. If G: is listed in addition to C:, select it and click Remove

  4. OK your way out

Karan
  • 55,947
  • 20
  • 119
  • 191
  • Unfortunately only **D:** is listed under **Change Drive Letter and Paths...** for **C:**. Vice versa. – Marcel Feb 19 '13 at 01:55
0

Just ran into this issue. Found that the drive letter I was trying to substitute was taken by a virtual drive. So it might be worth checking any virtual drive you may have mounted and unmount them all. e.g. PowerISO or VirtualCloneDrive etc...

-1

Open command prompt and run this command

subst /D G:
Excellll
  • 12,627
  • 11
  • 51
  • 78
Levent
  • 1