다른 프로세스가 다른 System32 폴더 인스턴스를 보는 이유는 무엇입니까?


10

Windows 8 Enterprise x64를 실행하고 있습니다. Administrators 그룹의 계정을 사용하여 로그온했습니다. 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

그러나 Chrome 브라우저, Visual Studio 또는 다른 응용 프로그램 (모두 32 비트 응용 프로그램)에서 파일 열기 대화 상자를 열고 이동하면 C:\Windows\system32해당 파일이 없습니다 (필터는 모든 파일을 표시하도록 설정되어 있음). Open File 대화 상자에서 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폴더 의 여러 다른 인스턴스가 있습니까? 디스크의 물리적 위치는 무엇입니까? System32기본적으로 32 비트 프로세스에 표시된 것과 다른 폴더 의 32 비트 프로세스 파일에서 액세스 할 수 있습니까?


x64 앱에 나타 납니까? Windows에서 32 비트 응용 프로그램의 64 비트 드라이버 (cdd.dll은 디스플레이 드라이버)를 숨 깁니다.
Nathan C

예, 파일 시스템을 탐색 할 수있는 모든 64 비트 앱 (예 : 파일 열기 대화 상자가 있음)은 Windows 탐색기와 동일한 파일을 표시합니다.
Vladimir Reshetnikov

@VladimirReshetnikov 아직도 이해하지 못하는 것이 있습니까? 질문을 편집했지만 자세한 내용은 포함하지 않았습니다. 또한 답변을받지 않았습니다. 다른 내용이 필요하십니까?
Scott Chamberlain

@ScottChamberlain 방금 태그를 편집했습니다. 당신은 대답이 매우 좋습니다. 감사!
블라디미르 Reshetnikov

답변:


11

문제는 폴더 리디렉션입니다 . 32 비트 프로그램이 %windir%\System32폴더 에 액세스하려고하면 보이지 않게 %windir%\SysWOW64디렉토리로 리디렉션 됩니다. 이는 32/64 비트 응용 프로그램 호환성을위한 것입니다.

System32의 모든 파일은 64 비트이지만 프로그램을 잘못 작성하면 DLL을 찾을 때 System32를 프로그램에 하드 코딩했을 수 있습니다. 잘못 작성된 프로그램으로 인한 임의의 프로그램 충돌을 방지하기 위해 Microsoft는 해당 리디렉션을 수행합니다.

SysWOW64 폴더가 아닌 System32 폴더에 액세스해야하는 경우 "숨겨진"폴더로 이동 %windir%\sysnative하면 "실제" System32폴더로 이동하여 정상적으로 폴더를 찾을 수 있습니다.


%windir%환경 변수입니다, 당신은 창에서와 같이 그것을 입력 할 수 있고 그것이 작동하는 시간의 99 %C:\Windows
Scott Chamberlain

4

WOW64 (Windows 64 비트의 Windows)는 다양한 기술 / 기술을 사용하여 32 비트 응용 프로그램을 지원합니다. 그중에는 폴더 및 레지스트리 리디렉터가 있습니다.

Windows 개발자 센터 : 32 비트 응용 프로그램을 실행하는 데스크톱


보다 구체적으로,이 마법을 일으키는 응용 프로그램 호환성 프로파일에 대한 정보.
David Hoelzer
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.