윈도우11이나 윈도우10에서 시스템 환경 변수 또는 사용자 환경 변수를 실수로 삭제하면 명령어 실행 오류, 프로그램 충돌, 경로 인식 불가 등 다양한 문제가 발생할 수 있습니다. 특히 Path, TEMP, SystemRoot와 같은 주요 변수는 운영체제와 여러 애플리케이션의 정상적인 동작에 필수적인 항목입니다.
환경 변수를 삭제하거나 설정을 망가뜨렸다면 기본값으로 재설정하거나 이전에 설정되었던 환경변수를 찾아 복구하는 방법이 필요합니다. 이 글에서는 윈도우 환경변수의 개념부터 복구 방법까지 자세하게 알아보겠습니다.
목차
윈도우 환경 변수란?
환경 변수는 윈도우 운영체제가 응용 프로그램과 시스템 구성 요소가 공통된 정보(경로, 설정 값, 임시 폴더 등)를 인식하고 활용할 수 있도록 해주는 전역 변수입니다. 쉽게 말해, 윈도우와 각종 프로그램이 서로 정보를 주고받을 때 기준이 되는 전역 설정값이라 볼 수 있습니다.
예를 들어, 컴퓨터에서 어떤 프로그램을 실행할 때마다 해당 프로그램의 설치 경로나 관련된 데이터 경로를 매번 지정해 주는 것은 비효율적입니다. 이때 환경 변수에 C:\Program Files\Java\bin
과 같은 경로가 저장되어 있으면, 명령 프롬프트에서 단순히 java라고 입력하더라도 윈도우는 자동으로 해당 경로를 찾아 실행할 수 있게 됩니다.
윈도우 환경 변수는 크게 시스템 환경 변수와 사용자 환경 변수로 나뉩니다.
- 시스템 환경 변수 : 전체 컴퓨터(모든 사용자 계정)에 영향을 주며, 운영체제 및 서비스 수준에서 사용하는 변수입니다. 예: SystemRoot, ProgramFiles, Path 등
- 사용자 환경 변수 : 현재 로그인된 사용자 계정에만 영향을 주는 변수입니다. 예: TEMP, USERNAME, USERPROFILE 등
이러한 환경 변수는 명령어 실행, 소프트웨어 빌드, 임시 파일 저장, 백업 경로 설정, 그리고 배치 스크립트 실행 등 수많은 작업에 필요합니다. 특히 개발자나 고급 사용자에게는 환경 변수 설정이 작업 자동화와 시스템 관리에 필수적입니다.
환경 변수를 잘못 삭제하거나 잘못된 값으로 변경하면 시스템 불안정, 명령어 실행 오류 등의 문제가 발생할 수 있기 때문에 신중하게 다뤄야 하며, 필요 시 백업 및 복원이 가능하도록 관리하는 것이 좋습니다.
환경 변수 path 복구하는 방법
환경 변수의 path를 삭제하기 전에 설정되었던 path 경로들을 명령 프롬프트에서 확인할 수 있습니다.
시작 버튼을 클릭한 다음 검색 상자에 “명령 프롬프트”를 입력해 실행합니다.
echo %PATH%
환경 변수 경로 확인 명령어를 입력하면 삭제 전에 설정되었던 경로가 한 줄로 출력됩니다. 여기서 세미콜론(;)은 구분자이므로 세미콜론을 제거하면 아래와 같은 경로를 확인할 수 있습니다.
C:\WINDOWS\system32
C:\WINDOWS;C:\WINDOWS\System32\Wbem
C:\WINDOWS\System32\WindowsPowerShell\v1.0\
C:\WINDOWS\System32\OpenSSH\
C:\Users\PG\AppData\Local\Microsoft\WindowsApps
노란색으로 표시된 경로는 사용자 변수의 path이며 나머지는 시스템 변수의 path입니다. 이 경로들을 환경 변수 편집 화면에서 추가하면 복구가 완료됩니다.
실행 중인 프로세스에서 환경 변수 path 확인 및 복구하기
첫 번째 방법으로 경로를 확인할 수 없는 경우 프로세스에 일시적으로 저장된 환경 변수를 이용해야 합니다.
사용자가 실행한 프로그램은 프로세스 내부에 시스템 및 사용자 환경 변수를 가지고 있으며 path 경로 또한 포함됩니다. 이를 응용하면 path를 삭제하기 전에 실행된 프로세스 정보에서 사용자 환경 변수 path를 추출해 복구할 수 있습니다.
프로세스에서 환경 변수를 추출하려면 Process Explorer가 필요합니다. 이 프로그램은 마이크로소프트에서 공식으로 배포하며 아래 링크로 이동해 다운로드 받을 수 있습니다.
압축을 푼 다음 procexp64를 실행합니다. 환경 변수를 복구하기 위해서는 환경 변수가 삭제되기 전에 사용자 권한으로 실행된 프로세스를 찾아야 합니다. 메뉴에서 View > Select Columns를 클릭합니다.
Process Image 탭을 클릭한 다음 User Name을 체크합니다.
그리고 Process Performance 탭을 클릭 후 Start Time을 체크합니다. 정렬 조건으로 2가지가 추가되었으면 [확인] 버튼을 눌러 창을 닫습니다.
환경 변수를 확인하려면 환경 변수를 삭제하기 전, 사용자 권한으로 실행 이 2가지 조건을 만족하는 프로세스를 찾아야 합니다.
프로세스 목록 화면에서 Start Time을 클릭해 오래 전에 실행된 프로세스부터 정렬합니다. 그리고 User Name을 확인해서 사용자 권한으로 실행된 프로세스를 찾습니다.
참고로 시스템 권한으로 실행된 프로세스는 <access denied>로 표시되며, 사용자 권한으로 실행된 프로세스는 컴퓨터\사용자이름 형식으로 표시됩니다.
조건에 맞는 프로세스를 찾았다면 더블 클릭합니다.
프로세스 정보에서 Environment 탭을 클릭합니다. 그리고 환경 변수 목록에서 path를 찾아 클릭한 다음 Ctrl+C를 누르면 클립보드에 복사됩니다.
빈 메모장을 열어 Ctrl+V로 붙여넣기하면 환경 변수 path를 확인할 수 있습니다. 여러 경로가 한 줄로 작성되어 있는데, 세미 콜론(;)으로 여러 경로가 구분되어 있습니다. path에서 사용자 폴더가 포함된 경로는 사용자 환경 변수 path입니다.
삭제한 환경 변수를 확인했으니 이제 환경 변수 편집 화면에서 추가하면 복구가 완료됩니다.
마치며
실수로 환경 변수의 path를 삭제했을 때 복구하는 방법에 대해 알아봤습니다. 삭제 후 환경 변수를 추가적으로 건들이지 않았다면 첫 번째 방법으로 쉽게 삭제한 경로를 확인하고 복구할 수 있습니다.
하지만 삭제 후 다른 환경 변수를 추가하는 등의 변경 사항이 생기면 환경 변수 확인 명령어로 이전 정보를 불러올 수 없으므로 두 번째 방법을 사용해 복구해야 합니다.
이 문제외에도 시스템에 문제가 생겼을 때 이전 상태로 되돌리기 쉽지 않으므로 안정적인 시스템 사용을 위해 복원 지점을 정기적으로 만들어 시스템을 백업하는 것을 권장합니다.