Windows 7中缺少环境变量


9

当我重新启动计算机时,一切都变得很好。然后,几个小时后,诸如Visual Studio,Notepad ++,游戏,iTunes,Windows组件(Cmd提示,资源管理器等)之类的应用程序便会停止处理有关丢失文件或安装不正确的错误。

我发现,如果我浏览到Cmd.exe并直接运行它(而不是从菜单链接),则可以运行它,并且WinDir环境变量和其他变量丢失了(这解释了为什么我无法运行Cmd.exe)从快捷方式开始,因为它使用%WinDir%\ System32作为路径),并且系统路径设置为(NULL)。

当我转到“高级系统设置”(再次手动浏览至SystemPropertiesAdvanced.exe)时,所有环境变量仍然存在。我检查了内存利用率,发现6 Gig中有1个可用,并且我的Commit Charge峰值在限制以下(例如30%)。

剪贴板也停止工作。

尽管我确实打开了很多Chrome标签页,但没有对异国情调进行任何操作。运行Backblaze进行备份,Microsoft Security Essentials和其他各种实用程序。一次关闭一个东西似乎并不能解决问题。

它变得越来越糟(发生的越来越快)。想要知道是什么原因导致的,而无需重新安装。

运行Windows 7 Ultimate 64位


每次启动并工作一段时间后会发生这种情况吗?
Synetech

1
@Synetech:最近它每次都在发生,但不是在相同的间隔之后发生。尚未发现该模式,请期待它使我感到沮丧,直到我重新启动为止。
2011年

可能是手柄泄漏吗?您是否检查了任务管理器并启用了“进程”选项卡中的相关列,以查看是否有任何进程吞噬了所有句柄?
Lasse V. Karlsen

在大多数环境变量丢失的情况下,我遇到了同样的问题。它似乎仅在我的系统从睡眠中唤醒后才发生。我正在域上运行Windows 7 Enterprise 32位。

我从12月开始在64位Vista上看到相同的症状。在这种情况发生之前,我的PC可以运行几天,我需要重新启动。卡巴斯基反病毒软件没有发现问题。此处也有报道:[ superuser.com/questions/355594/…–
Lee

Answers:


8

一直在同一个问题战斗。症状:

  • 重启:一切OK
  • 一段时间后:程序似乎丢失了%windir%环境变量,因此事情开始崩溃

以我为例,它有些大%PATH%,所以我从PATH修剪了很多条目,并对其进行了修复。不知道有多少PATH可以清洗,WINDIR但似乎已经解决了。

该修补程序的效果不是立即产生的(您必须重新引导或重新启动资源管理器),但是我可以使用任务管理器杀死explorer.exe并再次打开它来进行验证(从而避免重新引导)。任务管理器从winlogon继承环境变量,而进程资源管理器似乎从启动它的任何进程继承它们,因此即使您更改了它们,它也可能导致您的大环境问题。


1
这对我有用。我最近安装了一个程序,但是路径上只有一堆东西,一旦删除了这些条目,一切都会重新开始。
埃里克·米拉斯

2

我还有一个非常长的%PATH%环境变量。作为软件工程师,我通常会定期从计算机上安装和删除几个应用程序。在某些应用程序中,通常用分号分隔的条目插入%PATH%环境变量中,通常是因为我不太在意安装的应用程序可能会从命令行(cmd.exe)执行的情况。哪些应用程序将从标准命令行执行,我从%PATH%变量中撤回了所有条目,除了C:\ Windows \ System32(大多数“ cmdlet”将在此运行的地方)。可以在Wiki-pedia @ http://en.wikipedia.org/wiki/PATH_(变量上的主题上找到。 要快速修复(Windows 7),请执行以下操作:

1.)单击“开始”,在菜单底部的搜索框中,复制并粘贴或键入以下内容以打开“系统高级属性”窗口C:\ Windows \ System32 \ SystemPropertiesAdvanced.exe(按Enter)

2.)单击窗口底部附近的环境变量按钮,该按钮刚好在确定,取消和应用群集的上方。

3.)现在应该显示环境变量窗口。在屏幕第二个带有标题文本(系统变量)的列表框中,在“变量”列下查找“路径”一词,然后双击它。

4.)您应该查看计算机上似乎由;分隔的目录列表。定界符。请密切注意,您可能想要一些,您可能想知道为什么它们存在,清除您的内心所希望的许多路径,这里的想法是尽可能地缩短路径,我再次将其缩短为C:\ WINDOWS \ system32,此后没有任何问题。

5.)完成Path变量的编辑后,在所有打开的对话框窗口中单击“确定”。

6.)再次单击开始,在底部搜索栏中,键入taskmgr并按键盘上的Enter。

7.)单击“进程”选项卡,然后在进程网格的“映像名称”列下找到进程“ Explorer.exe”。单击一次该过程以使其突出显示,然后单击“结束过程”按钮。

8.)单击文件(如果看不到,请先按alt键),然后单击文件“新建任务(运行)”下的子菜单项

9.)在显示的输入框中,键入资源管理器,然后按Enter或单击“确定”。

测试断开的链接/快捷方式,看看它们现在是否可以正常工作。


1

Per Lasse V. Karlsen的建议是,我希望下次发生的Handle计数很高。Audacity有41K,最近也很不稳定。不幸的是,我拥有最新版本(1.3.12),并且关闭它似乎并没有收回所有的句柄。我将提交错误报告。

注意:当Audacity泄漏手柄时,这似乎并不是造成我头痛的唯一原因。自重启以来,仍然有麻烦并且没有使用过Audacity。可能是重新安装的时间。

我最终在发现问题之前重新安装。


0

我有类似的症状,但是PATH变量不太长。所以我觉得在这里分享我的经验是一件好事:

VSIXInstaller.exe崩溃时,我正在安装Visual Studio扩展。之后,一些环境变量消失了(包括%windir%)。无法启动Visual Studio。

不知道为什么这次崩溃会影响环境变量,但是我确定它是链接的,因为我多次重复了这种情况。

我发现了VSIXInstaller.exe崩溃的原因,现在一切正常。


仅当您解释发现的内容和解决方法时,此功能才有用。否则,这不是答案,而是“我也有这个问题”的评论。
fixer1234

您好@ fixer1234,您是对的。因此,这就是我的场景中VSIXInstaller崩溃的原因:我制作了一个批处理脚本,以对2个vsix文件启动VSIXInstaller,然后删除这2个文件。问题在于VSIXInstaller是异步的,不是脚本vsix安装的好解决方案。我的脚本正在并行启动2个安装,并且在结束之前删除了文件。解决方法是,我创建了一个子例程,等待VSIXInstaller.exe结束。我还找到了VSIXInstaller的替代方法,但没有尝试过:link
GGES 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.