Freigeben über


Wow64 - Registry Redirection

앞서 64bit 플랫폼에서 32bit용으로 개발된 기존 어플리케이션이 실행될 수 있도록 해주는 Wow64에 대해서 알아본 바 있습니다. 이번에는 그 세부 내용으로 Registry Redirection에 대해서 알아 보도록 하겠습니다.

‘Redirection’이란 용어는 다른 루트로 자동으로 이동시킨다는 의미입니다. 즉, Wow64를 이용해서 32bit 응용 프로그램이 시스템 레지스트리의 특정 경로에 접근하려고 할 때 64bit 응용 프로그램이 사용되는 공간을 함께 사용하는 것이 아니라 별도의 레지스트리를 사용할 수 있게끔 자동으로 redirection 하는 기능을 말합니다. 이로써 32bit 응용 프로그램에 의해서 64bit 플랫폼에서 사용되는 레지스트리의 값이 임의로 변경되는 것을 막을 수 있기 때문에 전체적으로는 시스템 안정성을 높일 수 있게 됩니다.

리디렉션이 되는 경로는 자동으로 Wow6432Node라는 키 하위로 맵핑 됩니다. 예를 들어 HKEY_LOCAL_MACHINE\SoftwareHKEY_LOCAL_MACHINE\Software\Wow6432Node로 변경되어 사용됩니다. 이러한 행위는 시스템 내부적으로 자동으로 이뤄지는 것이며 이러한 맵핑 경로는 향후 새로운 운영체제나 플랫폼에서 변경될 수도 있기 때문에 응용 프로그램에서 Wow6432Node로 직접 접근해서는 안됩니다.

이러한 Redirection이 모든 레지스트리 키에 대해서 발생하는 것은 아닙니다. 플랫폼에 종속적인 키들은 redirection 되어 물리적으로 독립적인 저장공간을 가지게 되지만, 그 외에 32bit 응용 프로그램과 64bit 응용 프로그램 및 플랫폼이 공유할 수 있는 키는 동일한 저장공간을 그대로 이용하게 됩니다.

예를 들어 HKEY_LOCAL_MACHINE\Software는 Redirection이 발생하지만, HKEY_LOCAL_MACHINE\Software\Classes는 Sharing되어 사용됩니다. 어떠한 항목이 Redirection 또는 Sharing 되는 지에 대해서는 아래 문서에 정리되어 있으므로 참고하시기 바랍니다.

Registry Keys Affected by WOW64
https://msdn.microsoft.com/en-us/library/aa384253(VS.85).aspx

그 외에 Registry Redirection에 대한 전반적인 내용 및 각 항목에 대한 세부 내용을 확인하려면 아래 문서를 참고하시기 바랍니다.

Registry Redirector
https://msdn.microsoft.com/en-us/library/aa384232(VS.85).aspx