web-dev-qa-db-fra.com

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

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%.

Console Window

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

Environment Varibales

Le fait de vérifier le registre montre également qu'il est également défini. J'ai effectivement supprimé la clé et ré-entré sans résultat.

Registry

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 avoir réfléchi, j'ai désinstallé le pilote/programme Konica Minolta Pagebox installé 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 Daniel dans les commentaires, j'ai exécuté set avant et après l'erreur et comparé les résultats. La première chose que j'ai remarquée est que lors d'un nouveau démarrage, mon % path% a plus de 2000 caractères . Je l'ai réduit à environ 375 caractères et vérifié dans une nouvelle fenêtre cmd. 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 OR 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. J'ai décidé de modifier cela dans le registre et j'ai remarqué que celui-ci 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 la ligne de commande = le chemin du registre + le 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 s'être entretenu 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.

43
Zack

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.

26

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 au 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

enter image description here

4
user184745

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 beaucoup plus long qu’avant et que les installateurs ont ajouté les nouveaux éléments au début de. path définition. 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....

De plus, j'ai édité 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 commis l’erreur de barre oblique inverse plus tôt en essayant de résoudre le problème. Ou bien l’installateur l’a modifié.)

2
imppu

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 sous 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 à définir sur% racine_système%. 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 ou non, mais vous pouvez essayer cette résolution.

1
Mike Fanning

J'ai eu le même problème. Il a été résolu lorsque je a 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.

1
Vijay Vepakomma

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.

0
ford prefect

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 au 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.

0
Robert

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

La solution la plus simple consiste à télécharger le Rapid Environment Editor . Il vous montre ce qui ne va pas avec vos paramètres PATH et vous permet de le corriger tout de suite.

0
Dunken

Veuillez vérifier la limitation de la variable de chemin: https://support.Microsoft.com/en-us/kb/2685893

0
grandtheftoli