Saya menjalankan Windows 8 Enterprise x64. Saya masuk menggunakan akun dari grup Administrators. Ketika saya membuka Windows Explorer atau prompt perintah, maka saya dapat melihat file cdd.dll
:
C:\Windows\system32>dir cdd.dll
Volume in drive C has no label.
Volume Serial Number is ▨▨▨▨-▨▨▨▨
Directory of C:\Windows\system32
07/25/2012 09:49 PM 199,680 cdd.dll
Tetapi jika saya membuka dialog Open File dari browser Chrome, Visual Studio atau beberapa aplikasi lain (semuanya adalah aplikasi 32-bit) dan menavigasi ke C:\Windows\system32
sana maka tidak ada file seperti itu (filter diatur untuk menampilkan Semua File). Dan jika saya memanggil item menu konteks "Buka perintah di sini" menggunakan Shift + RightClick dalam dialog Open File dan ketik dir
itu mengkonfirmasi bahwa tidak ada file seperti itu:
C:\Windows\System32>dir cdd.dll
Volume in drive C has no label.
Volume Serial Number is ▨▨▨▨-▨▨▨▨
Directory of C:\Windows\System32
File Not Found
Efek ini tidak spesifik untuk cdd.dll
, banyak file lain juga berbeda. Saya telah diberitahu bahwa ini adalah efek dari virtualisasi sistem file , yang saya tahu sedikit tentang.
Bisakah Anda jelaskan atau beri saya referensi yang menjelaskan bagaimana ini sebenarnya bekerja? Apakah sebenarnya ada beberapa contoh System32
folder yang berbeda. Apa lokasi fisik mereka pada disk? Apakah mungkin untuk mengakses dari file proses 32-bit di System32
folder yang berbeda dari yang ditunjukkan ke proses 32-bit secara default.
sumber
Jawaban:
Masalahnya adalah pengalihan folder , Jika program 32 bit mencoba mengakses
%windir%\System32
folder itu akan diarahkan ke%windir%\SysWOW64
direktori tanpa terlihat, ini untuk kompatibilitas aplikasi 32/64 bit.Semua file di System32 adalah 64 bit, namun jika suatu program salah tulis, mereka mungkin telah melakukan hardcode pada System32 untuk program mereka ketika mencari DLL. Untuk mencegah crash program acak dari program yang ditulis secara tidak benar, Microsoft melakukan redirect.
Jika Anda perlu mengakses folder System32 dan bukan folder SysWOW64 menavigasi ke folder "tersembunyi"
%windir%\sysnative
yang akan membawa Anda keSystem32
folder "nyata" dan Anda dapat menelusuri folder seperti biasa.sumber
%windir%
adalah variabel lingkungan, Anda dapat mengetikkannya seperti itu di windows dan akan berfungsi, 99% dari waktu yang diwakilinyaC:\Windows
WOW64 (Windows pada Windows 64bit) menggunakan berbagai teknologi / teknik untuk mendukung aplikasi 32bit. Diantaranya adalah pengalih Folder dan Registry.
Windows Dev Center: Desktop Menjalankan Aplikasi 32-bit
sumber