Cómo recuperarse de la RUTA truncada a 1024 caracteres por SETX

12

Recibí un error en Windows 8 después de intentar usar SETX para agregar JAVA.exe a la variable PATH de Windows:

WARNING: The data being saved is truncated to 1024 characters.

Después de reiniciar, noto que la RUTA es mucho más corta que antes. Desde entonces he leído que SETX no puede manejar más de 1024 caracteres. Hubiera sido bueno saberlo en el artículo que recomienda usarlo.

Me pregunto si mi sistema será inestable ahora que (presumiblemente) algunos de los directorios ya no aparecen en la variable PATH. El final de la cadena está claramente cortado a mitad del directorio (en Pr):

(...) ;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Pr

¿Hay alguna forma de retroceder o en cualquier lugar donde se haya capturado el valor anterior de PATH? Hombre, no puedo creer que este tipo de cosas aún puedan suceder en Windows después de 29 años.

Doug
fuente
Diferente de esta pregunta porque ese usuario solo está interesado en encontrar otra forma de editar la variable PATH. Me pregunto si mi sistema está dañado y cómo puedo recuperarme. superuser.com/questions/387619/…
Doug
1
su sistema no será inestable, pero averigüe por otro usuario de Windows 8 o una página web, cuál debe ser la ruta en una instalación nueva de Windows 8, y úselo. Y crecer si es necesario. Siempre haga una copia de seguridad de su RUTA antes de usar setx. ¿Quizás hay una restauración del sistema que puede hacer en Windows 8 que puede revertir el camino? vale la pena intentar EDITAR AGREGADO: la próxima vez que use setx, primero haga echo% PATH%> afile <- e intente setx en alguna otra variable que no sea PATH. Luego, cuando esté seguro de tener la línea setx correcta, después de probarla en TESTPATH, haga setx en PATH.
barlop
1
Si aún no ha reiniciado por segunda vez, puede buscar copias de seguridad actuales de CurrentControlSet.
Bob
3
@Bob bien si uno no se ha reiniciado y todavía tiene la misma ventana cmd abierta, luego de un setx, la variable de ruta todavía no está configurada en la ventana cmd actual, y puede hacer eco de% path% De todos modos, tal vez el sistema restaurar restaura el camino?
barlop
1
sobre estabilidad : básicamente, para que Windows funcione bien, solo necesita `% SystemRoot% \ system32;% SystemRoot%;% SystemRoot% \ System32 \ Wbem;% SYSTEMROOT% \ System32 \ WindowsPowerShell \ v1.0`. Todo lo demás es software de terceros. nVidia volverá a agregar sus entradas en la actualización del controlador, y funciona bien incluso sin él. Los problemas relacionados con la ruta son raros y generalmente aparentes, por lo que puede resolverlos caso por caso. Acerca de la ruta de expansión : use pathman.exe del kit de recursos . Pero tenga en mente los límites superuser.com/a/387625~~V~~singular~~3rd
LogicDaemon

Respuestas:

3

PATH se guarda en el Registro en

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

Si tiene puntos de restauración del sistema, puede encontrar la clave relevante y restaurarla .

Sir Adelaide
fuente
2
Normalmente habrá varias claves de registro "ControlSetXXX", de las cuales la clave CurrentControlSet mencionada es una. No es necesario ningún punto de restauración para echarles un vistazo.
kreemoweet
0

No tengo suficiente reputación para comentar aquí, pero el comentario de @kreemoweet: desafortunadamente, Windows 10 (y creo que 8 / 8.1 también) deshabilitó la opción "última configuración válida conocida" y las copias de seguridad asociadas que solía poder restaurar (el ControlSet ### del que hablas). Este comportamiento se puede volver a habilitar a través de una corrección de registro, pero a menos que el usuario lo haya hecho manualmente, es muy probable que solo encuentre un conjunto de control (que de hecho será el CurrentControlSet) cuando busque en el registro). Entonces, una restauración del sistema podría estar en orden aquí.

En caso de que alguien más se encuentre con esto, la forma de volver a habilitar las copias de seguridad ControlSet ### en el registro es agregar un valor de registro:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Configuration Manager

Name: BackupCount
Type: DWORD
Value: 1 = store one backup in registry (one "last known good config")
    2 = store two backups in registry (two "last known good configs")

Lo anterior habilita las copias de seguridad ControlSet ###. Luego, si también desea habilitar la opción "última configuración buena conocida" en el menú de arranque (heredado) (que también necesitaría volver a habilitarse en Win8 / 8.1, creo, para que esta opción aparezca realmente), necesita agregar:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Configuration Manager\LastKnownGood

Name: Enabled
Type: DWORD
Value: 1 = enabled
    0 = disabled
dwillis77
fuente