Registry를 확인하기 위해서 Win+r 입력 후 regedit을 입력하면 볼 수 있으니 참고
Windows 전반에 걸쳐 사용되는 설정, 구성
디스크가 아니라 메모리에 존재하여 휘발성의 특징을 가진다. 즉, 재부팅시 사라진다.
Registry는 키(Key)와 값(Values)이라는게 존재
Key : 폴더의 개념
Values : 파일의 개념, Key안에 들어가있는 DATA값이다.
Registry는 하이브(Hive)로 나뉘어 진다.
Registry 정보를 가지고 있는 물리적 파일
Root Key 아래의 서브키로부터 아래의 모든 서브키를 포함하는 트리 구조를 뜻한다고 함.
운영체제가 시작되거나 사용자가 로그인할 때 지원 파일 집합이 메모리에 로드되는 regestry key, 하위 키 및 값의 논리적 그룹이다.
즉, 사용자가 컴퓨터에 로그온할 때마다 사용자 프로필에 대한 별도의 파일을 사용하여 해당 사용자에 대한 앱 설정, 데스크톱, 환경, 네트워크와 관련된 레지스트리가 포함되어있는 새 하이브가 만들어 지고 Hive File을 통하여 Registry의 정보를 확인 가능하다.
Hive는 HKEY로시작하며, Windows API 정의로 이름이 지정되어 있다
c:\windows\system32\config
RegBack : 하이브 파일 백업
HKEY_CLASSES_ROOT(HKCR)
Windows는 이 섹션을 사용하여 파일 형식의 연결을 관리 하며
HKLM\Software\Classes에 대한 링크
즉, 마우스 우클릭 하는 경우 나오는 메뉴
로그인 한 사용자에 대한 사용자 설정을 보유
HKEY_USERS\에 대한 링크
HKCU\Software에서 대부분의 소프트웨어에 대한 사용자 수준 설정이 포함되어있다(중요한 경로)
즉, Windows의 특정 사용자에게만 지정된 커스텀 설정이 가능한 항목이다. AD서버의 도메인을 받아온 VM에서 가끔 안에 설치되어있는 프로그램에서 사용자 정보를 받아오지 못할경우 해당 경로에서 사용자 id를 등록해 확인가능하다.
시스템 전체 설정에 대한 정보가 저장된다
HKLM\Software 키를 사용하여 컴퓨터 설정 확인 가능
즉, 설치된 프로그램과 하드웨어 정보등 많은 Windows의 Setting을 이곳에서 확인 가능하다.
시스템의 모든 사용자에 대한 모든 설정을 저장한다.
보통 HKCU를 대신 사용하는데 컴퓨터의 다른 사용자에 대한 설정을 확인 할 경우 HKCU를 사용한다.
즉, 일반적인 사용자에 관한 설정이라고 보면 된다.
현재 하드웨어 구성에 대한 모든 정보를 저장
HKLM\SYSTEM\CurrentControlSet\HardwareProfiles\Current에 대한 링크
default 형식
[하이브 이름\키 이름\서브키 이름]
"값 이름"="값 형태":"값 데이터"
"값 A"="문자열 값 데이터"
"값 B"=hex:"이진 데이터"
"값 C"=dword:"DWORD 값 정수"
"값 D"=hex(7):"다중 문자열 값 데이터"
"값 E"=hex(2):"확장 가능한 문자열 값 데이터"
Registry 생성 예제
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft]
"onehyeokchoi"="cool" "이진 값"=hex:"01,11,00,10,01,10,11,10" "QWORD(64비트)":hex(b):64,00,00,00,00,00,00,00" "DWORD(32비트)":dword:0000032 "다중 문자열 값":hex(7):ad,ag,d4,tg,c3,v3,v4,b5,q1,3r,4d,2d,3f,00,00,00,00,
Registry 키 값 삭제 및 수정 예제
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft]
"onehyeokchoi"="nice" "이진 값"=hex:"01,11,00,10,01,10,11,10" "QWORD(64비트)":hex(b):64,00,00,00,00,00,00,00" "DWORD(32비트)":dword:0000000 "다중 문자열 값":hex(7):-
Registry 키 삭제
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft]
bat 스크립트 이용한 registry 값 등록
기본 형식 : reg (add/delete/query/export/import) "키 값"/v "값 이름" /t "데이터 형식" /d "데이터" /f /f : 강제 적용 /v : 값 이름
등록
@Echo off reg add "HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main" /v "Start Page" /t REG_SZ /d "wonhyeok.co.kr" /f
Registry 삭제
reg delete "HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main" /v "wonhyeok.co.kr" /f
Registry 조회
reg query "HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main" /v "wonhyeok.co.kr"
Registry 내보내기
reg export "HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main" /v "lol.reg"
Registry 가져오기
reg import lol.reg