0X0000008C

ERROR_JOIN_TO_SUBST (0X0000008C) Fix: Joined Drive to Substituted Path

Hardware – Hard Drives Intermediate 👁 11 views 📅 Jun 19, 2026

This error pops up when you try to join a drive to a folder on a substituted drive. We'll show you how to fix it.

When This Error Hits

You're setting up a file server, and you run subst to map a folder to a drive letter—maybe subst X: C:\ProjectFiles. Then you try to join another volume to a mount point under X:, like C:\MountX. Windows throws ERROR_JOIN_TO_SUBST (0X0000008C): "The system tried to join a drive to a directory on a substituted drive." I've seen this trip up admins who assume the substitution is transparent. It's not. The kernel sees through it and says no.

Why It Happens

Think of subst as a lightweight alias—it doesn't create a real volume. When you try to join a drive (attach a volume) to a folder that lives inside a substituted drive, Windows detects the substitution and blocks the join. The mount point isn't on a real drive—it's on a virtual mapping. This is by design: joining creates a persistent volume mount, which can't sit on a fake path.

Fix: Remove the Substitution First

The core fix is simple: unmap the substitute before you run the join. Here's the step-by-step.

Step 1: Identify the Substituted Drive

Open Command Prompt as Administrator. Run:

subst

This lists all active substitutions. Look for the drive letter you're trying to use as a mount point's parent. In our example, that's X:.

Step 2: Remove the Substitution

Delete the substitution for that drive:

subst X: /d

Replace X: with your drive letter. The /d switch deletes it.

Step 3: Create the Mount Point Folder

Now that X: is gone, the target folder is accessible via its real path. For example, if it was X:\MountX, it's now C:\ProjectFiles\MountX (assuming the original subst mapped to C:\ProjectFiles). Create that folder if it doesn't exist:

mkdir C:\ProjectFiles\MountX

Step 4: Join the Volume

Use mountvol or Diskpart to attach the volume to the real folder. With mountvol:

mountvol C:\ProjectFiles\MountX \\?\Volume{GUID}\

Replace the GUID with your volume's. To get the GUID, run:

mountvol

It lists all volumes and their GUIDs. Pick the one you want to join.

Alternatively, use Diskpart:

diskpart
select volume X
assign mount=C:\ProjectFiles\MountX
exit

Step 5: Re-Apply the Substitution (If Needed)

If your workflow still needs the substitution, re-add it after the join:

subst X: C:\ProjectFiles

The join is permanent—it survives reboots. The substitution won't interfere now because the mount point already exists.

What If It Still Fails?

Check these three things:

  • Antivirus or file-locking tools: Some security software locks folder access. Temporarily disable it and retry. I've seen this on Symantec Endpoint Protection.
  • Permission issues: The mount point folder needs SYSTEM and Administrators full control. Right-click, Properties > Security, verify.
  • Nested substitutions: Did you chain substitutions? Like subst X: C:\A then subst Y: X:\B? That's asking for trouble. Remove all substitutions on the path before joining.

If nothing works, reboot and try again—sometimes the substitution cache sticks around. Then run subst to confirm zero mappings, and redo the steps.

Was this solution helpful?