x64 기반 버전의 Windows 레지스트리 변경

이 문서에서는 x64 기반 버전의 Microsoft Windows Server 2003 및 Microsoft Windows XP Professional x64 Edition에서 변경된 일부 레지스트리 변경 사항에 대해 설명합니다. Windows x64 Edition 운영 체제가 32비트 프로그램 및 64비트 프로그램에 대한 레지스트리 정보를 저장하는 방법을 설명합니다.

적용 대상: Windows 10 - 모든 버전, Windows Server 2012 R2
원래 KB 번호: 896459

요약

중요

이 절, 방법 또는 작업에는 레지스트리를 수정하는 방법에 대한 단계가 포함되어 있습니다. 그러나 레지스트리를 잘못 수정하면 심각한 문제가 발생할 수 있습니다. 따라서 다음 단계를 주의하여 수행해야 합니다. 추가된 보호를 위해 레지스트리를 수정하기 전에 백업하세요. 그런 다음 문제가 발생할 경우 레지스트리를 복원할 수 있습니다. 레지스트리를 백업하고 복원하는 방법에 대한 자세한 내용은 다음 문서 번호를 클릭하여 Microsoft 기술 자료: 322756 Windows에서 레지스트리를 백업 및 복원하는 방법 문서를 확인합니다.

x64 기반 버전의 Microsoft Windows Server 2003 또는 Microsoft Windows XP Professional x64 Edition을 실행하는 컴퓨터는 다른 레지스트리 레이아웃을 사용하여 32비트 및 64비트 프로그램을 모두 처리합니다. Windows 운영 체제의 x64 Edition 버전에서 레지스트리 레이아웃이 변경되면 프로그램이 하드 코딩된 .dll 경로, 프로그램 설정 및 기타 매개 변수 값을 덮어쓰지 않도록 합니다.

32비트 레지스트리 설정이 64비트 레지스트리 설정을 덮어쓰지 않도록 하기 위해 x64 기반 버전의 Microsoft Store를 실행하는 컴퓨터는 레지스트리의 새 분기에 있는 32비트 프로그램에 대한 설정을 지정합니다. 사용자는 프로그램 설치 중에 변경 내용을 알 수 없습니다. 레지스트리 리디렉션 프로세스를 사용하면 프로그램 설치 및 프로그램 구성 설정이 사용자 개입 없이 올바른 레지스트리 하위 키에 액세스할 수 있습니다.

x64 기반 버전의 Windows에서 실행되는 32비트 프로그램 및 64비트 프로그램은 서로 다른 모드로 작동하며 레지스트리에서 다음 섹션을 사용합니다.

  • 기본 모드 64비트 프로그램은 기본 모드로 실행되며 다음 레지스트리 하위 키에 저장된 키 및 값에 액세스합니다.

    HKEY_LOCAL_MACHINE\Software

  • 32비트 프로그램은 WOW64 모드에서 실행되며 다음 레지스트리 하위 키에 저장된 액세스 키 및 값에 액세스합니다.

    HKEY_LOCAL_MACHINE\Software\WOW6432node

레지스트리 리디렉션

WOW64 하위 시스템은 32비트 및 64비트 COM 등록 및 프로그램 상태의 공존을 지원하기 위해 레지스트리의 다른 보기를 사용하여 32비트 프로그램을 제공합니다. WOW64 하위 시스템은 레지스트리 리디렉션을 사용하여 비트 수준에서 레지스트리 호출을 가로챌 수 있습니다. 레지스트리 리디렉션은 레지스트리 호출이 레지스트리의 올바른 분기로 전달되도록 합니다.

새 프로그램을 설치하거나 Windows x64 Edition 컴퓨터에서 프로그램을 실행할 때 64비트 프로그램에서 수행한 레지스트리 호출은 리디렉션 없이 레지스트리 하위 키에 HKEY_LOCAL_MACHINE\Software 액세스합니다. WOW64는 32비트 프로그램에서 수행한 에 대한 레지스트리 호출 HKEY_LOCAL_MACHINE\Software 을 가로채 하위 키로 HKEY_LOCAL_MACHINE\Software\WOW6432node 리디렉션합니다. WOW64는 32비트 프로그램 호출만 리디렉션하여 프로그램이 항상 적절한 레지스트리 하위 키에 쓰도록 합니다. 레지스트리 리디렉션에는 프로그램 코드 수정이 필요하지 않으며 이 프로세스는 사용자에게 투명합니다.

리디렉션에 포함된 레지스트리 하위 키

다음 레지스트리 하위 키는 현재 버전의 Windows x64 Edition 운영 체제에서 리디렉션됩니다.

  • HKEY_LOCAL_MACHINE\Software\Classes
  • HKEY_LOCAL_MACHINE\Software\Microsoft\Ole
  • HKEY_LOCAL_MACHINE\Software\Microsoft\Rpc
  • HKEY_LOCAL_MACHINE\Software\Microsoft\COM3
  • HKEY_LOCAL_MACHINE\Software\Microsoft\EventSystem

중요

레지스트리 키 리디렉션은 이후 운영 체제 버전에서 변경 될 수 있습니다. 소프트웨어 개발자는 이전에 문서화된 리디렉션된 키 목록을 기반으로 하는 프로그램 코드를 작성하지 않는 것이 좋습니다. 대신 레지스트리의 32비트 또는 64비트 논리 뷰를 호출하기 전에 리디렉션 상태 확인하기 위해 코드를 작성해야 합니다.

레지스트리 리플렉션

레지스트리 리플렉션은 레지스트리의 32비트 및 64비트 섹션을 항상 열어 두는 실시간 메서드를 제공합니다. 예를 들어 32비트 OLE 서버 역할을 하지만 64비트 클라이언트의 요청을 처리할 수도 있는 Hello.exe 라는 32비트 프로그램을 생각해 보세요. 레지스트리 리플렉션을 사용하면 Hello.exe 프로그램에서 32비트 레지스트리와 64비트 레지스트리를 모두 열어 두고 32비트 및 64비트 프로그램 호출을 모두 처리할 수 있습니다.

리플렉션을 사용하면 동일한 레지스트리의 두 물리적 복사본이 존재하여 동시 네이티브 및 WOW64 작업을 지원할 수 있습니다. 반영되는 대부분의 키는 클래스 키입니다. 클래스 키는 "마지막 작성자 우선" 철학으로 작성되며, 32비트 또는 64비트 클래스 키를 쓰고 닫으면 키 핸들이 닫힙니다.

다음 목록에는 "마지막 작성자 승리" 철학의 몇 가지 예가 포함되어 있습니다.

  • Windows x64 Edition 운영 체제의 클린 설치를 수행한 후 64비트 버전의 Wordpad.exe .doc 파일을 처리하도록 등록됩니다. 레지스트리 리플렉터에서는 64비트 레지스트리 섹션의 .doc 등록을 32비트 레지스트리 섹션에 복사합니다.
  • 32비트 버전의 Microsoft Office를 설치하면 32비트 레지스트리 보기에서 .doc 파일을 처리하도록 Winword.exe 등록됩니다. 레지스트리 리플렉터에서 이 정보를 64비트 레지스트리 섹션에 복사합니다. 따라서 32비트 및 64비트 프로그램은 모두 .doc 파일에 대한 32비트 버전의 Winword.exe 시작합니다.
  • 64비트 버전의 Microsoft Office를 설치하면 .doc 파일을 처리하기 위해 64비트 버전의 Winword.exe 64비트 레지스트리 섹션에 등록됩니다. 레지스트리 리플렉터도 이 정보를 32비트 레지스트리 섹션에 복사하므로 32비트 및 64비트 프로그램 모두 .doc 파일에 대한 64비트 버전의 Winword.exe 시작합니다.

참고

개발자는 RegQueryReflectionKey 함수를 사용하여 특정 키의 리플렉션 상태를 확인하고 RegDisableReflectionKey 함수 및 RegEnableReflectionKey 함수를 사용하여 특정 키에 대한 레지스트리 리플렉션을 프로그래밍 방식으로 사용하지 않도록 설정하고 사용하도록 설정할 수 있습니다.

공유 레지스트리 키

특정 레지스트리 하위 키는 이러한 키가 32비트 및 64비트 레지스트리 뷰 모두에 표시되더라도 레지스트리의 복사본 하나에만 존재하는 상수 정보를 포함합니다. 이를 레지스트리 리플렉션이라고 합니다.

현재 버전의 Windows x64 Edition 운영 체제에서 다음 레지스트리 하위 키는 32비트 및 64비트 프로그램에서 공유되며 프로그램 또는 프로세스의 32비트 또는 64비트 수준에 따라 다시 작성되지 않습니다.

  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\SYSTEMCERTIFICATES
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\CRYPTOGRAPHY\SERVICES
  • HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\HCP
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\ENTERPRISECERTIFICATES
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\MSMQ
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION\NETWORKCARDS
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION\PROFILELIST
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION\PERFLIB
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION\PRINT
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION\PORTS
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\CONTROL PANEL\CURSORS\SCHEMES
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\TELEPHONY\LOCATIONS
  • HKEY_LOCAL_MACHINE\SOFTWARE\POLICIES
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\GROUP POLICY
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\POLICIES
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\SETUP\OC MANAGER
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\SOFTWARE\MICROSOFT\SHARED TOOLS\MSINFO
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\SETUP
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\CTF\TIP
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\CTF\SYSTEMSHARED
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION\FONTS
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION\FONTSUBSTITUTES
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION\FONTDPI
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION\FONTMAPPER
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\RAS
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\DRIVER SIGNING
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\NON-DRIVER SIGNING
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\CRYPTOGRAPHY\CALAIS\CURRENT
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\CRYPTOGRAPHY\CALAIS\READERS
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION\TIME ZONE
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\TRANSACTION SERVER
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\DFS
  • HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\TERMSERVLICENSING

중요

레지스트리 키 리플렉션은 이후 운영 체제 버전에서 변경 될 수 있습니다. 소프트웨어 개발자는 이전에 문서화된 반영 키 목록을 기반으로 하는 프로그램 코드를 작성하지 않는 것이 좋습니다. 대신 프로그램이 레지스트리의 32비트 또는 64비트 논리 뷰를 호출하기 전에 리플렉션 상태 확인하기 위해 코드를 작성해야 합니다.

레지스트리 편집기 변경 내용

32비트 및 64비트 버전의 레지스트리 편집기 모두 x64 Edition 운영 체제에 포함되어 있습니다. Windows x64 Edition 컴퓨터에서 레지스트리의 64비트 및 32비트 프로그램 섹션을 더 잘 이해하려면 다음 방법 중 하나를 사용합니다.

64비트 버전의 레지스트리 편집기 시작하려면

  1. 관리 권한이 있는 계정을 사용하여 Windows x64 Edition 컴퓨터에 로그온합니다.
  2. 시작, 실행을 차례로 클릭하고 열기 상자에 regedit를 입력한 다음 확인을 클릭합니다.
  3. 레지스트리 편집기 다음 레지스트리 하위 키를 찾아 검사합니다.HKEY_LOCAL_MACHINE\Software\WOW6432node

32비트 버전의 레지스트리 편집기 시작하려면

시작을 클릭하고 실행을 클릭하고 열기 상자에 Windows x64 Edition\Windows\syswow64\regedit.exe m을 설치한 드라이브 문자를 입력한 다음 확인을 클릭합니다. m 스위치를 사용하면 레지스트리 편집기 여러 인스턴스를 실행할 수 있습니다.

참고

Microsoft Windows Server 2003 SP1(서비스 팩 1) 이상 기반 컴퓨터 또는 Windows x64 Edition 기반 컴퓨터에 로그온하고 RDP(원격 데스크톱 프로토콜)를 사용하여 다른 Windows Server 2003 SP1 이상 기반 컴퓨터 또는 Windows x64 Edition 기반 컴퓨터에 연결하는 경우 원격 컴퓨터에서 레지스트리의 64비트 섹션을 볼 수 있습니다. 그러나 SP1 또는 다른 32비트 Windows 운영 체제로 업그레이드되지 않은 Microsoft Windows Server 2003 컴퓨터에 로그온하는 경우 원격 컴퓨터에서 레지스트리의 32비트 섹션만 볼 수 있습니다.

x64 기반 버전의 Windows에 대한 기술 지원

하드웨어에 Windows x64 버전이 이미 설치된 경우 하드웨어 제조업체는 Windows x64 버전에 대한 기술 지원 및 지원을 제공합니다. 이 경우 하드웨어에 Windows x64 버전이 포함되어 있기 때문에 하드웨어 제조업체에서 지원을 제공합니다. 하드웨어 제조업체가 고유한 구성 요소를 사용하여 Windows x64 버전 설치를 사용자 지정했을 수도 있습니다. 고유한 구성 요소에는 특정 장치 드라이버가 포함되거나 하드웨어 성능을 최대화하기 위한 추가 설정이 포함되어 있을 수 있습니다. Microsoft는 Windows x64 버전에 대한 기술 지원이 필요한 경우 합리적인 지원을 제공합니다. 그러나 제조업체에 직접 문의해야 할 수 있습니다. 제조업체가 하드웨어에 설치한 소프트웨어를 지원하는 것이 가장 적절합니다. Windows Server 2003 x64 버전과 같은 Windows x64 버전을 별도로 구매한 경우 기술 지원을 받으려면 Microsoft에 문의하세요.