Windows. Железо. Интернет. Безопасность. Операционные системы. Советы

Для чего нужна папка Prefetch и Temp в Windows XP? Можно ли удалить из них зараженные вирусами файлы? Папка Prefetch: какие файлы она хранит и зачем они нужны

Сложно, не будучи специалистом, уследить за развитием операционной системы Windows. Но существуют элементарные понятия, которые должен понимать каждый пользователь. Знание того, какие папки и за что отвечают в Windows, позволят легче ориентироваться в системе. Примером неизвестных нам файлов является содержимое C:/Windows/Prefetch.

Предназначение папки

Ответим на вопрос: зачем нужна папка Prefetch? Windows при запуске анализирует программы, которыми мы часто пользуемся (открываем самостоятельно или с помощью автозагрузки). Затем система создает сведения об этих программах, которые хранит в специальных временных файлах в папке Prefetch. При последующем включении Windows эти файлы ускоряют загрузку ОС.

За выполнение этой работы отвечает компонент ОС . Если их удалить, никаких изменений не произойдет. При последующем запуске, Windows снова соберет актуальные данные о программах и поместит в папку Prefetch. При этом загрузка ОС может длиться немного дольше, чем обычно.

Впервые Prefetch использовали в Windows ХР. С появлением Windows Vista папка была дополнена технологиями SuperFetch (отвечает за анализ часто запускающихся приложений) и ReadyBoost (отвечает за увеличение быстродействия). Найти ее можно по такому пути: C:/Windows/Prefetch.

Управление службой Prefetcher

Управлять работой службы Prefetcher можно в редакторе реестра:

Данный параметр оперирует значениями от 0 до 3, которые означают:

  • 0x00000000 - отключение компонента;
  • 0x00000001 - ускорение загрузки приложений;
  • 0x00000002 - ускорение запуска Windows;
  • 0x00000003 - ускорение загрузки ОС и приложений.

По умолчанию стоит значение 3. Для того, чтобы отключить службу, введите значение 0 и сделайте рестарт ПК.

Важно! Разработчики позаботились о том, чтобы папка Prefetch не накапливала файлы (и гигабайты места на диске), создав ограничение трассировочным файлам на 128 штук.

Ответы на вопросы

Можно ли удалить папку Prefetch и данные что она хранит?

Нет. Это не имеет смысла, по трем причинам:

В Windows XP ключ /prefetch:1 по умолчанию добавляется к адресу файла в свойствах иконки запуска Windows Media Player. Что такое prefetch? У слова prefetch перевод на русский язык звучит как "предварительная выборка".


Смыслом этой функции является с Windows XP в целом. Она создает файлы в папке prefetch, содержащие информацию о путях к этим программам на жестком диске.


На сайтах в топе Яндекса по запросу "windows prefetch" можно найти некоторую дезинформацию об этой функции в Windows XP. В частности, на сайтах netler и izcity авторы поддерживают мифы о том, что для ускорения загрузки программ нужно добавлять в адресные строки их ярлыков ключ /prefetch: 1 , и что для ускорения загрузки системы нужно периодически удалять все файлы формата pf из папки prefetch .

В Windows XP папка Prefetch расположена обычно по адресу C:\windows\prefetch. В ней находятся файлы Prefetch с расширением *.pf - это списки файлов для загрузки, так называемые, хэш файлы. Их имена генерируются при хэшировании EXE файлов после загрузки. Каждый раз, когда Вы запускаете EXE файлы, происходит их хэширование и проверка, есть ли соответствующие им.pf файлы в папке Prefetch , и если да, то загружаются эти файлы. Если соответствующие файлы prefetch не существуют, система отслеживает, какие файлы задействует при запуске EXE программа, создает этот.pf файл и сохраняет в него пути к этим файлам.

  • Так что, во-первых, это не очень хорошая идея - очищать папку prefetch, как предлагают некоторые компьютерные сайты. Система просто создаст все эти файлы заново, в любом случае, если, конечно Вы не догадаетесь, как отключить prefetch.
  • Во-вторых, Windows автоматически удаляет файлы prefetch из этой папки, если их становится больше 128 штук. По этому, очистив эту папку, Вы не только не ускорите загрузку программ, но и временно ухудшите производительность Вашего компьютера.

Следующий момент...

Некоторые "специалисты" стали добавлять ключ /prefetch:1 при запуске программ. Многие заметили, что в автоматически созданных ярлыках для Win Media Player присутствует этот ключ, и его значение варьируется в зависимости от выполняемых программой функций. Например, ярлыку файла WMV, по которому Вы дважды щелкаете для просмотра видео, присваивается один параметр ключа prefetch, ярлыку автозапуска для воспроизведения или копирования музыки, которые появляются, когда Вы вставляете аудио компакт-диск - другие параметры.

Некоторые специалисты предположили, что ключ /prefetch: 1 включает процесс предварительной выборки . И они сразу стали добавлять его к каждому исполняемому файлу и рекомендовать делать это другим на разных сайтах и форумах. И таким образом сформировался этот миф. Другие специалисты написали на своих сайтах, что это полное фуфло, и выдвинули теорию о том, что этот ключ специфичен только для WM Player, увидев ссылки на файлы prefetch в подсистеме драйверов Windows.

Вобщем, ни те ни другие нифига не угадали.

Операционная система смотрит на параметр /prefetch:#, когда создает процесс и делает она это только с одной единственной целью. Она добавляет порядковый номер к хэшу . Зачем?

WMP имеет много разных функций. Библиотеки и код, которые он задействует при воспроизведении WMV, сильно отличаются от библиотек, участвующих в воспроизведении DVD, копировании компакт-диска, прослушивании Shoutcast-потока или любой из функций Windows Media Player. Если бы для WMP был только один хэш, то предварительная выборка корректно работала бы только для одной из его функций. При считывании неверных данных из файла prefetch не было бы фатальной ошибки - файл.pf просто загрузился бы в память и не был использован. Тем не менее, это было бы контрпродуктивно.

Параметр /prefetch:# с разными числами для каждой функции Windows Media Player позволяет для каждой функции создать свой отдельный хэш файл, и таким образом предварительная выборка выполняется правильно. Такие параметры prefetch характерны не только для WMP. То же самое делается для любого другого приложения.

Параметр /prefetch: принимается во внимание, когда создается первый поток в процессе, но не удаляется функцией CreateProcess из командной строки, поэтому любое приложение, которое не вкуривает неизвестные параметры командной строки, не будет работать с ним. Вот почему так много людей, заметили, что, например, Kazaa и многие другие программы выдавали ошибки или просто отказывались запускаться c windows prefetch. А WMPlayer конечно знает, что ключ может быть указан в параметрах, и просто молча игнорирует его существование.

Все что делает ключ /prefetch:# - изменяет хэш номер. Операционная система загружает программу с ним точно так же, как и без него, просто сохраняя данные о предварительной выборке в другой.pf файл .

Продолжая изучать компьютер на предмет различных папок и файлов, вы можете обнаружить много интересного. Зачастую те же папки вызывают неподдельный интерес по той простой причине, что файлы в них порой занимают немало места на жестком диске, в результате чего возникает вопрос, можно ли удалять эти файлы. Сегодня поговорим о папке Prefetch.

Папка Prefetch находится в папке Windows (обычно это C:\Windows\Prefetch). Она используется как один из компонентов для загрузки операционной системы Windows, благодаря которому загрузка ОС ускоряется, а время, затрачиваемое на запуск программ, уменьшается. Сам компонент называется Prefetcher и впервые появился еще на Windows XP.

Как работает Prefetcher? Загрузка операционной системы сопровождается обработкой большого количества файлов. При этом некоторые файлы открываются множество раз для чтения различных сегментов. Этот процесс может занимать много времени, поэтому куда удобнее и продуктивнее обращаться к каждому из файлов только один раз, загружая информацию в оперативную память ещё до того, как она станет нужной. Prefetcher позволяет накапливать эти сведения в файлах трассировки для оптимизации загрузки кода и данных при следующих запусках за счет того, что наблюдает за тем, какой код и данные загружаются в процессе запуска операционной системы и приложений.

Параметры Prefetcher хранятся в системном реестре. Вы можете изменить параметры Prefetcher.

Нажмите на сочетание клавиш WIN+R . Появится окно «Выполнить», введите в него слово regedit и нажмите ОК. Так вы откроете .

Когда редактор будет открыт, пройдите по следующему пути: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters.

Выберите параметр EnablePrefetcher.

Кликните по нему два раза. Появится окно, в котором вы можете установить одно из значений:

  • 0x00000000 - компонент отключен
  • 0x00000001 - ускорение запуска приложений
  • 0x00000002 - ускорение загрузки системы
  • 0x00000003 - ускорение запуска приложений и загрузки системы

Нужно вводить не указанный параметр, а только цифру на его конце, например, 0, 1, 2 или 3.

И будьте внимательны при работе с реестром. Если чего-то не понимаете, не меняйте ничего, поскольку одно неосторожное движение может привести к проблемам в работе операционной системы!

Можно ли удалить папку Prefetch?

Существует легенда, согласно которой в папке Prefetch собираются файлы, которые требуют удаления. Это не так. Файлы временные и система при необходимости самостоятельно их удаляет, поэтому, кстати, размер папки такой небольшой. Так что файлы в указанной папке трогать не стоит.

Если же вы все-таки удалите файлы, то ничего не произойдет, однако скорость загрузки приложений может упасть. При этом файлы будут созданы заново автоматически.

Ответы:

Vladimir:
В папке Temp хранятся временные файлы. Можно смело удалять оттуда. В папке Prefetch - не помню точно, что там хранится, но удалять оттуда файлы так же можно, проблем не будет.

Leshiy:
В папке Prefetch лежат программы, которые загружаются при запуске Виндовс, с целью быстрого запуска этих самых программ. Удалять не только можно, но и нужно, иначе их собирается слишком много и это замедляет запуск и работу самой винды. Смотри, что действительно часто используешь, а остальное - в корзину!

Markiz:
По поводу Prefetch вот, что нашел. В папке prefetch (.pf расширение) содержится инф. о часто открываемых прог. и сервисов, для более быстрой их последующей загрузки. Из неё можно всё удалить, система будет грузиться быстрее, а проги (в первый раз) медленнее. Потом снова образуются файлы. Можно чистить, даже нужно иногда.

Mamluk:
В папке prefetch содержится информация и о загружаемых вирусах. Поэтому при ручной чистке неудивительно повторное заражение. Поэтому чистить обязательно, а еще лучше установить режим не записывать в папку ничего.

SHiKiGAMY:
У меня такой папки уже нет. Сделал функцию \"don\"t prefetch\". Используйте специальные проги для удаления \"мусора\" из \"темп\"ов\" и префетча. Например Ace Utilites или WinXP Manager.

Iwan:
Windows XP по умолчанию создает папку %systemroot%\\prefetch. Используется она для ускорения запуска недавно использовавшихся программ, что очень тормозит загрузку системы. Если важнее скорость загрузки системы, выполните нижеизложенное. Чтобы отключить эту функцию: HKEY_LOCAL_MASHINE\\SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Memory Management\\PrefetchParameters сделаем параметр EnablePrefetcher равным 0.

Теперь об еще одной полезной функции, имя ей Prefetch.
Эта функция призвана оптимизировать загрузку приложений, которые Вы загружаете. Что бы при следующей загрузке они загружались быстрее.
Если я правильно помню.

Казалось бы, зачем нам ее трогать?
Дело в том, что со временем в папке Prefetch накапливается много файлов от тех приложений, что Вы заводили. А если вдобавок что-то ставили и удаляли, то файлы в Prefetch от удаленных программ остаются. И это начинает тормозить систему.
Поскольку при загрузке системы windows пытается найти все файлы, что значатся в Prefetch.

Нет однозначного мнения, что с этим делать кто-то советует удалять очищать эту папку при каждой загрузке, кто-то очищать раз в неделю, большинство юзверей советует отключить вообще.
Но, функция эта, безусловно, полезна.
Единственное что очищать ее, если вы имеете свойство ставить и удалять разные программы можно и раз в две недели.
Если просто пользуетесь уже поставленными программами то можно иногда очищать, когда вспомните. :)
Эти же файлы, вернее, их некий общий знаменатель - файл \Windows\Prefetch\layout.ini - используется затем дефрагментатором для оптимизации расположения файлов на диске, что еще больше сокращает время загрузки.

Если Вы еще не запутались, то Prefetch это встроенная функция оптимизации.
Что она делает?
Эта функция призвана сократить время загрузки приложений, тех что загружаются при старте системы и те что Вы часто используете.
Так вот в Prefetch содержатся файлы от наиболее часто загружаемым программах, иногда не от часто загружаемых. По какому принципу windows их отбирает я не знаю. Может как Бог на душу положит.
А дальше windows ждет пока Вы оставите свой компьютер и пойдете покурить, попить чайку и т.д. Точно не помню через какое время, по моему минут через 20 – 30 бездействия машины.
Windows согласно данным папки Prefetch начинает перемешать в начало диска программы которые часто используются для их более быстрой загрузки.
Так же как я упоминал она оптимизирует загрузку программ, помимо их перемещения.

Но часто оптимизируя свою систему юзеры невольно отключают эту функцию.
Дело в том для нормальной работы это службы нужны три вещи, которые часто отключают. Вернее две из них отключают.
1. Встроенный дефрагментатор
2. планировщик задач
3. Доктор Ватсон (хотя точно не помню).

Желательно об этом помнить.

Так что мы можем еще сделать.

1. Удалить либо все файлы из этой папки либо файлы от тех программ, что уже отсутствуют на машине.

2. найдите HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters\
Там есть ключ EnablePrefetcher (REG_DWORD)
К нему применимы значения (0, 1, 2, 3)
0 – отключено (Рекомендуется для маломощных компьютеров)
1 – рекомендуется для компьютеров с ОЗУ до 256МБ (Только программы)
2 – Для тех, у кого на борту от 512МБ и более (программы и системные библиотеки)
3 – Это уже рассчитано для супер-пупер мощных процов + минимум ОЗУ 512Мб, хотя при LargeSystemCache=1 прекрасно работает и на 256Мб ОЗУ.
Рекомендую EnablePrefetcher=3


"Enable"="Y"

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Dfrg\BootOptimizeFunction
"OptimizeComplete"="Yes"

Есть одна легенда, ходящая по просторам сети.
Что в Windows Vista все приложения будут запускаться, и работать на 15% быстрее, чем в Windows XP. Так что вам совсем не нужно ждать выхода Windows Vista, что бы ощутить все прелести данной мульки, т.к. они уже заложены в WinXP SP2!!! Осталось только эту мульку (Super Prefetch) включить. Данная мулька работает ТОЛЬКО под Windows XP SP2 !

HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\Control\Session Manager\ Memory Мanagement\PrefetchParameters\
1. Создаём параметр типа
DWORD
Value Name: EnableSuperfetch
Value: 1

2. Кто-то говорит, что нужно создать отдельный раздел.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\
Создаем раздел Prefetcher
Создаём параметр типа
DWORD
Value Name: EnableSuperfetch
Value: 1

Мнения разделяются, есть комментарии о мифе этого параметра, есть те, кто заметили увеличение производительности.
В любом случаи, что бы проверить. Вы ничего не теряете и ничего не приобретаете кроме лишней записи в реестре.

P.S. Если у кого-то стоит бета версия Висты, Будьте любезны, сделайте экспорт ветви HKEY_LOCAL_MACHINE\SYSTEM\ControlSet\Control\Session Manager\Memory Management
И вышлите мне, если Вас не затруднит.

Понравилась статья? Поделитесь с друзьями!
Была ли эта статья полезной?
Да
Нет
Спасибо, за Ваш отзыв!
Что-то пошло не так и Ваш голос не был учтен.
Спасибо. Ваше сообщение отправлено
Нашли в тексте ошибку?
Выделите её, нажмите Ctrl + Enter и мы всё исправим!