Windows 레지스트리란 무엇이며 무엇을 할 수 있습니까?

레지스트리(Registry)Microsoft Windows 운영 체제, 해당 응용 프로그램 및 하드웨어 장치 드라이버가 구성을 유지 관리하는 데 사용하는 모든 설정 의 데이터베이스입니다.

여러 면에서 레지스트리 는 (Registry)Windows 의 중심에 있으며 고급 사용자는 이를 사용하여 컴퓨터에서 불가능했을 작업을 수행할 수 있습니다. 

경고: (Warning: )레지스트리(Registry) 를 변경하면 컴퓨터가 손상될 수 있습니다. 편안하게 변경만 하고 항상 사전 에 레지스트리를 백업 해야 합니다.(back up the Registry)

A (간략한) 레지스트리의 역사

Windows에 레지스트리가 있는 이유는 무엇입니까? 레지스트리는 Windows 95 릴리스와 함께 Windows에 도입되었으며 (Windows 95)Windows 11 까지 유지되었습니다 . Windows 95 이전 에는 구성 정보가 현재 .ini 파일과 유사한 텍스트 파일에 저장되었습니다.

여기에는 몇 가지 문제가 있었습니다. 첫째(First) , 사람들이 이러한 텍스트 파일을 실수로 삭제하기 쉬웠고 손상을 되돌릴 방법이 없었습니다. 둘째, 이러한 구성 파일에는 표준 구조가 없습니다. 다른 개발자가 응용 프로그램에 맞게 구성했습니다.

레지스트리(Registry) 는 중앙 집중식 및 표준화된 구성 저장소입니다. 또한 사용자가 레지스트리(Registry) 에 있는 정보를 실수로 삭제하거나 파괴하는 것을 사실상 불가능하게 만들었습니다 . 백업할 수 있으며(아래에서 다룰 것임) 악의적인 공격으로부터 Windows 에 의해 철저하게 보호됩니다.(Windows)

오늘날의 Windows 10Windows 11 운영 체제에서 레지스트리(Registry) 는 자체적으로 유지 관리하고 복구할 수 있는 정교한 시스템이지만 오류가 없는 것은 아닙니다.

기본 레지스트리 구조

레지스트리(Registry) 는 계층적 데이터베이스입니다. 계층의 맨 위에는 컴퓨터가 있습니다. 그 아래에서 "벌집"으로 알려진 주요 가지를 찾을 수 있습니다. 이러한 하이브에는 레지스트리(Registry) 키가 있습니다. 키는 하위 키와 레지스트리(Registry) 값을 포함할 수 있습니다.

키 값에는 String, Binary(Binary) 또는 DWORD 의 세 가지 유형이 있습니다 . 문자열은 한 줄의 텍스트입니다. 이진 값은 들리는 대로 1과 0으로 표현되는 값입니다. DWORD 는 4바이트 숫자입니다. 이들은 일반적으로 부울 값을 저장하는 데 사용되므로 1 또는 0은 "활성화됨" 및 "비활성화됨"을 나타낼 수 있습니다.

5개의 주요 분기는 각각 다른 클래스의 설정을 저장합니다.

  • HKEY_CLASSES_ROOT: " HKCR "이라고도 하며 파일 연결, 바로 가기 및 끌어서 놓기 기능을 지원하는 설정과 같은 Windows 인터페이스 설정 이 있는 곳 입니다.
  • HKEY_CURRENT_USER: " HKCU "라고도 하는 여기에는 로그인 이름, 사용자 지정 바탕 화면 및 시작 메뉴 설정과 같이 현재 로그인한 (Start Menu)Windows 사용자에 대한 설정이 있습니다.
  • HKEY_LOCAL_MACHINE: " HKLM "이라고도 하며 그룹 정책(Group Policy) 설정 을 포함하여 하드웨어 및 소프트웨어에 대한 설정이 저장되는 곳 입니다.
  • HKEY_USERS: PC의 모든 사용자에 대한 설정을 포함합니다. 각 사용자에게는 하위 키가 있습니다.
  • HKEY_CURRENT_CONFIG : 현재 하드웨어 구성 설정과 관련된 HKEY_LOCAL_MACHINE 부분으로 다시 연결됩니다 .

컴퓨터의 특정 측면에 대한 레지스트리(Registry) 설정을 찾고 있는 경우 이러한 주요 분기 간의 차이점을 알면 필요한 항목을 찾기 전에 조사해야 하는 시간을 줄일 수 있습니다.

Regedit로 레지스트리 편집

레지스트리(Registry) 는 의도적이거나 우발적인 변조를 방지하도록 설계 되었지만 Windows 에는 (Windows)레지스트리(Registry) 를 탐색하고 편집할 수 있는 앱이 포함되어 있습니다 . Windows 레지스트리 편집기(Windows Registry Editor) (또는 간단히 Regedit ) 로 알려진 이 앱은 레지스트리(Registry) 의 구조 와 여기에 포함된 모든 값을 보여줍니다.

키를 열고 값을 변경하는 것은 원하는 값을 찾을 때까지 레지스트리(Registry) 트리 를 확장한 다음 변경하려는 값을 두 번 클릭하는 것만큼 쉽습니다 .

레지스트리 편집기(Registry Editor) 를 열려면 Windows (Windows key) + R 을 눌러 실행 대화 상자를 엽니다. regedit 또는 regedit.exe 를 입력 하고 Enter 키를 누릅니다 . 또는 시작 메뉴(Start Menu) 를 사용하여 검색 하고 결과가 나타나면 레지스트리 편집기(Registry Editor) 를 클릭하십시오 .

레지스트리를 편집해야 합니까?

특별한 이유가 없는 한 레지스트리(Registry) 를 편집해서는 안 됩니다. 그 이유는 시스템의 안정성과 잠재적으로 손실될 수 있는 시간 및 데이터보다 더 중요해야 합니다.

특정 결과에 대해 레지스트리(Registry) 를 편집하는 방법을 보여주는 온라인 가이드를 따르는 경우 댓글을 확인하여 해당 편집이 사람들에게 어떻게 적용되었는지 확인하십시오. 또한 여기에서 레지스트리(Registry) 구조 에 대해 배운 내용을 기반으로 가이드에 표시된 내용이 의미가 있는지 확인하십시오. 편집에 문제가 있는 경우 시스템 설정이 손상되었기 때문에 종료 후 컴퓨터를 시작할 때 실패할 수 있습니다.

따라서 변경하기 전에 항상 레지스트리를 백업해야 합니다.

레지스트리 백업

여러 가지 방법으로 레지스트리(Registry) 를 백업 및 복원할 수 있습니다 . 

Windows 백업 도구 또는 타사 백업 유틸리티 를 사용하여 전체 드라이브 백업을 수행하는 경우 (모든 종류의 이유에 대해 좋은 생각) 레지스트리(Registry) 가 다른 모든 항목과 함께 백업됩니다. 단점은 해당 백업을 복원해야 하는 경우 마지막 백업 이후 생성된 다른 데이터가 손실된다는 것입니다.

시스템 복원(System Restore) 유틸리티를 사용 하여 복원 지점을 만들 때 해당 시점에 레지스트리 도 백업합니다. (Registry)복원 지점에서 복원하면 마지막 복원 지점이 생성된 이후에 생성한 파일과 같은 데이터는 손실되지 않습니다.

레지스트리 편집기 를 사용하여 (Registry Editor)레지스트리(Registry) 만 백업 할 수 있습니다 . 파일(File) > 내보내기 (Export)(Simply) 선택 하고 저장 위치를 ​​선택하기만 하면 됩니다.

그런 다음 해당 레지스트리(Registry) 파일을 클라우드 또는 물리적 백업 미디어에 저장할 수 있습니다. 레지스트리(Registry) 를 변경하기 직전 에 내보내는 것도 좋은 생각 입니다. 어떤 식으로든 레지스트리를 엉망으로 만든 경우 파일(File) > 가져오기 를 사용하여 저장된 (Import)REG 파일을 즉시 가져올 수 있기 때문 입니다. 벌통을 마우스 오른쪽 버튼으로 클릭하고 " 내보내기(Export) ." 를 선택하여 특정 벌통을 내보낼 수도 있습니다 .

참고:(Note: ) 컴퓨터에서 너무 많은 항목이 변경되어 교체하는 것보다 훨씬 더 적합하지 않은 레지스트리(Registry) 가 될 수 있으므로 하루 이상 지난 레지스트리(Registry) 백업은 복원하지 않는 것이 좋습니다 .

복원할 수 없는 레지스트리(Registry) 가 남지 않도록 레지스트리 백업에 대한 심층 가이드를(in-depth guide to backing up the Registry) 확인 하십시오.

레지스트리에 문제가 발생하는 방법

레지스트리(Registry) 에 몇 가지 문제가 발생할 수 있습니다 . 문제가 발생한 방식과 컴퓨터에 미친 영향에 따라 복원할 최근 레지스트리(Registry) 백업이 없는 경우 문제를 복구할 수 있거나 "문제"가 문제가 아닌 것으로 판명될 수 있습니다.

고아 레지스트리 항목(Orphaned Registry Entries)

분리된 항목은 소프트웨어를 제거할 때 남겨진 키와 값입니다. 그들은 엉성한 제거 소프트웨어로 인해 발생합니다. 이들은 무해하지만 레지스트리(Registry) 정리 앱은 고아 항목이 레지스트리(Registry) 를 "막히게"하고 성능과 안정성에 영향을 미친다는 전제 하에 판매됩니다. 득보다 실이 훨씬 많을 수 있는 레지스트리(Registry) 클리너를 사용하지 않는 것이 좋습니다 .

중복 키(Duplicate Keys)

소프트웨어를 재설치, 업그레이드 또는 업데이트하면 키가 중복될 수 있습니다. 이것들도 마찬가지로 무해하므로 그것에 대해 걱정하거나 레지스트리(Registry) 클리너가 주제에 대해 말하는 것을 믿지 마십시오.

레지스트리 "단편화"(Registry “Fragmentation”)

이것은 키 또는 값이 삭제될 때 레지스트리(Registry) 하이브 에 남아 있는 공백을 나타냅니다 . 이것은 아무 영향도 미치지 않는 또 다른 레지스트리 "(Registry “) 오류" 이며 특히 Windows 10 또는 11 에서 레지스트리(Registry) 를 복구, 조각 모음 또는 압축할 필요가 없습니다 .

레지스트리 손상(Registry Corruption)

데이터(Data) 손상은 컴퓨터 드라이브의 모든 부분에 영향을 줄 수 있습니다. 레지스트리(Registry) 파일을 완전히 또는 부분적으로 읽을 수 없게 만드는 경우 컴퓨터가 부팅을 거부하거나 이상한 동작을 보일 수 있습니다. 특히 하드웨어 데이터가 손상된 경우 레지스트리(Registry) 를 복원하기 전에 손상의 원인을 파악해야 합니다 .

파괴적인 편집(Destructive Editing)

누군가가 레지스트리 편집기 를 사용하여 실수로 작업을 중단했지만 (Registry Editor)Windows 또는 응용 프로그램을 사용할 수 없게 만드는 방식으로 값을 삭제하거나 수정하는 경우에 발생합니다. 최근 레지스트리(Registry) 백업의 복원이 기본 솔루션입니다.

멀웨어(Malware)

맬웨어 는 (Malware)레지스트리(Registry) 를 수정하여 자신에게 있어서는 안 되는 권한이나 데이터 액세스 권한을 부여할 수 있습니다. 맬웨어 작성자가 탐지되지 않은 상태로 유지하려고 하기 때문에 이러한 유형의 레지스트리(Registry) 손상은 탐지하기 어렵습니다. 맬웨어를 제거한 후에도 레지스트리(Registry) 손상이 남아 있을 수 있습니다.

레지스트리(Registry) 손상은 고통스러울 수 있으므로 손상된 레지스트리 항목을 수정(How to Fix Broken Registry Items) 하는 방법 및 Windows 그래픽 사용자 인터페이스 로 부팅할 수 없는 경우 명령 프롬프트(Command Prompt) 수정 사항 도 포함하는 레지스트리 오류를 수정하는 방법을 확인하십시오.(How to Fix Registry Errors)

레지스트리를 해킹하면 가능한 일

이 시점에서 레지스트리를 엉망으로 만드는 것에 대해 조금 더 경계할 수 있습니다. 그것이 사실이라면 우리는 할 일을 다한 것입니다. 레지스트리 편집은 가볍게 생각할 일이 아닙니다. 

그러나 주의를 기울이고 좋은 소스를 사용하면 유틸리티나 앱이 할 수 없는 방식으로 Windows 환경을 크게 개선하고 Windows 를 사용자 지정할 수 있습니다.(Windows)

예를 들어 다음을 수행할 수 있습니다.

  • 데스크탑 컨텍스트 메뉴 변경
  • 바탕 화면 아이콘 간격 수정
  • 사용자 계정 컨트롤(User Account Control) ( UAC )을 비활성화 하되 꼭 필요한 경우가 아니면 하지 마십시오.

이것은 몇 가지 예에 불과하지만, 당신이 모를 수도 있는 10가지 멋진 Windows 10 레지스트리 해킹(10 Awesome Windows 10 Registry Hacks You Might Not Know) 으로 넘어 가면 이 간단하면서도 효과적인 해킹을 수행하는 방법을 배우게 될 것입니다.



About the author

저는 Windows MVP이고 2007년부터 Windows로 작업해 왔습니다. 제 경험에는 소프트웨어 개발, 하드웨어 및 사운드, Windows 앱이 포함됩니다. 저는 항상 제 작업에서 사용자 경험을 개선할 수 있는 최선의 방법을 찾고 있습니다. 따라서 소프트웨어 응용 프로그램을 설계하거나 개발하는 데 도움이 필요하면 제 서비스를 제공할 수 있습니다.



Related posts