Vla*_*kov 10 64-bit 32-bit folder-redirection system-file windows-8
我正在运行 Windows 8 Enterprise x64。我使用管理员组中的帐户登录。当我打开 Windows 资源管理器或命令提示符时,我可以看到该文件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
Run Code Online (Sandbox Code Playgroud)
但是如果我从 Chrome 浏览器、Visual Studio 或其他一些应用程序(它们都是 32 位应用程序)打开一个打开文件对话框并导航到C:\Windows\system32那么没有这样的文件(过滤器设置为显示所有文件)。如果我在“打开文件”对话框中使用 Shift+RightClick 调用“在此处打开命令窗口”上下文菜单项并输入dir它确认没有这样的文件:

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
Run Code Online (Sandbox Code Playgroud)
此效果并非特定于cdd.dll,许多其他文件也有所不同。有人告诉我,这是 文件系统虚拟化的影响,我对此知之甚少。
你能解释一下或给我一个解释这实际上是如何工作的参考吗?实际上是否有System32文件夹的几个不同实例。它们在磁盘上的物理位置是什么?是否可以从与System32默认情况下显示的 32 位进程不同的文件夹中的 32 位进程文件访问。
Sco*_*ain 11
问题是文件夹重定向,如果 32 位程序尝试访问该%windir%\System32文件夹,它将被无形地重定向到该%windir%\SysWOW64目录,这是为了 32/64 位应用程序兼容性。
System32 中的所有文件都是 64 位的,但是如果程序编写不正确,他们可能会在查找 DLL 时将 System32 硬编码到他们的程序中。为了防止错误编写的程序导致随机程序崩溃,Microsoft 会进行这种重定向。
如果您需要访问 System32 文件夹而不是 SysWOW64 文件夹,请导航到“隐藏”文件夹%windir%\sysnative,该文件夹将带您进入“真实”System32文件夹,您可以像平常一样浏览该文件夹。
| 归档时间: |
|
| 查看次数: |
991 次 |
| 最近记录: |