can't access /cygdrive/c/Windows/Sysnative ?

Brian Inglis
Thu Dec 22 19:22:00 GMT 2016

On 2016-12-22 11:39, Brian Inglis wrote:
> On 2016-12-21 13:16, Lester Ingber wrote:
>> So, I guess that I should have seen that the Windows 10 Ubuntu 
>> bash.exe is actually written as a 32 bit code (they didn't use the 
>> 64-bit code as on my other true Ubuntu x64 platform?) from the
>> PE32+ info?:
>> # ls -l bash.exe
>> -rwxr-x---+ 2 TrustedInstaller TrustedInstaller 70656 Oct 14 20:57 bash.exe
>> # file bash.exe
>> bash.exe: PE32+ executable (console) x86-64, for MS Windows
> which is exactly the same as Cygwin 64 bash:
> $ file /bin/bash /proc/cygdrive/c/WINDOWS/system32/bash
> /bin/bash:                              PE32+ executable (console) x86-64, for MS Windows
> /proc/cygdrive/c/WINDOWS/system32/bash: PE32+ executable (console) x86-64, for MS Windows

The PE32 format is to allow execution from or by 32 bit world; the 
+ hints it contains 64 bit code, as does the arch x86-64.

>From Cygwin 32 the 64 bit WSL/UoW/BfW "bash" launcher is not visible 
as the 64 bit system directories are not in the PATH:

$ file `which -a bash`
/usr/bin/bash: PE32 executable (console) Intel 80386, for MS Windows

> as they are both Windows console exes: Windows "bash" is just the 
> launcher for the console in which WSL/UoW/BfW runs -- trust MS to 
> pick another wrong and confusing name to be "cute" -- like calling 
> mintty "bash".

...forgot to add WSL/UoW/BfW bash, which is yet another 64 bit 
executable in ELF not PE32/+ format:

$ file `which -a bash`
/bin/bash: ELF 64-bit LSB  executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=54967822da027467f21e65a1eac7576dec7dd821, stripped

Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada

Problem reports:
Unsubscribe info:

More information about the Cygwin mailing list