Windows 레지스트리는 Windows 운영체제에서 가장 낯설게 느껴지는 영역 중 하나지만, Windows의 거의 모든 부분을 조정하고 수정할 수 있게 해주는 강력한 기능입니다. 레지스트리를 자주 다루는 사람들조차 그 실체에 대해선 잘 모르고, 사용자 지정 키와 값을 만드는 방법을 확실히 아는 경우도 드뭅니다. 지금부터 Windows 레지스트리와 그 구성 요소에 대해 하나씩 알아보겠습니다.
Windows 레지스트리란 무엇인가?
Windows 레지스트리는 운영체제, 프로그램, 사용자와 관련된 다양한 설정과 구성 정보를 모아둔 집합체입니다. 쉽게 말해 중요한 정보를 거의 모두 저장하는 데이터베이스라고 생각할 수 있습니다. 여기에는 시스템 하드웨어, 애플리케이션 설정, 설치된 프로그램, 사용자 프로필 등과 관련된 정보가 포함됩니다. 모든 핵심 정보가 한 곳에 저장되어 있기 때문에 Windows는 레지스트리를 수시로 참조하며, 여러 위치에 흩어져 있는 수많은 개별 설정 파일을 일일이 다루는 것보다 운영체제의 각 부분을 더 쉽고 빠르게 관리할 수 있습니다.
Windows 레지스트리의 구성 요소
Windows 레지스트리는 크게 세 가지 주요 구성 요소로 이루어져 있습니다. 바로 최상위 키(Root Key), 키(Key), 값(Value)입니다. 최상위 키 아래에 여러 키가 속하고, 각 키는 자신만의 값들을 가집니다. 시스템의 "로컬 드라이브 → 폴더 → 파일" 구조와 비슷하다고 생각하면 이해하기 쉽습니다.
레지스트리에는 저마다 고유한 역할을 하는 5개의 최상위 키가 있습니다. 각각의 핵심 내용을 살펴보겠습니다.

HKEY_CLASSES_ROOT(HKCR): Windows가 OLE(Object Linking and Embedding)와 파일 형식 연결을 관리하는 데 사용하는 최상위 키입니다. Windows가 모든 파일을 해당 프로그램과 연결하여 파일을 열고 사용할 수 있도록 만들어 주는 역할을 담당합니다.
HKEY_CURRENT_USER(HKCU): 현재 로그인한 사용자와 관련된 모든 데이터와 사용자 수준의 설정 및 구성이 저장되는 영역입니다. Windows 운영체제뿐만 아니라 다른 프로그램들도 현재 사용자와 관련된 데이터를 여기에 저장합니다.
HKEY_LOCAL_MACHINE(HKLM): 사용자 로그인 여부와 상관없이 하드웨어 설정, 소프트웨어 설정 등 시스템 전반에 관한 모든 키를 포함하는 영역입니다. 시스템 전역 정보의 대부분을 담고 있기 때문에 HKLM은 Windows 레지스트리에서 가장 많이 접근되는 최상위 키 중 하나입니다.
HKEY_USERS(HKU): 이름에서 알 수 있듯이, 로그인 중인 사용자와 로그아웃된 사용자를 포함해 시스템의 모든 사용자 설정을 담고 있는 최상위 키입니다. 다른 사용자들의 설정도 확인할 수 있으므로 HKCU와 혼동하지 않도록 주의해야 합니다.
HKEY_CURRENT_CONFIG(HKCC): 간단히 말해 의사(pseudo) 최상위 키라고 할 수 있으며, HKLM 최상위 키 안에 있는 현재 하드웨어 프로필 설정으로 연결되는 직접 링크 역할만 합니다.
키 값의 종류
위의 각 최상위 키에는 자체적인 키들이 있고, 각 키에는 고유한 값들이 있습니다. 키마다 6가지 서로 다른 유형의 값을 만들 수 있으며, 어떤 값을 사용할지는 대상 프로그램이나 구성 요구 사항에 따라 완전히 달라집니다.

문자열 값(String Value): 사람이 읽기 쉬운 형태로, 파일 경로처럼 한 줄짜리 텍스트 정보만 담습니다. Windows 레지스트리에서 가장 널리 사용되는 값 유형 중 하나입니다.
이진 값(Binary Value): 이름 그대로 이진 데이터(0, 1)만 포함합니다. 주로 특정 설정을 켜거나 끄는 용도로 사용됩니다.
DWORD 값(32비트): 이진 값과 비슷하지만 32비트 범위의 정수를 저장할 수도 있습니다. 32비트 시스템용으로 설계되었지만, 하위 호환성 때문에 64비트 시스템에서도 사용됩니다.
QWORD 값(64비트): DWORD 값과 같지만 64비트 범위의 정수를 저장할 수 있습니다. 64비트 시스템용으로 설계된 값이라고 할 수 있습니다.
다중 문자열 값(Multi-String Value): 문자열 값이 한 줄 문자열을 저장한다면, 다중 문자열 값은 여러 줄의 문자열이나 텍스트 정보를 저장하는 데 사용됩니다.
확장 가능 문자열 값(Expandable String Value): 일반 문자열 값과 비슷하지만 환경 변수를 포함할 수 있다는 점이 다릅니다.
새 키와 값 만들기
Windows 레지스트리에서 키와 값을 만드는 것은 비교적 쉽고 간단합니다. 하지만 무엇보다 먼저 Windows 레지스트리를 반드시 백업하세요. 잘못된 설정이나 실수로 인한 삭제는 치명적인 오류를 일으킬 수 있습니다.

새 키를 만들려면 최상위 키를 마우스 오른쪽 버튼으로 클릭하고 "새로 만들기(New)" → "키(Key)" 옵션을 선택합니다. 새로 생성된 키는 기본적으로 폴더처럼 보이며 "새 키 #1(New Key #1)"과 같은 이름이 붙습니다. 필요에 따라 언제든 키 이름을 변경할 수 있습니다. 하위 키(Sub-Key)를 만들 때도 동일한 절차를 따릅니다.

새 값을 만들려면 오른쪽 창에서 마우스 오른쪽 버튼을 클릭하고 앞서 설명한 유형 중 필요에 맞는 값을 선택합니다. 값이 생성되면 이름을 지정해야 하며, 이름은 특정 요구 사항에 따라 정하면 됩니다. 단, 오른쪽 창에서 "키(Key)" 옵션을 선택하면 Windows 레지스트리가 자동으로 새 하위 키를 생성한다는 점에 유의하세요.

새 값이 생성되고 이름이 지정되면 값 데이터를 입력해야 합니다. 해당 값을 두 번 클릭하고 필요한 "값 데이터(Value Data)"를 입력하면 됩니다. 값 데이터 역시 프로그램이나 특정 설정에 따라 달라집니다.

이것으로 끝입니다. 이 글이 Windows 레지스트리와 그 구성 요소를 더 깊이 이해하고, 필요할 때 새 키와 값을 직접 만드는 데 도움이 되기를 바랍니다.
여러분의 생각과 경험을 아래 댓글로 공유해 주세요.