O que você encontrou aqui é o redirecionamento do sistema de arquivos WOW64 . Como bash.exe
reside no diretório 64-bit System32
, mas os programas de 32 bits veem o 32-bit SysWOW64
quando solicitam System32
. Não é uma questão de ser incapaz de rodar 64 bits a partir de 32 bits, mas sim não ser capaz de encontrar o executável que você está tentando executar em primeiro lugar.
Você tem uma maneira de contornar isso. Citando esse link:
32-bit applications can access the native system directory by substituting %windir%\Sysnative for %windir%\System32. WOW64 recognizes Sysnative as a special alias used to indicate that the file system should not redirect the access.
Portanto, basta chamar o caminho explícito via sysnative
: %windir%\Sysnative\bash.exe
(ou $WINDIR/Sysnative/bash.exe
no cygwin).