Відповіді:
У x64 виданнях Windows 8/7 / Vista вміст папки C: \ Windows \ System32 залежить від розрядності програми.
Для 64-бітних програм (наприклад, Windows Command Prompt cmd.exe) немає перенаправлення файлової системи:
C:\Windows\System32(у програмному забезпеченні) -> C:\Windows\System32(на диску).
Отже, папка C: \ Windows \ System32 містить 64-бітні файли DLL та EXE, з точки зору 64-бітної програми.
Для 32-розрядних додатків (наприклад, bash.exeвід Cygwin), які працюють через підсистему WoW64 у Windows x64, у файловій системі є два перенаправлення:
C:\Windows\System32(у програмному забезпеченні) -> C:\Windows\SysWOW64(на диску).
C:\Windows\Sysnative(у програмному забезпеченні) -> C:\Windows\System32(на диску).
Отже, папка C: \ Windows \ System32 містить 32-бітні файли DLL та EXE, з точки зору 32-бітної програми.
Якщо ви хочете отримати доступ до 64-розрядних програм та DLL-файлів (таких як java*.exe) з 32-бітних програм (наприклад, Cygwin's bash.exe), вам потрібно скористатися C:\Windows\Sysnativeконтуром або /cygdrive/c/Windows/Sysnativeв нотації Cygwin.
(це оновлена та розширена відповідь)