Windows 7의 PATH 및 환경 변수가 손상되었습니다


97

나는 단서가 없지만 최근 에이 문제가 발생했습니다. 내 워크 스테이션을 갑자기 실행 한 후 무언가 PATH가 손상되고 많은 작업이 중지됩니다. 처음에 내 경로에는 많은 디렉토리가 나열되어 있었으며 (개발 상자로 Windows 7을 사용함) 얼마 후 3-4 개의 디렉토리가 왼쪽 경로에 나열되었습니다.

쉘 변수를 사용하여 시작하고 작동하지 않기 때문에 환경 변수를 볼 수있는 시스템 속성 대화 상자를 열 수도 없습니다. 요컨대, 매번 재부팅합니다.

그 문제를 일으킬 수있는 아이디어가 있습니까? 최근에 새롭고 특이한 것을 실행하지 않았습니다. VmWare 만 (하지만 과거에는 사용했지만 그 당시에는 문제가 없었습니다).

방금 확인했지만 %WINDIR%정의되지 않았습니다. 이런 씨발?!


2
최근에 64 비트 Vista 상자에서 동일한 문제가 발생했습니다. 분명한 이유없이 새 명령 프롬프트를 열면 경로 변수가 "사용자 변수"에 정의 된 경로의 일부로 설정됩니다. 경로의 "시스템 변수"부분이 없습니다. 일부 시스템 변수는 정의되지 않았습니다. 레지스트리가 정상으로 보이고 시스템 속성 대화 상자 ( "c : \ windows \ system32 \ systempropertiesadvanced.exe"사용)에서 모든 것이 정상으로 보입니다. 재부팅 후 시스템이 정상적으로 작동합니다. 며칠마다 문제가 발생합니다. 전체 바이러스 검사에서 아무것도 발견되지 않았습니다.
Lee

나는 같은 문제가 있었다. 특정 프로그램을 실행하거나 설치 프로그램을 실행하는 등 몇 가지 다른 원인을 발견했지만 그 원인이 다른 이유는 없었습니다 (다른 컴퓨터 또는 VM에서 제대로 작동합니다). 모든 것을 고쳤습니다.
Jim McKeeth 2012 년

4
나의 길은 너무 길었다. 중복을 제거하고 쓸모없는 항목을 제거했는데 문제가 사라졌습니다.
Pavel P

답변:


127

에서 내 블로그

결론적으로, PATH 환경 변수가 2048자를 초과하면 많은 컨텍스트에서 변수 (및 WINDIR)가 표시되지 않습니다.

c : \ windows \ system32 \ systempropertiesadvanced.exe를 수동으로 실행하고 PATH에서 하나의 항목을 삭제하여 2048 자 미만으로 수정하여 문제를 해결했습니다. 새로운 cmd 창은 잘 작동합니다.

업데이트 :이 비슷한 질문 은 2047이 최대라고 주장하며 확장 규칙에 대해 자세히 설명합니다.


2
방금 컴퓨터를 다시 시작하여 문제를 해결했습니다 ... 정말 바보 같은 Windows 제한입니다!
Edwin Yip

3
이 문제가 발생했습니다. 좋은 농담 이었어. 감사합니다
SwimBikeRun

3
다른 사람들이 언급했듯이 PATH를 수정 한 후 재부팅하지 않으려면 작업 관리자에서 explorer.exe를 다시 시작하십시오. 작업 표시 줄을 마우스 오른쪽 버튼으로 클릭하여 작업 관리자를 시작하지 마십시오! 그렇게하면 잭 업 경로 (따라서 새로운 explorer.exe 프로세스)로 작업 관리자가 초기화됩니다. ctrl + shift + escape를 실행하여 시작하십시오
C. Tewalt

1
감사합니다. 지난달 쯤 소니 제품이 약 200 자씩 경로를 올렸을 때이 문제를 해결하고있었습니다.
Michael Dorgan

1
Raven이 제안한 것 외에도 내가 한 것 : c:\program files (86)경로 변수와 같은 일반적인 기본 디렉토리 PRGX86를 프로그램 파일 dir을 가리키는 것과 같은 다른 변수로 바꿉니다. 이렇게하면 추가 문자를 저장할 수 있습니다.
ovm

23

2048 자 제한은 실제입니다. 내가 한 일은 경로를 두 개의 개별 변수로 나누고 PATH 변수에 두 번째 변수를 포함시키는 것입니다.

PATH=C:\;%PATHEXTENDED%
PATHEXTENDED=E:\

이와 같이 PATH 디렉토리를 삭제할 필요는 없지만 2048 자 미만의 PATH 변수가 있습니다.


2
좋아 그것은 천재입니다
kenwarner

1
매우 영리하지만 PATH 항목을 동적으로 추가하는 앱은 완전히 확장 된 경로에서 작동 할 가능성이 높으며 여전히 문제가되지 않습니다. 그러나 적어도 고통은 그 과정에 국한 될 것입니다.
Raven

이 훌륭한 아이디어에 감사드립니다. 그러나 불행히도 Win7에서는 작동하지 않았습니다. 변수 "extpath"또는 귀하의 경우 "pathextended"는 구문 분석되지 않았습니다 .....
unknown6656

2
이 솔루션은 Win 7에서 작동하지 않았습니다. 2 변수의 내용이 연결되었지만 2048th (?) 이후의 모든 문자가 결과 조합 PATH 변수에서 잘 렸습니다. 그래서 @Raven에 따라 아이콘과 등을 다시 얻으려면 결국 PATH에서 항목을 제거 해야 했습니다 %windir%.
snark

12

과도한 path또는 다른 이유로 인해이 문제를 해결하려는 모든 사람을위한 해결 방법 : 탐색기를 다시 시작하십시오. 새로운 쉘은 새로운 환경을 선택합니다. 이렇게하면 아직 근본적인 원인을 식별하고 영구적으로 해결할 수 없더라도 재부팅하지 않고도 당분간 손상이 해결됩니다.

1.

여기에 이미지 설명을 입력하십시오

2.

여기에 이미지 설명을 입력하십시오

삼.

여기에 이미지 설명을 입력하십시오

편집 : 최신 버전의 Windows 용 업데이트.

작업 관리자는 이제 한 단계로 수행합니다.

여기에 이미지 설명을 입력하십시오


이것은 질문에 대한 답변을 제공하지 않습니다. 작성자의 의견을 비판하거나 설명을 요청하려면 게시물 아래에 댓글을 남겨주세요. 언제든지 자신의 게시물 에 댓글 수 있으며 평판 이 충분 하면 게시물댓글 수 있습니다 .
Michael K

나는 동의하지 않습니다. 문제는 Windows 7's PATH and environment variables are corrupted입니다. 내 답변은 해당 손상을 제거하는 방법을 제공합니다. 이것은 자체적으로 그리고 다른 수정 사항과 함께 재부팅이 필요한 다른 관련 답변입니다.
Reg Edit

Ravens 답변을 편집하고 귀하의 부분을 추가하는 것이 좋습니다. 대부분의 사람들은 받아 들여진 답을 읽게되며 내가 올바르게 이해한다면, 당신의 대답은 대부분 그에 대한 추가입니다.
Michael K

아, 알겠습니다 아니요, 시도중인 솔루션과 관련이 있습니다. 더 명확하게하기 위해 답변을 편집했습니다.
Reg Edit

1
이것은 아마도 대답보다 주석으로 더 가치가 있었을 것입니다. 다시 시작하는 대신 explorer.exe 작업을 종료하고 explorer.exe를 다시 시작해야합니다. 귀하의 답변은 문제의 일부를 해결합니다.이 부분 "환경 변수를 볼 수있는 시스템 등록 정보 대화 상자를 열 수 없습니다 (쉘 변수를 사용하여 시작하고 작동하지 않기 때문에). 시각." 그러나 다시 시작한 후에 경로 문제가 있으므로 다시 시작해도 문제가 해결되지 않습니다.
barlop

3

레지스트리 키를 모니터링하는 프로그램을 가져와야합니다.

사용자 변수

HKCU\Environment

기계 변수

HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment

그들이 파괴되는 순간을 잡아서 좁힐 수 있습니다.

또한 부팅 후 소요되는 시간. 적어도 언제 일어날 지 알 수 있다면 사물을 좁히는 데 도움이 될 것입니다.

안전 모드도 시도하십시오. 프로세스와 관련된 경우 이벤트 뷰어를 확인하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.