Start a Conversation

해결되지 않음

이 게시글은 5년 이상 된 게시글입니다.

Closed

N

270 Posts

2795

October 7th, 2008 03:00

커맨드 셸에서 레지스트리 백업과 복원


 커맨드 셸에서 REG 명령은 GUI용 레지스트리편집기 regedit.exe의 명령줄 버젼이이다. 다시말해 명령줄 레지스트리 편집기이다. 이 도구를 활용하는 것은 어렵지 않지만 윈도즈 레지스트리에 관한 지식 보유가 선행되어야 자유자재로 안전한 편집이 가능한데, 자칫 하다가는 윈도즈를 망가뜨리는 불행한 사태가 초래될지도 모른다. 윈도즈 레지스트리만 다루어도 책 한권정도의 분량이라 쉽게 생각할 대상이 아니다. 그러나 윈도즈 비스타의 도움말만 보더라도 몇가지 활용 가능한 실용적인 예제를 발견할 수 있어 해킹(Hacking) 수준까지는 불가능해도 백킹(Backing Up)정도는 가능하다. 그렇다고 자칫 열쇠(Key)를 들고 함부로 벌통(Hive)을 쑤셨다가는 윈도즈가 코마(Coma) 지경에 이를지 모른다는 것을 분명히 해둔다.  마이크로소프트의 레지스트리를 무엇이라 설명하는지 살펴보면 다음과 같다.
레지스트리란?

레지스트리란 시스템 하드웨어, 설치된 프로그램 및 설정, 컴퓨터에 있는 각 사용자 계정의 프로필 등에 대한 중요한 정보가 포함된 Windows의 데이터베이스입니다. Windows에서는 이러한 레지스트리의 정보를 지속적으로 참조합니다.

일반적으로 프로그램 및 응용 프로그램에서는 필요한 내용이 모두 자동으로 변경되므로 레지스트리를 수동으로 변경할 필요가 없습니다. 컴퓨터의 레지스트리를 잘못 변경하면 컴퓨터가 작동하지 않을 수 있습니다. 그러나 손상된 파일이 레지스트리에 나타나면 변경해야 합니다.

레지스트리를 변경하기 전에는 반드시 백업해야 하며 사용자가 이해할 수 있고 신뢰할 수 있는 원본에서 변경하도록 지시한 레지스트리 값만 변경하는 것이 좋습니다.

 데이타베이스(DB) 도구처럼 사용되는 명령들은 대부분 공통적인 인자(Argument) 또는 스위치들이 사용되는데, 질의(Query) 추가(ADD), 삭제(Delete) 등은 대부분의 명령어들이 필수적으로 사용된다. 그러나 레지스트의 정보는 실제 각각의 이진, 바이너리파일로 구성되어져 있는데, 이들 벌꿀통(hivefile)을 열고 꿀을 채취하려면 벌통통 키(Hive Key)가 필요하다.

5개의 벌꿀통이 있다면...
1. HKEY_CLASSES_ROOT = HKCR
2. HKEY_CURRENT_USER(GUI) = HKCU(CMD)
3. HKEY_LOCAL_MACHINE(GUI) = HKLM(CMD)
4. HKEY_USERS(GUI) = HKU(CMD)
5. HKEY_CURRENT_CONFIG(GUI) = HKCC(CMD)

꿀따러 가세^^
 reg.exe를 사용하려면 이렇게 다섯개의 키이름(KeyName)인 HKCR, HKCU, HKLM. HKU, HKCC을 알고 있어야 하며, 이것을 레지스트리의 ROOTKey라고 한다. regedit.exe로 확인해보면 컴퓨터 트리에서 5개의 루트키가 존재함을 확일 할 수 있다. 커맨드 셸(CMD)에서는 단지 너무 이름이 길어서 줄여서 사용할 뿐이다. ROOTKey하나로 끝나면 좋겠지만, 이것은 겉뚜겅의 자물쇠만을 여는 것이리고 벌꿀통의 각 방에 해당하는 Subkey가 있다. 따라서 2개의 이중 보안장치를 가지는 셈이다. 또 꿀을 담을 그룻도 필요하니까 파일이름(FileName)이 필요한 것 당연하다.
reg save KeyName FileName /y

이제 위에 의미가 뭘뜻하는지는 이해가 갈것이고 도움말을 불러보자.
KeyName ROOTKEY\\SubKey
ROOTKEY [ HKLM | HKCU | HKCR | HKU | HKCC ]
SubKey 선택한 ROOTKEY 아래에 있는 레지스트리의 전체 이름

FileName 저장할 디스크 파일 이름. 경로를 지정하지 않으면
호출 중인 프로세스의 현재 폴더에 파일을 만듭니다.

/y 묻지 않고 기존 파일을 덮어씁니다.

 도움말 예제는 참조를 하고, 위에 5개의 꿀벌통 중에 하나를 통째로 백업해 보자. 약간 요령을 발휘해서 현재 컴퓨터이름의 HKCU라는 하이브 파일을 백업했다라는 의미로써 저장할 파일을 명한다면
reg save HKCU %ComputerName%_hkcu_backup.hiv /y


복원하려면
reg restore HKCU %ComputerName%_hkcu_backup.hiv
- 복원후에는 리부팅

 자 이러한 백업 및 복원은 평상시 하이브파일로 미리 백업을 해 놓았다면 문제가 발생시 복원이 가능하기도 하지만, 베타판과 같은 소프트웨어를 사용하거나 또는 시험하기 전에 레지스트리 정보를 저장해 놓고 비상시 활용하면 좋다.

  윈앤위 윈도즈 XP New Window에서도 많은 명령어들 다루기 했지만 미처 다르지 못한 것들도 많다. 점진적으로 윈도즈 비스타 명령어들을 자세히 다루어 나갈 것이다. 앵무새처럼 도움말을 옮기는 작업이 아니라 물론 배우기(Mr.Learn)도 항상 스터디를 하고 소화를 하면서 모르는 것은 깨우쳐 나가고 있다.

*** 그런데 GUI에서 하면 되는데 커맨드셸에서 이 작업을 왜하나? 자동화되니까!
No Responses!
이벤트를 찾을 수 없습니다!

Top