Windows 레지스트리

Windows 레지스트리(Windows Registry)는 Microsoft Windows의 운영체제 구성과 장치 드라이버·사용자 환경·응용 프로그램 설정을 계층적으로 저장하는 데이터베이스다. 구성은 키(Key)와 각 키의 값(Value)으로 이루어지고, 여러 하이브(Hive)가 파일·...

영어 명칭Windows Registry
분류Microsoft Windows 시스템·응용 프로그램 설정 데이터베이스
개발사Microsoft
기본 구조하이브(Hive)·키(Key)·값(Value)
대표 루트HKEY_LOCAL_MACHINE·HKEY_CURRENT_USER 등
저장레지스트리 하이브 파일과 메모리 매핑
사용 대상운영체제 설정·서비스·드라이버·앱
도구regedit, reg.exe, PowerShell Registry Provider
프로그래밍RegOpenKeyEx, RegQueryValueEx 등
정책그룹 정책 및 관리용 ADMX 일부 반영
주요 버전Windows 3.1 이후, NT 계열 발전
보안키별 ACL, 사용자·시스템 구분
공식 문서Microsoft Learn: Registry

Windows 레지스트리(Windows Registry)는 Microsoft Windows의 운영체제 구성과 장치 드라이버·사용자 환경·응용 프로그램 설정을 계층적으로 저장하는 데이터베이스다. 구성은 키(Key)와 각 키의 값(Value)으로 이루어지고, 여러 하이브(Hive)가 파일·시스템 상태와 연결된다. 초기 Windows의 INI 파일 중심 설정에서 발전했지만 오늘날 모든 Windows 설정이 레지스트리에만 저장되는 것은 아니며 XML·JSON·응용 프로그램별 파일과 서비스 데이터베이스도 병행된다.[1]

대표 논리 루트인 HKEY_LOCAL_MACHINE은 시스템 전반의 설정, HKEY_CURRENT_USER는 현재 사용자 설정을 제공한다. HKEY_CLASSES_ROOT는 파일 연결·COM 등록 등에 사용하는 합성 보기이며, HKEY_USERS에는 로딩된 사용자별 하이브가 노출된다. 레지스트리의 논리적 트리와 실제 파일의 저장 위치가 항상 일대일로 대응하지는 않는다. Windows 부팅·사용자 로그온과 장치 초기화 시 여러 하이브가 로드된다.

레지스트리 API는 키 열기·만들기·삭제, 값의 타입과 내용 조회, 변경 알림 등을 제공한다. 값에는 문자열·정수·바이너리와 다중 문자열 등의 타입이 있으며 설정을 잘못 변경하면 드라이버·서비스 또는 사용자 프로그램의 동작에 영향을 줄 수 있다. Windows NT 계열에서는 키별 보안 설명자와 ACL을 통해 접근 권한이 적용된다. 프로그램은 직접 레지스트리를 수정하기보다 가능한 경우 해당 기능의 지원된 API·관리 도구를 이용해야 한다.[2]

관리자는 regedit.exe, reg.exe 또는 PowerShell을 사용해 값을 검사·변경할 수 있다. 그룹 정책은 사용자·컴퓨터 설정 중 일부를 레지스트리 정책 위치에 기록하므로 관리자가 구성한 값과 사용자가 직접 변경한 값은 의미가 다를 수 있다. 32비트 앱과 64비트 앱은 일부 경로에서 서로 다른 레지스트리 보기를 사용하며 WOW64 리디렉션 규칙이 적용된다.

레지스트리 정리는 Windows 성능을 자동으로 크게 향상시키는 필수 작업이 아니며 무분별한 삭제는 시스템 오류를 일으킬 수 있다. 중요한 변경 전에는 복구 수단·원래 값을 확보해야 한다. Windows 레지스트리는 운영체제와 응용 프로그램 설정을 중앙에서 관리하는 구조이지만 데이터베이스 그 자체를 Windows NT 커널·파일 시스템 또는 Active Directory와 동일시해서는 안 된다.

역사

정의와 적용 범위

설계와 내부 구조

주요 구성 요소

응용 프로그램 인터페이스

파일·메모리·보안과의 관계

도구와 개발 환경

호환성·플랫폼별 차이

제약과 기술적 쟁점

기술적 영향

관련 문서

  1. Microsoft Learn: Registry ↩
  2. Microsoft Learn: Registry Functions ↩