Неможливо вирішити% windir% / Неможливо змінити скидання% path% або% path% під час завантаження


45

Дивіться оновлення 3 та 4 нижче про те, як проблема розвивалася


У моєму комп’ютері (Windows 7 x64, Lenovo Thinkpad T530) виникає проблема, що вирішує% windir%. Після завантаження все працює добре. Через деякий час комп'ютер несподівано не може вирішити% windir%.

Вікно консолі

Перевірка вікна змінних середовища показує, що воно визначено.

Варіанти навколишнього середовища

Перевірка реєстру також показує, що він також визначений. Я фактично видалив ключ і повторно ввів його безрезультатно.

Реєстр

Після перезавантаження на деякий час все працює добре. Хтось має думки про щось інше, що я можу перевірити?


Оновлення 1: Дещо подумавши про це, я видалив драйвер / програму Konica Minolta Pagebox, встановлений приблизно на час початку цієї проблеми (див. Коментарі нижче). Здається, проблема проявляє приблизно 4–24 години (я ніколи не приурочувала її), щоб явилася, тому після цього я ще раз оновлюсь.

Оновлення 2: Проблема все ще виникає. Я повернувся з обіду, і% windir% неможливо знайти. Я зробив тест після перезавантаження сьогодні вранці і поклав комп'ютер спати, а потім розбудив його. % windir% все ще визначався після пробудження.

Оновлення 3: Пер Даніел у коментарях, я бігав setдо і після помилки та порівнював результати. Перше, що я помітив, - це те, що у новому завантаженні мій шлях%% становить 2000+ символів . Я обрізав його до ~ 375 символів і підтвердив його у новому вікні cmd. Я перезавантажився, ще раз перевірив шлях, і він повернувся до більш ніж 2000+ символів (він відповідав тому, що я спочатку бачив). Я зрізав її ще раз і перезавантажив ще раз, і те саме сталося. Я видалив змінну шляху і створив нову; трапилось те саме. На даний момент я можу зробити все, що я можу зробити висновок - або я не можу остаточно змінити свій шлях, АБО шлях буде скинутий деяким процесом під час завантаження. Будь-які думки?

Оновлення 4: я редагував свій шлях за допомогою запропонованого нижче методу реєстру. Сьогодні я перевірив свій шлях після деякого запуску, і він виріс із того, що я ввійшов до реєстру; тепер у ньому є кілька нових записів та безліч дублікатів. Єдині нові записи з SQL Server 2012. Я пішов змінити це в реєстр і помітив, що реєстр НЕ відповідає результату echo %path%. Перевірка змінних довкілля на вкладці Розширені властивості показує третю версію мого шляху.

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

Схоже, шлях командного рядка = шлях реєстру + шлях змінних оточення . Я спробував встановити шлях до реєстру та шлях змінних оточення до того ж самого і перезавантажити. Після перезавантаження мій шлях тепер подвоюється, в основному, дві копії "назад-назад" копії шляху реєстру вгорі.

Ще раз якісь думки?

Оновлення 5: Після розмови з ІТ-менеджером він каже, що бореться з подібною проблемою на іншому комп’ютері. На обох комп'ютерах є SSD (здається, це єдиний загальний фактор). Це може бути, а може і не бути доречним.


спробуйте використовувати, setщоб призначити значення windirвручну, і повторіть echoще раз - подивіться, чи це дасть вам вихід чи ні. Якщо це буде, то щось зіпсується із вашими змінними env - якщо ні, то з вашою оболонкою та / або командою echo щось не в порядку.
mnmnc

Налаштування працює, але я не дуже впевнений, що це щось підтверджує, оскільки я можу запустити "встановити SystemRoot = abcd" для аналогічної нетривалої змінної сесії
Zack

Якщо я можу запитати, як ти це помітив в першу чергу? Тобто, що вам підказало, що виникла проблема? (На випадок, що це актуально ...)
Shinrai

Кілька тижнів тому на моєму комп’ютері було встановлено драйвер мережевого сканера. Незабаром після цього у мене виникли проблеми з програмами Windows, які не знайшли. Я простежив його за занадто довгим моїм шляхом і виправив його. Це може бути, а може і не бути пов'язаним. З того часу все вигадливе. Зокрема, піктограма динаміка Windows у нижньому куті періодично викликає помилку ("Вихідний драйвер не знайдено", але звук все ще працює). Я пішов перевірити шлях ще раз, і у мене з’явилася помилка при спробі перейти до розширених системних налаштувань ("не можу знайти% windir% \ system32 \ ..."). Я простежив його, щоб він не вирішив.
Зак

Відповіді:


26

У мене було те саме питання, і це питання я знайшов спочатку. Однак справжня причина / рішення ще не згадується в цьому питанні, але вона згадується тут: Змінні PATH та середовища середовища Windows 7 пошкоджені

Короткий зміст рішення: переконайтеся, що ваш шлях <2048 символів. Перевірте як змінні користувача, так і системні змінні.


4

За допомогою графічного інтерфейсу встановіть вміст змінної % windir% на % SystemRoot% .

Що стосується вашого% path%, ви можете вирішити це за допомогою Редактора реєстру:

  • Запустіть Regedit.exe
  • Йти до HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
  • На правій панелі двічі клацніть значення Path (REG_EXPAND_SZ)
  • Змініть значення, яке вам подобається, і перезавантажте

введіть тут опис зображення


Це виглядає так, як це виправили. Я дам йому повний робочий день у понеділок, щоб переконатися, і припускаючи, що все піде добре, після цього я позначу це правильною відповіддю. Дякую.
Зак

1
@Zack У мене точно така ж проблема на lenovo T430, і так це працює. Наведена відповідь не спрацювала. Чи врешті-решт проблема була вирішена?
префект форда

@inquisitiveIdiot - я ніколи цього не вирішував повністю. Я видалив деякі речі, які були на шляху, і продовжував обрізати шлях вручну в командному рядку. Врешті-решт проблема перестала відбуватися.
Зак

@Zack Я щойно опублікував, що закінчилося, як відповідь, якщо у вас знову виникнуть проблеми
префект форд

Маючи таку ж проблему і на T430.
Lightyear Buzz

2

У мене була така ж проблема в моєму Lenovo TS530. Це почало виникати після встановлення нових програм, через що мій шлях був ще набагато довшим, ніж раніше, і таким чином, інсталятори додали новий матеріал на початок визначення шляху . Я змінив шлях у regedt , перемістивши% SystemRoot% на початок визначення шляху.

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

Крім того, я редагував екологічну змінну вітріру від

windir= C:/Windows

до

windir=C:\Windows

Це, здається, вирішило проблему. (Можливо, я помилявся із зворотною косою рисою раніше, намагаючись виправити проблему. Або ж інсталятор змінив її.)


Windows досить прощає про використання /замість цього \ .
jpaugh

1

У мене було те саме питання. Це було вирішено, коли я видалив змінну PATH Environment (після створення резервної копії її вмісту) у наступному діалоговому вікні.

C:\Windows\System32\SystemPropertiesAdvanced.exe

Пізніше по черзі я реконструював змінну PATH. Я перемістив частину вмісту PATH, яка не входила в системні змінні, у користувацькі змінні PATH.


1

Як уже згадував @ Pieter-Jan Busschaert, це, швидше за все, через пошкоджену або занадто довгу PATHзмінну середовища.

Найпростіший спосіб виправити це, завантаживши швидкий редактор середовища . Він показує, що не так у ваших PATHналаштуваннях, і дозволяє виправити це відразу.


Я завжди зміг виправити шлях. Проблема полягала в тому, що шлях продовжував мимовільно розширюватися за межі 2048 символів, не зробивши нічого (наприклад, встановлення чи видалення програми).
Зак

1

Я виявив (послідовно), що це також відбудеться, якщо SQL Server 2012 або новіші версії будуть встановлені на машині Windows 7 (не впевнений, що проблема також виникає на Win8.x або Win10), але знайдене нами рішення - також створіть змінну середовища windir у поточному контексті користувача, щоб встановити% SystemRoot%. Єдиний раз, коли ми це побачимо, це RDP'ing (віддалений сеанс) на робочу станцію. Якби ми увійшли в консоль, ми з цим взагалі не зіткнулися б. Я не знаю, що компоненти SQL 2012 (або пізніші версії) були встановлені на вашому перед тим, як це сталося чи ні, але ви можете спробувати це рішення.


0

Наша довідкова служба дала мені таку відповідь:

  1. Відкрийте "Налаштування контролю облікових записів користувачів", натиснувши кнопку "Пуск", а потім кнопку "Панель управління". У полі пошуку введіть uac та натисніть кнопку Змінити налаштування контролю облікових записів користувачів.
  2. Виконайте наступне: • Щоб вимкнути UAC, пересуньте повзунок у положення Never notify та натисніть кнопку OK. Якщо вам буде запропоновано пароль адміністратора або підтвердження, введіть пароль або надайте підтвердження. Вам потрібно буде перезапустити комп’ютер, щоб UAC було вимкнено.

Це працює з урахуванням двох різних речей:

1.) Ця проблема насправді не існує, оскільки ця програма вимагає, щоб% windir правильно працював. Замість цього запустіть C: \ Windows \ System32 \ UserAccountControlSettings в командному рядку.

2.) Ви вважаєте за краще не мати попередження безпеки Windows.


У моєму випадку вже було відключено UAC, але якщо це працює для вас чи когось іншого, це чудово
Zack

0

У мене була та сама проблема після оновлення до SSD на моєму Lenovo X230. Програмне забезпечення, яке я використовував для міграції (Acronis TrueImage), додало значення шляху, яке, мабуть, підштовхнуло мене до межі. Я вирішив це так:

Відкрити Regedit

Йти до HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment

Змініть значення Шлях (див. Відповідь користувача184745 вище).

Виріжте поточне значення і вставте в Блокнот.

Відредагував декілька повторюваних значень, а також шляхи, які здалися мало корисними. Я зменшив довжину шляху з 2283 знаків до 1517.

Вставте новий рядок шляху в ключ Path.

(Збережено вміст мого блокнота на всякий випадок.)

Перезавантажено. Все добре.



-1

У мене були ті ж питання, що і вище. % windir%. іконки не відображаються для деяких елементів. Будь-яка програма, яка використовувала windir ... Пройшла всі виправлення, включаючи холодний завантажувач, скорочення шляху тощо.
Нарешті відтворила мій профіль Windows ... проблема пішла.


4
Ласкаво просимо до Super User PaulG. Хоча ви намагалися відповісти на питання ОП, але у нього відсутні факти, що підтверджують, і це може призвести до видалення. Будь ласка, зверніться до того, як і чому деякі відповіді видалено і як написати гарну відповідь
каламбур
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.