모든 사용자 프로필 간에 동일한 Windows 레지스트리가 공유됩니까?

모든 사용자 프로필 간에 동일한 Windows 레지스트리가 공유됩니까?

Windows 10 PC에는 개발자 프로필과 일반 프로필이라는 두 개의 사용자 프로필이 있습니다. 개발자 프로필에서 .reg파일을 실행하여 활성 Git Bash 프롬프트가 있는 Windows 터미널 인스턴스를 여는 컨텍스트 메뉴 항목을 추가했습니다.

놀랍게도 다른 Windows 프로필의 컨텍스트 메뉴에도 새 메뉴 옵션이 표시되었지만 클릭하면 지정된 경로나 파일에 액세스할 수 없다는 오류가 표시되었습니다. 일반 프로필에 Windows 터미널이 설치되어 있지 않기 때문입니다. 그리고 일반 프로필에서 문제의 레지스트리 키를 삭제하면 개발자 프로필의 상황에 맞는 메뉴에서도 메뉴 항목이 제거됩니다.

두 프로필 간에 동일한 Windows 레지스트리가 공유되어 이런 일이 발생합니까? 그렇다면 각 사용자 프로필에 대해 별도의 레지스트리를 어떻게 가질 수 있습니까?

등록 파일:

Windows Registry Editor Version 5.00
    
[HKEY_CLASSES_ROOT\Directory\Background\shell\windowsterminal]
@="Open Windows Terminal Here"
"Icon"="%USERPROFILE%\\AppData\\Local\\WTerminal\\terminal.ico"
        
[HKEY_CLASSES_ROOT\Directory\Background\shell\windowsterminal\command]
@="wt new-tab --profile \"Git Bash\" --startingDirectory ."

답변1

예, 아니오. HKEY_LOCAL_MACHINE공유됩니다; HKEY_CURRENT_USER사용자별로 비공개입니다.

한편 HKEY_CLASSES_ROOT는가상실제로 그 나무는병합된 보기사용자별 HKCU\Software\ClassesHKLM\Software\Classes트리 모두에 대한 것입니다. (분리되지 않은 Windows 9x의 남은 부분입니다.)

HKCR에 대한 쓰기는 사용자의 권한과 업데이트되는 키가 원래 HKCU 또는 HKLM에서 로드되었는지 여부에 따라 개인 또는 시스템 레지스트리로 이동됩니다.

HKEY_CURRENT_USER\Software\Classes사용자별 파일 연결을 가지려면 HKEY_CLASSES_ROOT를 사용하는 대신 연결하십시오 . 마찬가지로 시스템 전체 항목을 만들려면 HKLM에 넣습니다.

답변2

예, 단일 레지스트리가 있습니다. 레지스트리에는 여러 개의 실제 하이브와 여러 개의 "가상" 하이브가 있습니다. 가장 중요한 실제 두드러기 중 두 가지는 HKEY_LOCAL_MACHINE및 입니다 HKEY_USERS. 후자가 의미하는 바와 같이 이는 여러 사용자를 위한 가치를 보유합니다.

이제 프로세스를 시작한 사용자의 키를 대략적으로 말하면 HKEY_CURRENT_USER하나의 하위 키에 대한 가상 매핑이 있습니다 . HKEY_USERS따라서 서로 다른 프로세스는 서로 다른 HKEY_CURRENT_USER매핑을 가질 수 있습니다. 마찬가지로 해당 하위 키 를 HKEY_CLASSES_ROOT병합하여 형성된 가상 뷰이기도 합니다 .HKEY_LOCAL_MACHINEHKEY_USERS

레지스트리는 액세스 제어 목록(ACL)을 지원하므로 다른 사용자의 키를 보지 못할 수도 있습니다.

관련 정보