Please add /cygdrive/c/Windows/Sysnative to the default PATH

Thomas Wolff towo@towo.net
Tue Nov 17 21:23:37 GMT 2020



Am 17.11.2020 um 20:54 schrieb tealhill via Cygwin:
> Dear all:
>
> ### Background information (you can skip this)
>
>  ...
>
> ### The problem
>
> 32-bit tools, such as 32-bit Cygwin, don't usually see the real 
> System32 directory.  Instead, when they try to look inside System32, 
> Windows shows them the contents of a different directory, which 
> contains only 32-bit System32 tools.
>
> If 32-bit Cygwin needs to run a 64-bit tool, such as pluck.exe (from 
> Pluckeye) or wsl.exe (from the Windows Subsystem for Linux), it must 
> look in a different directory instead.  It must look in 
> C:\Windows\Sysnative.  In this virtual folder, 32-bit Cygwin can see 
> all the 64-bit System32 tools.
>
> If you try to run pluck.exe without specifying that it's in 
> /cygdrive/c/Windows/Sysnative, you'll get the output:
>
> [user@host ~]$ pluck
> -bash: pluck: command not found
>
> This 'virtual folder' stuff is non-obvious and confusing.  It took me 
> some time to figure it all out.
I ran into this kind of problem myself. These virtual folders are a 
nuisance and it's bothersome and tricky to find out, especially as 
Sysnative is hidden by default.
But that's a Windows issue, not a cygwin issue. Cygwin doesn't handle 
other Windows paths either.
>
> ### Proposed solution
>
> Cygwin's /etc/profile sets the PATH.
>
> Could /etc/profile please also add /cygdrive/c/Windows/Sysnative to 
> the end of the PATH?
It doesn't add any other Windows folders so why this one. You should do 
that in your ~/.profile.
I'd suggest however to make those virtual folders visible from Cygwin, 
so you could find the hidden stuff from /Windows with ls, echo, or `find`.
Thomas


More information about the Cygwin mailing list