Я использую Windows 8 Enterprise x64. Я вошел в систему, используя учетную запись из группы администраторов. Когда я открываю Windows Explorer или командную строку, я вижу файл 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
Но если я открою диалоговое окно "Открыть файл" из браузера 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
Этот эффект не характерен для cdd.dll
, многие другие файлы также отличаются. Мне сказали, что это эффект виртуализации файловой системы , о которой я очень мало знаю.
Не могли бы вы объяснить или дать мне ссылку, которая объясняет, как это на самом деле работает? Есть ли на самом деле несколько разных экземпляров папки System32
. Каково их физическое расположение на диске? Можно ли получить доступ из 32-разрядных файлов процессов в папке System32
отличной от той, которая показана для 32-разрядных процессов по умолчанию.