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와 동일시해서는 안 된다.