[Windows] 윈도우 '사용자' 환경 변수 복구 방법(시스템 환경 변수도 복구 가능)
환경 변수를 추가하려다 사용자 환경 변수를 날려버리는 대참사를 일으켰다. 시스템 환경 변수가 아닌 사용자 환경 변수를 복구하기 위해 여러 정보를 찾아보았으나, 마이크로소프트 커뮤니티에서도 본인에게 효과적인 방법은 나오지 않았다. 아래는 답변 링크이다.
마이크로소프트 한국 공식 커뮤니티 답변 링크. 레지스트리 수정을 통해 복구하라고 하지만, 본인은 ControlSet002는 보이지 않았다.
결국 방법을 알아냈고 본인은 잘 복구하였다. 부디 여러분들도 본인처럼 무사히 복구하기를 바라며 해당 과정을 아래에 적어두었다.
TL;DR
'Process Explorer' 프로그램을 다운로드 후 실행한다.
환경변수를 변경하기 전 실행된 프로세스를 2번 클릭한다.
Environment 탭을 클릭한다.
Path 변수를 선택하고 Ctrl+C를 누른다.
메모장을 열고 메모장에 붙여넣는다.
setx 명령어를 이용하여 환경변수 값을 저장한다.
1. 'Process Explorer' 프로그램을 다운로드 후 실행한다.
Process Explorer라는 프로그램은 프로세스에 대한 상세한 정보를 보여주는 프로그램이다. 이 프로그램은 프로세스가 실행되었을 시점의 환경변수도 보여준다. 환경변수는 프로세스가 실행될 때 호출되면 재실행 전까지 변경되지 않는다는 특성을 이용한 것이다. 해당 프로그램은 아래의 링크에서 받을 수 있다.
https://docs.microsoft.com/en-us/sysinternals/downloads/process-explorer
압축을 풀면 아래와 같은 프로그램이 보인다. procexp64.exe를 실행하면 된다.
2. 환경변수를 변경하기 전 실행된 프로세스를 2번 클릭한다.
해당 프로그램을 실행하면 아래와 같은 화면이 나온다. 여기서 환경변수를 삭제하기 전 실행된 프로그램을 선택하자. 본인은 chrome을 선택하였으나, explorer이든 무엇이든 환경변수를 수정하기 전 실행된 프로그램을 선택하면 된다.
무엇이 먼저 실행되었는지 모르면 아래의 방법을 사용하면 된다.
'View' 선택 후 'Select Columns...' 선택 후 'Progress Performance'에서 'Start Time'을 선택하면 실행 시간이 나온다.
해당 프로세스를 실행한 사용자를 알고 싶으면 'Select Columns...'의 'Process Image'에서 'User Name'을 선택하면 실행한 사용자가 나온다.
그러면 아래와 같은 화면이 나온다. 이때 정렬하고자 하는 Column을 누르면 정렬된다.
환경변수를 삭제하기 전 실행된 프로세스를 찾았다면 해당 프로세스를 2번 클릭하자. 그러면 아래와 같은 화면이 나온다.
3. Environment 탭을 클릭한다.
위 화면에서 'Environment'를 클릭하면 해당 프로세스가 실행되었을 때의 환경변수가 나온다.
4. Path 변수를 선택하고 Ctrl+C를 누른다.
위의 'Path'를 클릭하여 활성화시키고, Ctrl+C를 입력하면 환경변수가 복사된다.
5. 메모장을 열고 메모장에 붙여넣는다.
이제 메모장에 입력하면 아래와 같이 나온다.
여기서 Path는 제외하고, 뒤의 환경변수를 복사하자. 위 환경변수를 '시스템 환경 변수 편집'을 이용하여 일일이 입력해도 되지만, 아래의 명령어를 이용하여 1번에 입력하도록 하자.
6. setx 명령어를 이용하여 환경변수 값을 저장한다.
마지막으로 setx 명령어를 이용하여 환경 변수를 저장하면 된다.
setx PATH'<복사한 환경변수>'
위 명령어를 입력하고 환경 변수를 조회하면 아래와 같이 잘 복구된 것을 확인할 수 있다.
이렇게 환경 변수를 복구하는 방법을 알아보았다. 살면서 처음 저질렀지만 워낙 치명적인 실수라 정말 식은땀 흘리면서 여러 방법들을 찾아보았다. 특히 레지스트리가 나오지 않았을 때 엄청 당황했지만, 그래도 어찌어찌 잘 해결했다. 아직까지는 다행히 프로그램들이 잘 실행되는 것으로 보아 잘 복구된 것 같다.
이 글이 도움이 되기를 바랍니다.