- Вопрос или проблема
- Ответ или решение
- Проблема сброса переменных среды TEMP и TMP в Windows 7
- Возможные причины проблемы
- Шаги по устранению проблемы
- 1. Изменение переменных окружения через системные настройки:
- 2. Создание нового пользователя:
- 3. Проверка и обновление программного обеспечения:
- 4. Проверка на наличия вредоносного ПО:
- Заключение
Вопрос или проблема
Когда-то у меня была чистая установка Win7 на SSD-диске. Учитывая то, что вы всегда слышите о циклах записи на этих устройствах, первым делом я изменил переменные TEMP/TMP для системы и моего пользователя на второй диск, путь к которому был D:\Temp_Win (имя папки из-за того, что некоторые сомнительные установщики и программы любят сбивать TEMP-директории в корневых папках).
Мой профиль пользователя является членом группы администраторов, и UAC отключен. Также нет установленных брандмауэров или антивирусных/шпионских приложений.
Это работало нормально до НЕКОТОРОГО момента времени, который я не могу точно определить. Я только что заметил, что переменные USER для TEMP и TMP больше не указывают на папку, которую я установил, потому что я собирался изменить свою переменную пути и увидел это.
Теперь, если я пытаюсь вернуть TMP и TEMP для пользователя (независимо от того, использую ли я соответствующую панель конфигурации системы или редактирую путь реестра HKCU/Environment/TMP & TEMP), Win7 (или ЧТО-ТО) продолжает сбрасывать обе переменные обратно на %USERPROFILE%\AppData\Local\Temp
Я МОГУ изменить значение, и оно начинает использоваться, пока я не выхожу из системы, потому что я вижу файлы, появляющиеся в моей пользовательской директории. Так что, похоже, это не проблема с разрешениями в реестре.
Я также могу завершить explorer.exe и перезапустить его через диспетчер задач, и моя пользовательская временная папка по-прежнему используется.
Но как только я перезагружаю или выхожу и снова вхожу, переменные пользователя возвращаются к %USERPROFILE%\AppData\Local\Temp так, как будто что-то записывает это обратно.
Изменение пути временной папки и немедленная (пере)загрузка в безопасном режиме с точно таким же пользователем НЕ сбрасывает временные значения, так что, похоже, это связано с чем-то, что я установил в профиле.
Обратите внимание, что у затронутой системы вообще нет сетевого подключения, и проверка на наличие вредоносного ПО с помощью live-cd от Avira и Sophos показала, что машина чиста.
Есть ли что-то, что могло бы помочь отследить это до системы или до какой-либо установленной программы?
~~~~~~
Я видел этот вопрос
Переменная окружения TEMP иногда устанавливается неверно
но это, похоже, не относится к моей проблеме.
Доктор Гугл не находит ничего о вышеописанном поведении.
То, что вы испытываете, похоже на поврежденный профиль пользователя, где Windows не может обновить ваш профиль после того, как вы выходите из системы. Ваш компьютер является частью домена, где хранится ваш профиль? (потому что это потребует другого способа сброса вашего профиля и тестирования других вещей)
Если нет, можете ли вы создать второго пользователя, внести изменения в реестр, перезагрузить и протестировать, запоминает ли он это?
ИЗМЕНЕНИЕ на основе комментария ниже:
Кажется, вы неправильно настраиваете настройки temp и tmp. Попробуйте установить их с помощью следующего метода:
1. Перейдите в меню "Пуск"
2. Щелкните правой кнопкой мыши "Компьютер"
3. Выберите "Свойства"
4. Слева выберите 4-й вариант: Расширенные параметры системы
5. На вкладке "Дополнительно" внизу нажмите "Переменные среды..."
6. Здесь вы найдете переменные как для вашего пользователя, так и для системных значений.
Измените в обоих местах.
7. Нажмите "ОК" и "ОК".
Вам не нужно перезагружать систему для применения изменений, но вам следует перезагрузить, чтобы увидеть, сохраняются ли они.
Честно говоря, вам НЕ следует удалять временные папки, файл подкачки и т.д. с вашего SSD.
Ваша система будет работать лучше, имея их на SSD, а не на HDD (временные файлы – это наилучший пример того, где SSD сияет по сравнению с HDD – множество случайных записей / чтений и часто маленькие файлы, на HDD это медленно и вызывает много фрагментации).
Проблема с циклами записи на SSD абсолютно преувеличена. Мой SSD работает 24/7 уже 3 года (с Win 7, файлом подкачки, временными папками и т.д.) и он потерял всего 3(!)% своей формы. Имейте в виду, что это один из тех SSD с относительно небольшим количеством циклов записи (Intel SSD 320 40gb), поэтому большинство дисков потеряло бы даже меньше за 3 года круглосуточного использования. Я также активный пользователь, и я определенно выполняю много записей (плюс мой SSD обычно заполнен на 60-75%) по сравнению с вашим средним пользователем.
Вы можете прочитать об этом в интернете, проведены тесты, где они «долбили» SSD таким образом, который является нереалистичным для практически каждого пользователя, и они по-прежнему не смогли “убить” диск (вы можете убить только возможность записи, имейте в виду) менее чем за год.
Поэтому, на мой взгляд, просто не беспокойтесь об этом.
Извините за “наступание на грабли”, но я обнаружил виновника. Это был Archicrypt Ultimate Ramdisk. У него есть функция, которая мешает переменным temp (чтобы перемещать временные файлы на ramdisk и т.д.), и я неправильно его настроил. Нужно отметить “перенаправление временных файлов выполняется вручную” во вкладке настроек, если вы не используете эту функцию.
Возможное решение:
Вы можете изменить переменные TEMP
и TMP
как для системы, так и для пользователя через:
(Win+Pause/Break=Система)
Система > Расширенные параметры системы >
Свойства системы > Дополнительно (вкладка) > Переменные среды…
Будьте осторожны:
Если вы тоже хотите изменить адрес папки %UserProfile%
, будьте внимательны к конфликтам, так как возможно, эта переменная включена в %PATH%
(ы) как %UserProfile%\
… или C:\Users\%UserName%\
… (что БОЛЬШЕ не будет тем же), поэтому проверьте все пути переменных окружения и установите правильную букву диска (например, D:\
) только для правильных путей.
Также очистите обе старые временные папки на C:
“Диск системы Windows” C:\Users\%UserName%\AppData\Local\Temp
и C:\Windows\Temp
, чтобы избежать конфликтов. (если появляется сообщение об ошибке “файл используется”, это нормально, попробуйте снова при следующей перезагрузке)
Если вы тоже (еще) используете Windows7, это значит, что ~3 года срока службы хранения – это слишком мало.
Win10 ужасен, потому что использует слишком много ресурсов ПК (ЦПУ и ОЗУ), чтобы удерживать в памяти “метро-приложения”, “Edge” и другие ненужные программы по умолчанию, и в общем придает им приоритет перед потребностями и волей пользователя. По этим причинам я все еще использую Win7 в 2024.
(-: Винил – это ретро, но уязвимый, мне нравится “надежный” Windows7 🙂
Ответ или решение
Проблема сброса переменных среды TEMP и TMP в Windows 7
Недавние изменения в переменных окружения TEMP и TMP для учетной записи пользователя в Windows 7 могут вызвать значительное затруднение в работе системы, особенно если эти переменные указывают на неправильные или нежелательные пути. Данная проблема, как правило, представляется в форме сброса значений переменных окружения на состояние по умолчанию на уровне пользователя, а именно C:\Users\<username>\AppData\Local\Temp
, после перезагрузки компьютера или повторного входа в систему.
Возможные причины проблемы
-
Коррупция профиля пользователя: Ваша учетная запись может быть повреждена, что приводит к неправильной работе системных настроек. Это можно проверить, создав новый профиль пользователя и установив для него переменные TEMP и TMP. Если они остаются неизменными после перезагрузки, то проблема может заключаться в пользовательском профиле.
-
Конфликт программного обеспечения: Некоторые приложения, как в данном случае с Archicrypt Ultimate Ramdisk, могут автоматически изменять переменные окружения TEMP и TMP. Убедитесь, что настройки соответствующих программ не конфликтуют с вашими изменениями. В вашем случае настройка "редирекция временных файлов выполняется вручную" должна быть включена, если вы не хотите, чтобы программа сама управляла этими переменными.
-
Неисправно функционирующие системные службы: Иногда службы Windows, отвечающие за управление учетными записями и настройками, могут сбрасывать пользовательские параметры по умолчанию. Убедитесь, что службы, такие как
User Profile Service
, работают корректно.
Шаги по устранению проблемы
1. Изменение переменных окружения через системные настройки:
- Нажмите
Win + Pause/Break
для открытия системной информации. - Выберите "Дополнительные параметры системы" и перейдите на вкладку "Дополнительно".
- Нажмите на кнопку "Переменные среды".
- Измените значения переменных TEMP и TMP как для системных, так и для пользовательских настроек.
- Сохраните изменения и выйдите из меню.
2. Создание нового пользователя:
- Если предыдущий шаг не помог, создайте новую учетную запись администратора и проверьте, сохраняются ли изменения переменных после выхода и повторного входа.
3. Проверка и обновление программного обеспечения:
- Обновите установленное ПО, так как устаревшие версии могут вызывать конфликты. Убедитесь, что все программы управляют переменными окружения корректно.
4. Проверка на наличия вредоносного ПО:
- Обратите внимание на то, что даже в отсутствие подключения к сети ваше устройство может быть заражено. Проведите дополнительные проверки с использованием надежных антивирусных средств.
Заключение
Следуя этим рекомендациям, вы сможете восстановить корректное функционирование пользовательских переменных окружения TEMP и TMP. Не забывайте, что правильное управление настройками системы не только оптимизирует работу вашей машины, но и сокращает количество потенциальных проблем с производительностью и стабильностью. Если проблема продолжает сохраняться даже после выполнения всех шагов, возможно, стоит рассмотреть полное резервное копирование данных и переустановку операционной системы как последний вариант.