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.