다른 프로세스가 다른 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.