Играет ли папка Prefetch какую-то роль в оптимизации работы Windows и приложений
Тема оптимизации Windows представляется большинству пользователей весьма важной и, наверное, именно потому с ней связано так много мифов. В одном из этих мифов утверждается, что увеличить место на диске, а также ускорить работу системы и приложений можно, производя определённые манипуляции с папкой Prefetch. Давайте же разберёмся, действительно ли это так и для чего вообще нужна папка Prefetch.
В Windows каталог Prefetch играет ту же роль, что и кэш в браузерах. Чтобы система или приложения запускались быстрее, Windows автоматически сохраняет часть их кода в особые файлы трассировки. Когда пользователь запускает, к примеру, ресурсоёмкое приложение, система сначала обращается к содержимому папки Prefetch, считывает сохранённую и «часть» программы в память, в результате чего последняя запускается быстрее.
В Windows папка Prefetch тесно связана с работой службы SuperFetch и компонента ReadyBoost, поэтому всякие действия с ней могут повлиять на их работу, причём не в лучшую сторону. Так, отключение службы SuperFetch может повлечь за собой снижение производительности системы на большинстве ПК за исключением либо старых машин с объёмом ОЗУ 1 Гб и менее, либо, напротив, очень мощных — с оперативной памятью более 16 Гб. Также SuperFetch может быть отключена, если в качестве системного диска используется SSD .
Что даст удаление содержимого папки Prefetch для оптимизации? Ничего, будет только хуже. Во-первых, время, необходимое на загрузку системы и некоторых программ увеличится, во-вторых, файлы PF будут созданы заново, на что системе опять придётся выделить часть ресурсов памяти. К тому же удаление каталога Prefetch ничуть не прибавит места на диске, так как весит эта папка обычно немного, а количество файлов в ней всегда ограничивается 128-ю.
Если вы так уже хотите управлять содержимым Prefetch, делать это нужно правильно, а именно — через реестр.
Откройте командой regedit редактор реестра и разверните эту ветку:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerMemory ManagementPrefetchParameters
В правой колонке окна редактора найдите параметр EnablePrefetcher и посмотрите его текущее значение.
Скорее всего, это будет 3. Именно это значение включает ускорение запуска приложений и системы. Если вы хотите полностью их отключить, измените значение на 0. Для ускорения только приложений установите 1, для ускорения загрузки только системы установите 2. Чтобы изменения вступили в силу, перезагрузите компьютер.
Чуть менее распространённым является миф о том, что программы можно ускорить, если добавить в их ярлык ключ /prefetch:1 . Это действие якобы добавляет выбранную программу в папку Prefetch. В действительности же добавление ключа /prefetch:1 к ссылке на объект никаким образом на работу приложения не влияет, создавать же или не создавать файлы трассировки решает служба Prefetcher , которой виднее, какие приложение нуждаются в оптимизации запуска, а какие нет.
Источник: www.white-windows.ru
Директория Prefetch: что за папка и зачем она нужна
Некоторые пользователи, любящие порыться в системных каталогах, зачастую сталкиваются с директорией Prefetch. Что за папка перед юзером в данном случае, знают далеко не все. Попробуем восполнить пробелы в знаниях насчет того, для чего нужен этот каталог и какие данные он содержит.
Prefetch: что за папка
Рассмотрение вопроса начнем с подачи теоретического материала. При старте операционная система отслеживает процесс загрузки, сохраняя о нем все данные для ускорения последующего запуска в каталоге Prefetch. Что за папка перед нами?
По сути, это директория на жестком диске компьютера, содержащая актуальные данные, параметры и компоненты полного цикла загрузки системы и запуска наиболее часто используемых программ.
Чтобы в следующий раз не загружать все компоненты с нуля, Windows и использует данные, сохраненные на винчестере. Некоторые юзеры, правда, утверждают, что для каждого последующего запуска системы информация, хранящаяся в каталоге Prefetch, становится устаревшей. Поэтому, с их точки зрения, время от времени нужно очищать директорию Prefetch. Что за папка Prefetch, немного понятно. А вот далеко не все любители очистки знают, что данные в ней перезаписываются автоматически после каждого старта или запуска приложения.
Посмотрим на практические стороны вопроса об удалении ее содержимого. Чуть позже будет сказано о том, как отключить использование функции ускорения загрузки, если это кому-то уж слишком сильно мешает.
Папка Prefetch в Windows 7 и выше: стоит ли ее очищать
Удаление данных из этого каталога никаких критических изменений в работе системы или установленных программ не вызовет.
Но вот абсолютно неправы все те, кто утверждает, что после удаления информации из этого каталога загрузка системы и запуск приложений станет быстрее. Как раз наоборот, ведь системе или программе придется заново запускать собственные модули, помещая их в оперативную или виртуальную память компьютерного устройства, а это занимает время. Использование данных директории Prefetch затрачиваемое на эти процессы время сокращает существенно. Поэтому очисткой по большому счету заниматься нежелательно, тем более — удалять саму папку.
Тут важно понимать, что при последующих загрузках данные о процессе все равно будут сохранены. Так что очистка и удаление окажутся тем, что принято называть «сизифов труд».
Управление содержимым каталога Prefetch
Если уж кому-то не нужна эта служба, от нее можно избавиться. Для этого следует войти в редактор системного реестра (команда regedit в меню «Выполнить», вызываемом сочетанием Win + R).
Здесь нужно выбрать ветку HKLM, а затем через системный каталог (SYSTEM) и настройки текущих параметров контроля (CurrentControlSet) спуститься до раздела инспектирования памяти, где и находится искомый каталог PrefetchParameters. В нем содержатся ключи формата 0x0000000z, где «z» может принимать четыре варианта значений:
- 0 – полное отключение;
- 1 – ускорение только запуска программ;
- 2 – оптимизация только загрузки Windows;
- 3 – задействование функции в полном объеме (и для системы, и для приложений).
Те же настройки можно произвести и в редакторе групповых политик или в инструментарии администрирования компьютера.
Остается добавить, что каталог располагается в системном разделе по пути Windows/Prefetch. Что за папка и для чего она нужна, думается, уже понятно. Если дать небольшой совет напоследок, лучше не заниматься очисткой содержимого каталога или изменением параметров службы, установленных в системе по умолчанию.
Источник: fb.ru
Superfetch
Изначально служба prefetch разрабатывалась как отдельный компонент ОС Windows (начиная с ОС Windows XP) для ускорения запуска системы и приложений. Все это было в далеком 2001 году. Представляете конфигурацию компьютеров в те времена?
Теперь вернемся в наш 2018 год.
Проблема кэширования данных уже давно решена на аппаратном уровне и заложена в любой жесткий диск с магнитным накопителем. Где для кэширования данных есть собственная память, объем которой рассчитывается исходя из скорости вращения диска, чтобы соответсвовать максимальной пропускной способности для интерфейсов подключения (IDE, далее SATA и прочие).
Почему надо отключать эту службу? Служба prefetch (в списке служб она называется prefetcher) наблюдает за запуском приложений и создает файлы трассировки оптимизации кода. Эта сложная структура кэша исполняемого кода, которая собирается ограниченное время (10 секунд после запуска) и подставляется в память при повторном запуске приложений. Отключают эту службу потому, что время потраченное на создание трассировки, намного больше, чем время и скорость считывания данных с современных жестких дисков. Тем более появились более быстрые SSD диски.
Microsoft в принудительном порядке отключает prefetch на собственных планшетах линейки Surface.
Так как, это обусловлено экономией места на накопителях и увеличением производительности системы! Почему Microsoft не дает возможность отключать самостоятельно prefetch — загадка, скорей всего это делается в маркетинговых целях.
Изучая проблему SuperFetch, мы вышли на его родственников (prefetch и readyboot)
и решили добавить их отключение в утилиту superfetch.exe.
Версия 2.03, Файл: superfetch.exe проверен на вирусы (см. отчет на Virustotal), размер: 0.4 Мб. Обновлено: 24.10.2018
Источник: superfetch.ru
Prefetch: что это за папка и можно ли ее удалить?
Продолжая изучать компьютер на предмет различных папок и файлов, вы можете обнаружить много интересного. Зачастую те же папки вызывают неподдельный интерес по той простой причине, что файлы в них порой занимают немало места на жестком диске, в результате чего возникает вопрос, можно ли удалять эти файлы. Сегодня поговорим о папке Prefetch.
Папка Prefetch находится в папке Windows (обычно это C:WindowsPrefetch). Она используется как один из компонентов для загрузки операционной системы Windows, благодаря которому загрузка ОС ускоряется, а время, затрачиваемое на запуск программ, уменьшается. Сам компонент называется Prefetcher и впервые появился еще на Windows XP.
Как работает Prefetcher? Загрузка операционной системы сопровождается обработкой большого количества файлов. При этом некоторые файлы открываются множество раз для чтения различных сегментов. Этот процесс может занимать много времени, поэтому куда удобнее и продуктивнее обращаться к каждому из файлов только один раз, загружая информацию в оперативную память ещё до того, как она станет нужной. Prefetcher позволяет накапливать эти сведения в файлах трассировки для оптимизации загрузки кода и данных при следующих запусках за счет того, что наблюдает за тем, какой код и данные загружаются в процессе запуска операционной системы и приложений.
Параметры Prefetcher хранятся в системном реестре. Вы можете изменить параметры Prefetcher.
Нажмите на сочетание клавиш WIN+R. Появится окно «Выполнить», введите в него слово regedit и нажмите ОК. Так вы откроете редактор реестра.
Когда редактор будет открыт, пройдите по следующему пути: HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerMemory ManagementPrefetchParameters.
Выберите параметр EnablePrefetcher.
Кликните по нему два раза. Появится окно, в котором вы можете установить одно из значений:
- 0x00000000 — компонент отключен
- 0x00000001 — ускорение запуска приложений
- 0x00000002 — ускорение загрузки системы
- 0x00000003 — ускорение запуска приложений и загрузки системы
Нужно вводить не указанный параметр, а только цифру на его конце, например, 0, 1, 2 или 3.
И будьте внимательны при работе с реестром. Если чего-то не понимаете, не меняйте ничего, поскольку одно неосторожное движение может привести к проблемам в работе операционной системы!
Можно ли удалить папку Prefetch?
Существует легенда, согласно которой в папке Prefetch собираются файлы, которые требуют удаления. Это не так. Файлы временные и система при необходимости самостоятельно их удаляет, поэтому, кстати, размер папки такой небольшой. Так что файлы в указанной папке трогать не стоит.
Если же вы все-таки удалите файлы, то ничего не произойдет, однако скорость загрузки приложений может упасть. При этом файлы будут созданы заново автоматически.
Комментарии к записи “ Prefetch: что это за папка и можно ли ее удалить? ”
- Олег8 ноября 2016 в 18:42 Спасибо, что есть подобные разделы в интернете. В паспорте компа ничего дельного нет, а за счет материалов в сети я разгрузил память своего железа почти до девственной, какой она была при покупке.
Источник: fulltienich.com
Охотимся на техники и тактики атакующих с использованием Prefetch-файлов
Файлы трассировки, или Prefetch-файлы, появились в Windows еще со времен XP. С тех пор они помогали специалистам по цифровой криминалистике и реагированию на компьютерные инциденты находить следы запуска программ, в том числе вредоносных. Ведущий специалист по компьютерной криминалистике Group-IB Олег Скулкин рассказывает, что можно найти с помощью Prefetch-файлов и как это сделать.
Prefetch-файлы хранятся в каталоге %SystemRoot%Prefetch и служат для ускорения процесса запуска программ. Если мы посмотрим на любой из этих файлов, то увидим, что его имя состоит из двух частей: имени исполняемого файла и контрольной суммы от пути к нему, состоящей из восьми символов.
Prefetch-файлы содержат массу полезной с криминалистической точки зрения информации: имя исполняемого файла, количество его запусков, списки файлов и каталогов, с которыми взаимодействовал исполняемый файл, и, разумеется, временные метки. Обычно криминалисты используют дату создания того или иного Prefetch-файла для определения даты первого запуска программы. Кроме того, данные файлы хранят дату ее последнего запуска, а начиная с версии 26 (Windows 8.1) — временные метки семи последних запусков.
Давайте возьмем один из Prefetch-файлов, извлечем из него данные средствами PECmd Эрика Циммермана и посмотрим на каждую их часть. Для демонстрации я извлеку данные из файла CCLEANER64.EXE-DE05DBE1.pf.
Итак, начнем сверху. Разумеется, у нас есть временные метки создания, модификации и доступа к файлу:
За ними следуют имя исполняемого файла, контрольная сумма пути к нему, размер исполняемого файла, а также версия Prefetch-файла:
Так как мы имеем дело с Windows 10, далее мы увидим количество запусков, дату и время последнего запуска и еще семь временных меток, указывающих на предыдущие даты запуска:
За ними следует информация о томе, включая его серийный номер и дату создания:
И последнее, но не менее важное — список каталогов и файлов, с которыми взаимодействовал исполняемый файл:
Итак, каталоги и файлы, с которыми взаимодействовал исполняемый файл, — это как раз то, на чем я хочу сегодня сосредоточиться. Именно эти данные позволяют специалистам по цифровой криминалистике, реагированию на компьютерные инциденты или проактивному поиску угроз установить не только факт исполнения того или иного файла, но и, в некоторых случаях, — реконструировать конкретные тактики и техники атакующих. Сегодня злоумышленники достаточно часто используют инструменты для безвозвратного удаления данных, например, SDelete, поэтому способность восстанавливать хотя бы следы использования тех или иных тактик и техник просто необходима любому современному защитнику — компьютерному криминалисту, специалисту по реагированию на инциденты, ThreatНunter-эксперту.
Давайте начнем с тактики Initial Access (TA0001) и самой популярной техники — Spearphishing Attachment (T1193). Некоторые киберпреступные группы относятся к выбору таких вложений довольно творчески. Например, группа Silence использовала для этого файлы в формате CHM (Microsoft Compiled HTML Help). Таким образом, перед нами еще одна техника — Compiled HTML File (T1223). Такие файлы запускаются с помощью hh.exe, следовательно, если мы извлечем данные из его Prefetch-файла, то узнаем, какой именно файл был открыт жертвой:
Продолжим работать с примерами из реальных дел и перейдем к следующей тактике Execution (TA0002) и технике CSMTP (T1191). Microsoft Connection Manager Profile Installer (CMSTP.exe) может использоваться атакующими для запуска вредоносных сценариев. Хороший пример — группа Cobalt. Если мы извлечем данные из Prefetch-файла cmstp.exe, то снова сможем узнать, что именно было запущено:
Еще одна популярная техника — Regsvr32 (T1117). Regsvr32.exe также часто используется атакующими для запуска. Вот и еще один пример от группы Cobalt: если мы извлечем данные из Prefetch-файла regsvr32.exe, то снова увидим, что было запущено:
Следующие тактики — Persistence (TA0003) и Privilege Escalation (TA0004), а также Application Shimming (T1138) в качестве техники. Эта техника использовалась Carbanak/FIN7 для закрепления в системе. Обычно для работы с базами данных с информацией о совместимости программ (.sdb) используется sdbinst.exe. Следовательно, Prefetch-файл данного исполняемого файла может помочь нам узнать имена таких баз данных и их расположение:
Как видно на иллюстрации, мы имеем не только имя файла, использованного для инсталляции, но и имя инсталлированной базы данных.
Давайте взглянем на один из наиболее типичных примеров продвижения по сети (TA0008) — PsExec, использующего административные общие ресурсы (T1077). Служба с именем PSEXECSVC (разумеется, может использоваться и любое другое имя, если атакующие использовали параметр -r) будет создана на целевой системе, следовательно, если мы извлечем данные из Prefetch-файла, то увидим, что было запущено:
Закончу я, пожалуй, на том, с чего начинал — удаление файлов (T1107). Как я уже отмечал, многие атакующие используют SDelete для безвозвратного удаления файлов на разных стадиях жизненного цикла атаки. Если мы взглянем на данные из Prefetch-файла sdelete.exe, то увидим, что именно было удалено:
Разумеется, это не исчерпывающий список техник, которые можно обнаружить в ходе анализа Prefetch-файлов, но этого должно быть вполне достаточно, чтобы понять, что такие файлы могут помочь не только найти следы запуска, но и реконструировать конкретные тактики и техники атакующих.
- киберкриминалистика
- компьютерная криминалистика
- компьютерная безопасность
- кибербезопасность
- cybersecurity
- cybercrime
- reverse engineering
- реверс-инжиниринг
- информационная безопасность
- Блог компании Group-IB
- Информационная безопасность
- IT-инфраструктура
- Реверс-инжиниринг
- Исследования и прогнозы в IT
Источник: habr.com