Câu trả lời:
Trong các phiên bản x64 của Windows 8/7 / Vista, nội dung của thư mục C: \ Windows \ System32 phụ thuộc vào độ bit của ứng dụng.
Đối với các ứng dụng 64 bit (như Dấu nhắc lệnh của Windows cmd.exe
), không có chuyển hướng hệ thống tệp:
C:\Windows\System32
(trong phần mềm) -> C:\Windows\System32
(trên đĩa).
Vì vậy, thư mục C: \ Windows \ System32 chứa các tệp DLL và EXE 64 bit, từ quan điểm của ứng dụng 64 bit.
Đối với các ứng dụng 32 bit (chẳng hạn như bash.exe
từ Cygwin) chạy qua hệ thống con WoW64 trên Windows x64, có hai chuyển hướng trong hệ thống tệp:
C:\Windows\System32
(trong phần mềm) -> C:\Windows\SysWOW64
(trên đĩa).
C:\Windows\Sysnative
(trong phần mềm) -> C:\Windows\System32
(trên đĩa).
Vì vậy, thư mục C: \ Windows \ System32 chứa các tệp DLL và EXE 32 bit, từ quan điểm của ứng dụng 32 bit.
Nếu bạn muốn truy cập các ứng dụng 64 bit và tệp DLL (chẳng hạn như java*.exe
) từ các ứng dụng 32 bit (chẳng hạn như của Cygwin bash.exe
), bạn cần sử dụng C:\Windows\Sysnative
đường dẫn hoặc /cygdrive/c/Windows/Sysnative
ký hiệu Cygwin.
(đây là câu trả lời cập nhật và mở rộng)