我遇到了“失去”我的环境变量的经常出现的间歇性问题,最常见的是%windir%和%path%。当我锁定键盘并重新登录时会出现问题。重新启动系统(冷启动和热启动)不会可靠地将它们带回来,但最终会多次启动迭代(到目前为止)把一切都带回来了。
如果我打开一个命令窗口并输入 echo%windir%和 echo%path%,并发现变量存在并且已正确定义,和if我将该命令窗口保持打开状态,我可以让我的系统运行数天没有问题。
我已经捕获了设置的结果,以列出所有envars,无论是在系统中断还是修复时。损坏的列表要短得多(%windir%甚至没有定义,%path%包含来自注册表HKCU \ Environment的定义,但不包含来自HKLM \ SYSTEM \ CurrentControlSet \ Control \ SessionManager \ Environment的定义。)
我猜测启动过程正在陷入困境。
整个上午和Geek Squad一起度过,但他们没有具体的建议。 (他们确实建议“将计算机带回以前的恢复点”,但我担心这会导致更多问题......而且他们没有信心会有所帮助。)
除了可能重新安装所有内容之外,我还有其他选择吗?
答案 0 :(得分:0)
我终于找到了答案,虽然我理解这个主题被评论者关闭了,但我认为其他人可能想知道。这个链接解释得很好:
https://superuser.com/questions/355594/windows-7s-path-and-environment-variables-are-corrupted
简短版本是这样的:我的系统PATH超过Windows最大值2048字节(超过2200字节长)。发生这种情况时,启动过程无法实例化PATH和WINDIR。
"修复"是从命令提示符运行c:\ windows \ system32 \ systempropertiesadvanced.exe(因为没有WINDIR,你不能打开环境变量的控制面板应用程序),并从PATH中手动提取任何我认为我可以活的东西没有,直到我将PATH字符串削减到2048字节以下。