Computer >> 컴퓨터 >  >> 시스템 >> Windows

Windows 레지스트리 완벽 가이드: 구조와 주요 키, 편집 방법까지

Windows 레지스트리는 운영체제의 다양한 시스템 구성 요소와 응용 프로그램이 자신들의 설정 데이터를 저장해 두는 시스템 수준의 데이터베이스입니다. Windows에서 프로그램을 설치하거나 삭제할 때마다 레지스트리에 변화가 생기며, 더 정확히 말하면 특정 키(key)의 값(value)이 변경됩니다.

레지스트리 편집기를 하나의 거대한 표라고 상상해 보세요. 시스템 구성과 응용 프로그램 설정이 계층적인 형태로 저장되어 있는 공간입니다. 대부분의 응용 프로그램은 어떤 식으로든 Windows 레지스트리를 활용하며, 레지스트리 API를 사용해 데이터를 읽어오거나 수정, 삭제합니다.

Windows 레지스트리로 할 수 있는 작업은 매우 많지만, 이 글에서는 레지스트리의 구조와 동작 방식을 이해하는 데 초점을 맞추겠습니다.

Windows 레지스트리의 구조

Windows 레지스트리는 키(Key)값(Value)이라는 두 가지 기본 요소로 구성됩니다. 레지스트리에 저장된 데이터는 트리(tree) 형태로 구조화되어 있으며, 각 노드를 '키'라고 부릅니다. 각 키는 여러 개의 하위 키(subkey)를 포함할 수 있고, 그 하위 키들 역시 또 다른 하위 키를 가질 수 있습니다.

각 키에는 '값'이라 불리는 데이터 항목이 함께 들어갑니다. 다만 이것은 응용 프로그램마다 다릅니다. 일부 프로그램은 특정 키에 값을 저장할 필요가 없는데, 그 경우 키 자체의 존재만으로도 프로그램이 작업을 수행하기에 충분하기 때문입니다. 일반적으로 응용 프로그램은 키를 연 뒤 해당 키에 연결된 값을 사용합니다.

키 이름에는 알파벳과 숫자를 사용할 수 있으며, 대소문자는 구별되지 않습니다. 단, 백슬래시(\) 문자는 키 이름에 사용할 수 없습니다.

Windows 레지스트리의 사전 정의된 루트 키

Windows 레지스트리에는 여섯 개의 루트 키(Root Key)가 존재합니다.

  • HKEY_CLASSES_ROOT
  • HKEY_CURRENT_USER
  • HKEY_LOCAL_MACHINE
  • HKEY_USERS
  • HKEY_CURRENT_CONFIG
  • HKEY_DYN_DATA

1. HKEY_CLASSES_ROOT

이 루트 키에는 등록된 응용 프로그램, 파일 연결 정보, OLE 개체 클래스 ID 등에 관한 정보가 저장됩니다. 셸(Shell)과 COM 응용 프로그램은 이 키에 저장된 정보를 활용하며, DDE 및 OLE 지원을 위한 정보도 함께 보관되어 있어 이전 버전 Windows의 등록 데이터베이스와의 하위 호환성을 유지할 수 있습니다.

2. HKEY_CURRENT_USER

이 키에는 현재 로그인한 사용자(관리자 포함)의 개인 설정만 저장됩니다. 각 사용자의 설정은 별도의 NTUSER.DAT 및 USRCLASS.DAT 파일로 관리되며, 내 컴퓨터 → OS 드라이브 → Documents and Settings 경로에서 이 파일들을 확인할 수 있습니다.

여기서 말하는 사용자별 설정에는 환경 변수, 시작 프로그램 항목, 프로그램 그룹, 활성 네트워크 연결, 각종 응용 프로그램 환경설정 등이 포함됩니다. '사용자 전환'을 하거나 로그오프 후 다시 로그인할 때마다 이 키가 호출되며, 해당 사용자가 정의해 둔 모든 시스템 변수와 환경 모듈이 로드됩니다.

예를 들어 Harry와 Tom이 같은 컴퓨터를 같은 워드 프로세서로 사용한다고 가정해 보겠습니다. Harry는 기본 글꼴을 'Arial'로, Tom은 'Verdana'로 설정했습니다. 워드 프로세서는 이 정보를 HKEY_CURRENT_USER\소프트웨어 이름\ 경로 아래에 저장하고, 시스템이 특정 사용자를 감지하면 HKEY_CURRENT_USER 아래에 정의된 해당 응용 프로그램의 하위 키에서 환경을 불러오는 방식입니다.

3. HKEY_LOCAL_MACHINE

HKEY_LOCAL_MACHINE 아래의 하위 키들은 컴퓨터의 물리적 상태를 정의합니다. 여기에는 사용 가능한 시스템 메모리, 버스 타입, 설치된 하드웨어 정보 등이 포함되며, 운영체제가 지금까지 사용해 온 하드웨어 구성 데이터의 전체 목록이 하위 키에 담겨 있습니다. 그 외에도 네트워크 환경설정, 플러그 앤 플레이 정보, 네트워크 보안, 서버 이름 등 중요한 시스템 정보들이 이 키 아래에 저장됩니다.

HKEY_LOCAL_MACHINE에는 SECURITY, SYSTEM, SOFTWARE, SAM이라는 네 가지 주요 하위 키가 있으며, 관련 파일은 내 컴퓨터 → OS 드라이브 → Windows → System32 → Config 경로에서 찾을 수 있습니다. 다섯 번째 하위 키인 'HARDWARE'는 동적으로 생성되며 데이터가 디스크에 저장되지 않습니다. SYSTEM 하위 키는 시스템 드라이버와 서비스에 관한 모든 정보를 담고 있고, SOFTWARE 하위 키에는 Windows 설정과 타사 소프트웨어 정보가 들어 있습니다.

4. HKEY_USERS

이 키는 시스템에서 활성화된 각 사용자 프로필에 대응하는 HKEY_CURRENT_USER 키들의 하위 키로 구성됩니다. 이 키 아래의 레지스트리 항목들은 로컬 머신의 신규 사용자 설정과 현재 로그인한 사용자의 설정을 정의합니다.

5. HKEY_CURRENT_CONFIG

이 루트 키에는 런타임에 사용 가능한 정보와 운영체제의 하드웨어 프로필에 관한 정보가 담겨 있습니다. 이 키의 정보는 디스크에 저장되지 않고, 시스템 부팅 시 동적으로 생성됩니다. 이 키(및 하위 키)에 저장된 값들은 현재 하드웨어 구성과 운영체제의 표준 구성 사이의 차이를 설명합니다.

참고로 이 키는 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Hardware Profiles\Current의 별칭(alias)이라고 볼 수도 있습니다.

6. HKEY_DYN_DATA

이 키는 Windows 95, Windows Me 등 구버전 Windows NT 계열에서 사용되던 키로, 다양한 하드웨어 장치와 네트워크 성능 통계에 관한 정보를 담고 있습니다. 해당 정보는 시스템 부팅 중에 동적으로 수집되어 RAM에 저장되며, 디스크에는 기록되지 않습니다.

Windows 레지스트리 편집 방법

Windows 레지스트리에 접근하려면 시작 메뉴의 검색 상자에 regedit를 입력하면 됩니다. Windows XP 이하 버전을 사용 중이라면 실행 → regedit를 입력하고 Enter 키를 눌러 레지스트리 편집기를 열 수 있습니다.

Windows 레지스트리 완벽 가이드: 구조와 주요 키, 편집 방법까지

기존 레지스트리 항목의 값을 수정할 때는 반드시 주의해야 합니다. 잘못된 변경 하나가 시스템 불안정으로 이어질 수 있기 때문입니다.

함께 읽으면 좋은 글

1. Windows 7에서 레지스트리 백업하는 방법
2. Windows 레지스트리 정리하는 방법
3. Windows 레지스트리 조각 모음이 필요한 이유