% Windir% kann nicht aufgelöst werden /% path% oder% path% können nicht geändert werden, wenn sie beim Booten zurückgesetzt werden

45

Informationen zur Entwicklung des Problems finden Sie in den Updates 3 und 4 weiter unten


Mein Computer (Windows 7 x64, Lenovo Thinkpad T530) hat ein Problem mit der Lösung von% windir%. Nach dem Booten funktioniert alles einwandfrei. Irgendwann später ist der Computer plötzlich nicht mehr in der Lage,% windir% aufzulösen.

Konsolenfenster

Wenn Sie das Fenster mit den Umgebungsvariablen überprüfen, wird angezeigt, dass es definiert ist.

Umwelt Varibales

Das Überprüfen der Registrierung zeigt auch, dass diese ebenfalls definiert ist. Ich habe den Schlüssel tatsächlich gelöscht und ihn ohne Erfolg erneut eingegeben .

Registrierung

Nach einem Neustart funktioniert eine Weile alles einwandfrei. Hat jemand irgendwelche Gedanken zu irgendetwas anderem, was ich überprüfen kann?


Update 1: Nach einiger Überlegung habe ich den Konica Minolta Pagebox-Treiber / das -Programm deinstalliert, das ungefähr zu dem Zeitpunkt installiert wurde, als dieses Problem auftrat (siehe Kommentare unten). Es scheint ungefähr 4 bis 24 Stunden zu dauern, bis sich das Problem manifestiert (ich habe es nie geplant). Ich werde es danach erneut aktualisieren.

Update 2: Das Problem tritt weiterhin auf. Ich bin vom Mittagessen zurückgekommen und% windir% kann nicht gefunden werden. Ich habe heute Morgen nach einem Neustart einen Test durchgeführt, den Computer in den Energiesparmodus versetzt und ihn dann aufgeweckt. % windir% war nach dem Aufwachen noch definiert.

Update 3: Per Daniel in den Kommentaren bin ich setvor und nach Fehler gelaufen und habe die Ausgaben verglichen. Das Erste, was mir aufgefallen ist, ist, dass mein % path% bei einem Neustart mehr als 2000 Zeichen lang ist . Ich habe es auf ~ 375 Zeichen gekürzt und in einem neuen Cmd-Fenster überprüft. Ich habe neu gestartet, den Pfad erneut überprüft und es waren mehr als 2000 Zeichen (es stimmte mit dem überein, was ich ursprünglich gesehen hatte). Ich habe es wieder abgeschnitten und neu gestartet und das gleiche passierte. Ich habe die Pfadvariable gelöscht und eine neue erstellt. das Gleiche ist passiert. An diesem Punkt kann ich nur zu dem Schluss kommen, dass ich meinen Pfad entweder nicht dauerhaft ändern kann oder dass der Pfad durch einen Prozess beim Booten zurückgesetzt wird. Irgendwelche Gedanken?

Update 4: Ich habe meinen Pfad mit der unten vorgeschlagenen Registrierungsmethode bearbeitet. Ich habe heute nach einer Weile meinen Pfad überprüft und er ist gewachsen von dem, was ich in die Registrierung eingegeben habe. Es gibt jetzt ein paar neue Einträge und viele Duplikate. Die einzigen neuen Einträge stammen aus SQL Server 2012. Ich habe dies in der Registrierung geändert und festgestellt, dass die Registrierung NICHT mit der Ausgabe von übereinstimmt echo %path%. Durch Überprüfen der Umgebungsvariablen auf der Registerkarte Erweiterte Eigenschaften wird eine dritte Version meines Pfads angezeigt.

Registry Path:
C:\Program Files (x86)\Microchip\mplabc30\v3.30\bin;
C:\RUBY193\BIN;
C:\Windows\SYSTEM32;
C:\Windows;
C:\Windows\SYSTEM32\WBEM;
C:\PROGRAM FILES\COMMON FILES\LENOVO;
C:\SWTOOLS\READYAPPS;
C:\PROGRAM FILES (X86)\COMMON FILES\LENOVO;
C:\PROGRAM FILES (X86)\MICROCHIP\MPLAB C32 SUITE\BIN;
C:\HTSOFT\PIC18\BIN;
C:\PROGRAM FILES\TORTOISESVN\BIN;
C:\Windows\System32\WindowsPowerShell\v1.0\;
C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\ManagementStudio\;
C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\;
C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;
C:\Program Files (x86)\Microsoft SQL Server\110\DTS\Binn\;

Command Line path:
C:\Program Files (x86)\Microchip\mplabc30\v3.30\bin;
C:\RUBY193\BIN;
C:\Windows\SYSTEM32;
C:\Windows;
C:\Windows\SYSTEM32\WBEM;
C:\PROGRAM FILES\COMMON FILES\LENOVO;
C:\SWTOOLS\READYAPPS;
C:\PROGRAM FILES (X86)\COMMON FILES\LENOVO;
C:\PROGRAM FILES (X86)\MICROCHIP\MPLAB C32 SUITE\BIN;
C:\HTSOFT\PIC18\BIN;
C:\PROGRAM FILES\TORTOISESVN\BIN;
C:\Windows\System32\WindowsPowerShell\v1.0\;
C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\ManagementStudio\;
C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\;
C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;
C:\Program Files (x86)\Microsoft SQL Server\110\DTS\Binn\;
C:\Program Files(x86)\Microchip\mplabc30\v3.30\bin;
C:\RUBY193\BIN;
C:\Windows\SYSTEM32;
C:\Windows;
C:\Windows\SYSTEM32\WBEM;
C:\PROGRAM FILES\COMMON FILES\LENOVO;
C:\SWTOOLS\READYAPPS;
C:\PROGRAM FILES (X86)\COMMON FILES\LENOVO;
C:\PROGRAM FILES (X86)\MICROCHIP\MPLAB C32 SUITE\BIN;
C:\HTSOFT\PIC18\BIN;
C:\PROGRAM FILES\TORTOISESVN\BIN;
C:\Windows\System32\WindowsPowerShell\v1.0\;

Environment Variables path:
C:\Program Files (x86)\Microchip\mplabc30\v3.30\bin;
C:\RUBY193\BIN;
C:\Windows\SYSTEM32;
C:\Windows;
C:\Windows\SYSTEM32\WBEM;
C:\PROGRAM FILES\COMMON FILES\LENOVO;
C:\SWTOOLS\READYAPPS;
C:\PROGRAM FILES (X86)\COMMON FILES\LENOVO;
C:\PROGRAM FILES (X86)\MICROCHIP\MPLAB C32 SUITE\BIN;
C:\HTSOFT\PIC18\BIN;
C:\PROGRAM FILES\TORTOISESVN\BIN;
C:\Windows\System32\WindowsPowerShell\v1.0\;

Es sieht so aus, als ob der Befehlszeilenpfad = Registrierungspfad + Umgebungsvariablenpfad . Ich habe versucht, den Registrierungspfad und den Pfad der Umgebungsvariablen auf dasselbe zu setzen und neu zu starten. Nach dem Neustart ist mein Pfad jetzt verdoppelt, im Grunde genommen zwei aufeinanderfolgende Kopien des Registrierungspfads oben.

Nochmals irgendwelche Gedanken?

Update 5: Nach einem Gespräch mit dem IT-Manager kämpft er gegen ein ähnliches Problem auf einem anderen Computer. Beide Computer haben SSDs (scheint der einzige gemeinsame Faktor zu sein). Dies kann relevant sein oder nicht.

Zack
quelle
Versuchen Sie, manuell seteinen Wert zuzuweisen, windirund wiederholen Sie den Vorgang mit. echoÜberprüfen Sie, ob dies zu einer Ausgabe führt oder nicht. Wenn dies der Fall ist, ist etwas mit Ihren env-Variablen nicht in Ordnung. Wenn nicht, ist etwas mit Ihrem Shell- und / oder Echo-Befehl nicht in Ordnung.
Mnmnc
Das Setzen funktioniert, aber ich bin mir nicht sicher, ob das irgendetwas beweist, da ich "set SystemRoot = abcd" für eine ähnliche, kurzlebige Sitzungsvariable ausführen kann
Zack,
Wenn ich fragen darf, wie haben Sie das überhaupt bemerkt? Das heißt, was hat Sie darauf aufmerksam gemacht, dass es ein Problem gab? (Auf die off Chance, dass es relevant ist ...)
Shinrai
Vor einigen Wochen wurde auf meinem Computer ein Netzwerkscannertreiber installiert. Kurz danach hatte ich Probleme mit Windows-Programmen, die nicht gefunden wurden. Ich habe es aufgespürt, bis mein Weg zu lang war, und es repariert. Dies kann zusammenhängen oder nicht. Die Dinge sind seitdem schrullig. Insbesondere das Windows-Lautsprechersymbol in der unteren Ecke löst in regelmäßigen Abständen einen Fehler aus ("Kein Ausgabetreiber gefunden", aber der Ton funktioniert weiterhin). Ich habe den Pfad erneut überprüft und beim Versuch, zu den erweiterten Systemeinstellungen zu gelangen, ist ein Fehler aufgetreten ("% windir% \ system32 \ ... kann nicht finden"). Ich habe es aufgespürt, bis es nicht geklärt war.
Zack
1
Möglicherweise ist ein Duplikat der
PATH-

Antworten:

26

Ich hatte das gleiche Problem und fand diese Frage zuerst. Die eigentliche Ursache / Lösung wird in dieser Frage jedoch noch nicht erwähnt, sondern hier: Die PATH- und Umgebungsvariablen von Windows 7 sind beschädigt

Zusammenfassung der Lösung: Stellen Sie sicher, dass Ihr Pfad <2048 Zeichen ist. Checken Sie sowohl die Benutzervariablen als auch die Systemvariablen ein.

Pieter-Jan Busschaert
quelle
4

Setzen Sie in der GUI den variablen Inhalt von % windir% auf % SystemRoot% .

Was Ihren% path% betrifft, können Sie dies mit dem Registrierungseditor lösen:

  • Starten Sie Regedit.exe
  • Gehe zu HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
  • Doppelklicken Sie im rechten Fensterbereich auf den Wert Path (REG_EXPAND_SZ)
  • Ändern Sie den Wert, wie Sie möchten, und starten Sie neu

Bildbeschreibung hier eingeben

user184745
quelle
Das sieht so aus, als ob es behoben wurde. Ich werde es am Montag einen ganzen Tag bei der Arbeit geben, um sicherzugehen, und wenn alles gut geht, werde ich dies danach als die richtige Antwort markieren. Vielen Dank.
Zack
1
@Zack Ich habe genau das gleiche Problem auf einem Lenovo T430 und auch ein Kollege. Die obige Antwort hat nicht funktioniert. Wurde das Problem schließlich gelöst?
Ford
@inquisitiveIdiot - Ich habe es nie vollständig gelöst. Ich habe einige im Pfad enthaltene Dateien deinstalliert und den Pfad manuell in der Befehlszeile entfernt. Schließlich hörte das Problem auf.
Zack
@Zack Ich habe gerade gepostet, was sich als Antwort für den Fall herausgestellt hat, dass Sie wieder ein Problem haben
Ford
Habe das selbe Problem auch auf einem T430.
Lightyear Buzz
2

Ich hatte das gleiche Problem in meinem Lenovo TS530. Es begann nach der Installation von neuen Programmen auftritt , die mein verursachte Weg noch viel länger zu sein als zuvor , und so , dass die Installateure die neuen Sachen in den Anfang der zugegebenen Pfad Definition. Ich habe den Pfad in regedt bearbeitet, indem ich % SystemRoot% an den Anfang der Pfaddefinition verschoben habe .

path = %SystemRoot%\system32;%SystemRoot%;%SystemRoot....

Außerdem habe ich die Umgebungsvariable windir von bearbeitet

windir= C:/Windows

zu

windir=C:\Windows

Das scheint das Problem behoben zu haben. (Es ist möglich, dass ich den Fehler mit Backslash früher gemacht habe, als ich versucht habe, das Problem zu beheben. Alternativ hat das Installationsprogramm ihn geändert.)

imppu
quelle
Windows ist ziemlich nachsichtig, wenn es darum geht, /statt zu verwenden \ .
Jpaugh
1

Ich hatte das gleiche Problem. Es wurde behoben, als ich die PATH-Umgebungsvariable (nach dem Erstellen einer Sicherungskopie ihres Inhalts) im folgenden Dialogfeld löschte .

C:\Windows\System32\SystemPropertiesAdvanced.exe

Ich habe die PATH-Variable später nacheinander rekonstruiert. Ich habe einen Teil des PATH-Inhalts, der nicht in die Systemvariablen passte, in die User-Variablen PATH verschoben.

Vijay Vepakomma
quelle
1

Wie bereits von @ Pieter-Jan Busschaert erwähnt, liegt es wahrscheinlich an einer beschädigten oder zu langen PATHUmgebungsvariablen.

Der einfachste Weg, dies zu beheben, besteht darin, den Rapid Environment Editor herunterzuladen . Es zeigt Ihnen, was mit Ihren PATHEinstellungen nicht stimmt und lässt Sie es sofort beheben.

Dunken
quelle
Ich war immer in der Lage, den Weg zu reparieren. Das Problem war, dass sich der Pfad spontan über 2048 Zeichen hinaus vergrößerte, ohne dass ich etwas getan hätte (z. B. ein Programm installieren oder deinstallieren).
Zack
1

Ich habe (konsistent) festgestellt, dass dies auch auftreten wird, wenn SQL Server 2012 oder neuere Versionen auf dem Windows 7-Computer installiert sind (nicht sicher, ob das Problem auch auf Win8.x oder Win10 auftritt), aber die Lösung, die ich gefunden habe, lautet: Erstellen Sie außerdem die Umgebungsvariable windir im aktuellen Benutzerkontext, um sie auf% SystemRoot% zu setzen. Das einzige Mal, wenn wir dies sehen, ist RDP'ing (Remote-Sitzung) in die Arbeitsstation (en). Wenn wir uns in die Konsole einloggen würden, würden wir dies überhaupt nicht bemerken. Ich weiß nicht, ob SQL 2012-Komponenten (oder höher) gerade vor diesem Ereignis auf Ihrem Computer installiert wurden oder nicht, aber Sie können diese Lösung ausprobieren.

Mike Fanning
quelle
0

Unser Helpdesk gab mir diese Antwort:

  1. Öffnen Sie die Einstellungen für die Benutzerkontensteuerung, indem Sie auf die Schaltfläche Start und anschließend auf Systemsteuerung klicken. Geben Sie im Suchfeld uac ein, und klicken Sie dann auf Einstellungen für die Benutzerkontensteuerung ändern.
  2. Gehen Sie wie folgt vor: • Um die Benutzerkontensteuerung zu deaktivieren, bewegen Sie den Schieberegler in die Position Nie benachrichtigen und klicken Sie dann auf OK. Wenn Sie zur Eingabe eines Administratorkennworts oder einer Bestätigung aufgefordert werden, geben Sie das Kennwort ein oder geben Sie eine Bestätigung ein. Sie müssen Ihren Computer neu starten, damit die Benutzerkontensteuerung deaktiviert wird.

Es funktioniert auf zwei verschiedene Arten:

1.) Dieses Problem existiert nicht wirklich, da dieses Programm% windir benötigt, um korrekt zu funktionieren. Führen Sie stattdessen C: \ Windows \ System32 \ UserAccountControlSettings in der Eingabeaufforderung aus.

2.) Sie möchten die Windows-Sicherheitswarnungen nicht haben.

Furtpräfekt
quelle
Die Benutzerkontensteuerung war in meinem Fall bereits deaktiviert, aber wenn dies für Sie oder andere funktioniert, ist das großartig
Zack,
0

Ich hatte das gleiche Problem nach dem Upgrade auf eine SSD auf meinem Lenovo X230. Die Software, die ich für die Migration verwendet habe (Acronis TrueImage), hat einen Pfadwert hinzugefügt, der mich über das Limit hinausgeschoben haben muss. Ich habe es wie folgt gelöst:

Öffnen Sie Regedit

Gehe zu HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment

Ändern Sie den Pfadwert (siehe die Antwort von user184745 oben).

Schneiden Sie den aktuellen Wert aus und fügen Sie ihn in den Editor ein.

Mehrere doppelte Werte sowie Pfade, die wenig nützlich schienen, wurden herausgeschnitten. Ich habe die Länge des Pfades von 2.283 Zeichen auf 1.517 Zeichen reduziert.

Fügte die neue Pfadzeichenfolge in den Pfadschlüssel ein.

(Speichert den Inhalt meines Notepad für alle Fälle.)

Neu gestartet Alles ist gut.

Robert
quelle
0

Überprüfen Sie die Einschränkung der Pfadvariablen: https://support.microsoft.com/en-us/kb/2685893

grandtheftoli
quelle
Könnten Sie Ihre Antwort mit relevanten Zitaten aus dem KB-Artikel erweitern? Ansonsten schöner Fund.
Burgi
Sieht wirklich nützlich aus
Zack
-1

Ich hatte die gleichen Probleme wie oben. % windir%. Symbole werden für einige Elemente nicht angezeigt. Jede Anwendung, die Windows verwendet hat ... Hat alle Korrekturen durchlaufen, einschließlich Kaltstart, Pfadverkürzung usw.
Endlich wurde mein Windows-Profil neu erstellt ... Problem behoben.

PaulG
quelle
4
Willkommen bei Super User PaulG. Sie haben zwar versucht, die Frage von OP zu beantworten, es fehlen jedoch unterstützende Fakten und dies kann zur Löschung führen. Bitte
Wortspiel