본문 바로가기

↘ [MS]/↘ [Registry]

레지스트리가 저장된 곳: 하이브

레지스트리는 대부분 하이브라고 부르는 파일의 세트에 들어있다(일부 레지스트리 항목은 시스템이 시작될 때마다 자동으로 구성되어 파일에 저장되지 않기 때문에 "대부분"이라고 말하는 것이다. 예를 들어, Windows 2000 시작할 까지는 SCSI버스에 어떤 장치가 있는지 알지 못한다). 하이브는 바이너리 파일이기 때문에 레지스트리 편집기와 같은 특별한 에디터가 없으면 살펴볼 방법이 없다. 그러나 하이브는 레지스트리의 일부를 로드하거나 백업하기 쉽게 해준다.

 

모두는 아니지만 대부분의 레지스트리는 하이브 파일에 저장된다. 파일은 숨김, 시스템, 읽기 전용 속성은 가지고 있지 않지만 항상 열려져 사용되고 있기 때문에 있는 일이 제한되어 있다.

 

하이브 파일 살펴보기

 

컴퓨터 설정과 연관된 하이브 파일은 \Windows\System32\CONFIG 디렉터리에 들어있다. 사용자설정에 관련된 하이브 파일은 \Documents and Settings\username 디렉터리에 들어있다. 사실 이는 로컬 사용자 설정인 경우이고, "이동 사용자 프로필" 가진 사용자들은 NTUSER.DAT라는 설정 파일의 복사본이 네트워크 공유에도 저장되어 있다(이에 대해서는 9장에서 다루고 있다). 하위 트리의 부분에 연관되는 하이브 파일을 아래의 표에서 정리하고 있다.

 

하위 트리/

파일 이름

HKEY_LOCAL_MACHINE\SAM

SAM(원본) SAM.LOG(백업)

HKEY_LOCAL_MACHINE\SECURITY

SECURITY(원본) SECURITY.LOG(백업)

HKEY_LOCAL_MACHINE\SOFTWARE

SOFTWARE(원본) SOFTWARE.LOG(백업)

HKEY_LOCAL_MACHINE\SYSTEM

SYSTEM(원본) SYSTEM.ALT(백업)

HKEY_USERS\DEFAULT

DEFAULT(원본) DEFAULT.LOG(백업)

HKEY_USERS\Security ID

NTUSER.DAT

HKEY_CURRENT_USER

NTUSER.DAT

HKEY_CLASSES_ROOT

시스템 시작시 CurrentControlSet으로부터 생성됨

 

위의 표에서는 가지 주의해야 것들이 있다. 첫번째, HKEY_CLASSES_ROOT 하위 트리에 관한 것이다. 하위 트리는 시스템이 시작될 HKEY_LOCAL_MACHINE\SOFTWARE\Classes 부터 복사된다. 파일은 16비트 Windows 어플리케이션을 사용하기 위해 필요하다. 그러나 Server 2003으로 로그온하는 과정에서 개의 키가 연결된다. 하나를 변경하면 변경 사항은 다른 하나에 그대로 반영된다.

 

로컬 사용자 프로필은 \Documents and Settings\username 디렉터리에 들어있는데, 각각의 사용자는 username 동일한 이름의 디렉터리를 가지게 된다. 예를 들어, mark라는 이름의 사용자 계정이 있다면 컴퓨터에는 \Documents and Settings\mark라는 이름의 디렉터리가 있게 된다. 안을 살펴보면 ntuser.dat ntuser.dat.log라는 파일을 찾을 있다.

 

요약하면, 레지스트리의 핵심은 다음 개의 S 시작하는 파일들과 DEFAULT 파일이다.

  1. SAM
  2. SECURITY
  3. SYSTEM
  4. SOFTWARE

 

SAM 사용자 계정 데이터베이스를 포함한다. SECURITY 서버가 구성원 서버인지 도메인 컨트롤러인지, 도메인의 이름이 무엇인지 등의 정보를 포함함으로써 SAM 보완해준다. 도메인 컨트롤러는 SAM 있지만 사용하지는 않으며, 워크스테이션(XP, 2000 Professional ) 구성원 서버는 모두 SAM 사용한다. SYSTEM 컴퓨터가 사용하는 드라이버와 시스템 프로그램에 대한 정보가 시작 시 함께 로드되어야 하는 구성 요소, 파라미터 설정 정보를 담고 있다. SOFTWARE 개별 사용자에 연관된 것이 아닌 보다 소프트웨어에 대한 좀더 전체적인 구성 정보를 가지고 있다. 그리고 모든 사용자들은 자신들만의 어플리케이션 설정 정보를 담고 있는 NTUSER.DAT 가지고 있다.

 

하이브 파일에 대한 의문이 가지 남아있다. 모든 파일이 .LOG라는 확장명으로 가진 쌍으로 이루어져 있는가? 이에 대해 계속 설펴보자.