Impossible de résoudre% windir% / Impossible de modifier% path% ou% path% en cours de réinitialisation au démarrage

45

Voir les mises à jour 3 et 4 ci-dessous pour connaître l'évolution du problème.


Mon ordinateur (Windows 7 x64, Lenovo Thinkpad T530) rencontre un problème qui résout% windir%. Après le démarrage, tout fonctionne bien. À un moment donné, l'ordinateur est soudainement incapable de résoudre% windir%.

Fenêtre console

Vérifier la fenêtre des variables d’environnement montre qu’elle est définie.

Environnement Varibales

Le fait de vérifier le registre montre également qu'il est également défini. En fait, j'ai effacé la clé et je l'ai saisie à nouveau en vain.

Enregistrement

Après un redémarrage, tout fonctionne correctement pendant un moment. Est-ce que quelqu'un a des idées sur autre chose que je peux vérifier?


Mise à jour 1: Après y avoir réfléchi, j'ai désinstallé le pilote / programme Konica Minolta Pagebox installé à peu près au moment où le problème a commencé à se produire (voir les commentaires ci-dessous). Le problème semble prendre environ 4 à 24 heures (je ne l’ai jamais fait chronométrer) pour se manifester, je vais donc mettre à jour à nouveau par la suite.

Mise à jour 2: le problème persiste. Je suis rentré du déjeuner et% windir% est introuvable. Après un redémarrage, j'ai fait un test ce matin, mis l'ordinateur en veille, puis réveillé. % windir% était encore défini après le réveil.

Mise à jour 3: Selon les commentaires de Daniel, j'ai exécuté l' seterreur avant et après et comparé les résultats. La première chose que j'ai remarquée est que lors d'un nouveau démarrage, mon % path% compte plus de 2000 caractères . Je l'ai réduit à environ 375 caractères et vérifié dans une nouvelle fenêtre de commande. J'ai redémarré, vérifié le chemin à nouveau et il était revenu à plus de 2000 caractères (cela correspondait à ce que j'avais vu à l'origine). Je l'ai tronqué à nouveau et redémarré une fois de plus et la même chose s'est produite. J'ai supprimé la variable de chemin et en ai créé une nouvelle; la même chose s'est produite. À ce stade, tout ce que je peux conclure, c'est que je ne peux pas modifier définitivement mon chemin OU que le chemin est réinitialisé par un processus au démarrage. Des pensées?

Mise à jour 4: J'ai modifié mon chemin via la méthode de registre proposée ci-dessous. Après avoir couru pendant un certain temps, j’ai vérifié mon chemin aujourd’hui et il a évolué depuis ce que j’étais entré dans le registre; il a maintenant quelques nouvelles entrées et beaucoup de doublons. Les seules nouvelles entrées proviennent de SQL Server 2012. Je suis allé changer cela dans le registre et j'ai remarqué que le registre NE correspond PAS à la sortie de echo %path%. La vérification des variables d’environnement à partir de l’onglet Propriétés avancées affiche une troisième version de mon chemin.

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\;

Il semble que le chemin de ligne de commande = chemin du registre + chemin des variables d’environnement . J'ai essayé de définir le chemin d'accès au registre et le chemin d'accès aux variables d'environnement sur la même chose, puis de redémarrer. Après le redémarrage, mon chemin est maintenant doublé, soit deux copies consécutives du chemin de registre ci-dessus.

Encore une fois, des idées?

Mise à jour 5: après avoir discuté avec le responsable informatique, il déclare lutter contre un problème similaire sur un autre ordinateur. Les deux ordinateurs ont SSD (semble être le seul facteur commun). Cela peut être pertinent ou non.

Zack
la source
essayez d'utiliser setpour affecter windirmanuellement la valeur et répétez l'opération avec echo- vous voyez si cela vous donnera ou non une sortie. Si cela se produit, vos variables env ne sont pas compatibles, sinon, quelque chose ne va pas avec votre commande shell et / ou echo.
mnmnc
Cela fonctionne, mais je ne suis pas vraiment sûr que cela prouve quoi que ce soit, car je peux exécuter "set SystemRoot = abcd", pour une variable de session de courte durée similaire
Zack
Si je puis me permettre, comment avez-vous remarqué cela en premier lieu? C'est-à-dire, qu'est-ce qui vous a dit qu'il y avait un problème? (À tout hasard que c'est pertinent ...)
Shinrai le
Il y a quelques semaines, un pilote de scanner réseau a été installé sur mon ordinateur. Peu de temps après, j'ai eu des problèmes avec des programmes Windows non trouvés. Je le trouvai trop long sur mon chemin et le réparai. Cela peut ou peut ne pas être lié. Les choses ont été bizarres depuis. En particulier, l'icône du haut-parleur Windows dans le coin inférieur soulève une erreur périodiquement ("Aucun pilote de sortie trouvé", mais le son fonctionne toujours). Je suis allé vérifier à nouveau le chemin et une erreur s'est produite lors de la tentative d'obtention des paramètres système avancés ("ne peut pas trouver% windir% \ system32 \ ..."). Je l'ai traqué pour que windir ne se résolve pas.
Zack
1
Les doublons possibles de PATH et des variables d'environnement
jpaugh

Réponses:

26

J'ai eu le même problème et a trouvé cette question en premier. Cependant, la vraie cause / solution n'est pas encore mentionnée dans cette question, mais il est mentionné ici: les variables PATH et d'environnement de Windows 7 sont corrompues

Récapitulatif de la solution: assurez-vous que votre chemin est <2048 caractères. Archivez les variables utilisateur et les variables système.

Pieter-Jan Busschaert
la source
4

Avec l'interface graphique, définissez le contenu de votre variable % windir% sur % SystemRoot% .

En ce qui concerne votre% path%, vous pouvez le résoudre avec l’Éditeur du Registre:

  • Démarrer Regedit.exe
  • Aller à HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
  • Dans le volet de droite, double-cliquez sur la valeur. Path (REG_EXPAND_SZ)
  • Changez la valeur comme bon vous semble et redémarrez

entrez la description de l'image ici

utilisateur184745
la source
Cela ressemble à cela corrigé. Je vais lui consacrer une journée complète au travail lundi pour en être sûr, et si tout se passe bien, je marquerai la bonne réponse par la suite. Merci.
Zack
1
@Zack J'ai exactement le même problème sur un lenovo T430 et un collègue aussi. La réponse ci-dessus n'a pas fonctionné. Le problème a-t-il finalement été résolu?
préfet de ford
@inquisitiveIdiot - Je ne l'ai jamais complètement résolu. J'ai désinstallé certains éléments qui se trouvaient dans le chemin et j'ai continué à l'élaguer manuellement à la ligne de commande. Finalement, le problème a cessé de se produire.
Zack
@Zack Je viens de poster ce qui a fini par être une réponse au cas où vous auriez de nouveau un problème
ford prefect
Avoir le même problème sur un T430 également.
Lightyear Buzz
2

J'ai eu le même problème dans mon Lenovo TS530. Cela a commencé à se produire après l’installation de nouveaux programmes, ce qui a eu pour conséquence que mon chemin était encore plus long qu’avant et que les installateurs ont ajouté les nouveaux éléments au début de la définition du chemin . J'ai modifié le chemin dans regedt en déplaçant% SystemRoot% au début de la définition du chemin.

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

En outre, j’ai modifié la variable environnementale windir de

windir= C:/Windows

à

windir=C:\Windows

Cela semble avoir résolu le problème. (Il est possible que j’ai fait l’erreur de barre oblique inverse plus tôt en essayant de résoudre le problème. Ou bien l’installateur l’a modifié.)

imppu
la source
Windows est assez indulgent pour utiliser /au lieu de \ .
jpaugh
1

J'ai eu le même problème. Cela a été résolu lorsque j'ai supprimé la variable d'environnement PATH (après avoir sauvegardé son contenu) dans la boîte de dialogue suivante.

C:\Windows\System32\SystemPropertiesAdvanced.exe

J'ai reconstruit la variable PATH plus tard un par un. J'ai déplacé une partie du contenu de PATH qui ne correspondait pas aux variables système dans les variables utilisateur PATH.

Vijay Vepakomma
la source
1

Comme déjà mentionné par @ Pieter-Jan Busschaert, il s'agit probablement d'une PATHvariable d'environnement corrompue ou trop longue .

Le moyen le plus simple de résoudre ce problème consiste à télécharger Rapid Environment Editor . Il vous montre ce qui ne va pas avec vos PATHparamètres et vous permet de le corriger tout de suite.

Dunken
la source
J'ai toujours été capable de réparer le chemin. Le problème était que le chemin continuait de s’étendre spontanément au-delà de 2048 caractères sans que je n’aie rien fait (par exemple, l’installation ou la désinstallation d’un programme).
Zack
1

J'ai constaté (régulièrement) que cela se produirait également si SQL Server 2012 ou des versions ultérieures étaient installées sur l'ordinateur Windows 7 (je ne suis pas sûr que le problème se produise également sur Win8.x ou Win10), mais la solution que j'ai trouvée consiste à: créez également la variable d'environnement windir dans le contexte utilisateur actuel afin qu'elle soit définie sur% SystemRoot%. Nous ne verrons cela que lorsqu’un RDP (session à distance) sera inséré dans le ou les postes de travail. Si nous nous connections à la console, nous ne le rencontrerions pas du tout. Je ne sais pas si les composants SQL 2012 (ou ultérieurs) ont été installés sur le vôtre juste avant que cela ne se produise, mais vous pouvez essayer cette résolution.

Mike Fanning
la source
0

Notre service d'assistance m'a donné cette réponse:

  1. Ouvrez les paramètres de contrôle de compte d'utilisateur en cliquant sur le bouton Démarrer, puis en cliquant sur Panneau de configuration. Dans la zone de recherche, tapez uac, puis cliquez sur Modifier les paramètres de contrôle de compte d'utilisateur.
  2. Procédez comme suit: • Pour désactiver le contrôle de compte d'utilisateur, déplacez le curseur sur la position Jamais de notification, puis cliquez sur OK. Si vous êtes invité à entrer un mot de passe administrateur ou une confirmation, tapez le mot de passe ou fournissez une confirmation. Vous devrez redémarrer votre ordinateur pour que le contrôle de compte d'utilisateur soit désactivé.

Cela fonctionne avec deux choses différentes:

1.) Ce problème n'existe pas car ce programme nécessite que% windir fonctionne correctement. À la place, exécutez C: \ Windows \ System32 \ UserAccountControlSettings dans l'invite de commande.

2.) Vous préférez ne pas avoir les avertissements de sécurité de Windows.

ford prefet
la source
UAC était déjà désactivé dans mon cas, mais si cela fonctionne pour vous ou pour quelqu'un d'autre, c'est génial
Zack
0

J'ai eu le même problème après la mise à niveau vers un SSD sur mon Lenovo X230. Le logiciel que j'ai utilisé pour la migration (Acronis TrueImage) a ajouté une valeur de chemin d'accès, ce qui doit m'avoir dépassé la limite. Je l'ai résolu comme suit:

Regedit ouvert

Aller à HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment

Modifiez la valeur du chemin d'accès (voir la réponse de l'utilisateur 184745 ci-dessus).

Couper la valeur actuelle et coller dans le bloc-notes.

Édité plusieurs valeurs en double ainsi que des chemins qui semblaient peu utiles. J'ai réduit la longueur du chemin de 2 283 caractères à 1 517.

Collé la nouvelle chaîne de chemin dans la clé Path.

(Sauvegardé le contenu de mon bloc-notes au cas où.)

Redémarré. Tout est bien.

Robert
la source
0

Veuillez vérifier la limite de la variable path: https://support.microsoft.com/en-us/kb/2685893

Grandtheftoli
la source
Pourriez-vous développer votre réponse avec des citations pertinentes de l'article de la base de connaissances? A part ça, belle trouvaille.
Burgi
Semble vraiment utile
Zack
-1

J'ai eu les mêmes problèmes que ci-dessus. % windir%. les icônes ne s'affichent pas pour certains éléments. Toute application qui a utilisé windir ... est passée par tous les correctifs, y compris le démarrage à froid, raccourcissement de chemin, etc.
Enfin recréé mon profil Windows ... problème parti.

PaulG
la source
4
Bienvenue sur le super utilisateur PaulG. Bien que vous ayez essayé de répondre à la question de OP, il manque des faits à l’appui et peut conduire à sa suppression. Veuillez vous référer à comment et pourquoi certaines réponses sont supprimées et comment écrire une bonne réponse
jeu de mots