Что такое формат файла PNF?
Файл .pnf - это системный файл Windows, создаваемый автоматически вместе с одноименным файлом установки драйвера .inf. Название расшифровывается как Precompiled INF (предварительно скомпилированный INF) - Windows создает .pnf при первом обращении к .inf, сохраняя двоичную, предварительно проанализированную версию содержимого этого файла.
Файлы PNF хранят информацию о драйверах и установке в двоичном формате, скомпилированном из исходных данных .inf. При установке устройств Windows использует эту скомпилированную версию вместо того, чтобы каждый раз заново анализировать текстовый .inf с нуля, что ускоряет обработку драйверов. Файл .pnf всегда находится рядом с соответствующим .inf - например, файлу oem5.inf соответствует oem5.pnf в той же папке %SystemRoot%\inf\.
Файлы PNF генерируются системой автоматически из сопутствующего .inf, поэтому их удаление не имеет негативных последствий для стабильности системы. Windows заново создаст .pnf при следующем обращении к соответствующему .inf. Удаление накопившихся файлов .pnf может освободить небольшой объем дискового пространства, особенно в системах, где со временем было установлено много драйверов.
Двоичная структура .pnf является внутренним форматом Windows и не предназначена для прямого открытия или редактирования. Если файл .pnf повреждается или устаревает, Windows просто воссоздает его из исходного .inf.
Безопасность и защита
РИСК: LOWФайл .pnf является внутренним двоичным кэшем Windows, предназначенным только для чтения, и не содержит активного кода. Он не может быть исполнен; он считывается только программой установки Windows/PnP во время обработки драйверов. Удаление .pnf безопасно - Windows восстановит его. Предостережение: НЕ удаляйте массово пары .inf/.pnf из C:\Windows\inf с помощью программ-чистильщиков или антивирусов без понимания их назначения, так как сами файлы .inf необходимы для переустановки или отката драйверов. Файлы .pnf являются расходными материалами; парные файлы .inf - нет.
Детали формата
в двух словахПрограммы, открывающие файлы PNF
Технические подробности
глубокая спецификация| Формат | Проприетарный двоичный (внутренний кэш INF Windows; не является публичной спецификацией) |
| Порядок байтов | Little-endian |
| Заголовок файла | Первые два байта - 01 03 (minor=1, major=3) в Windows Vista до 8.1; более ранняя структура в Windows 98/XP |
| Типичный размер файла | 4 КБ - 200 КБ (отражает сложность исходного .inf) |
| Парный файл | Всегда находится рядом с одноименным .inf (например, oem5.pnf ↔ oem5.inf) в той же папке |
| Расположение по умолчанию | %SystemRoot%\inf\ или хранилище драйверов (DriverStore) |
| Внутренние поля | Байты версии, смещения, затем таблицы разделов/директив INF; именованные поля включают OsLoaderPath, InfName, SourcePath и WinDirPath |
| Смещение WinDirPath | 0x58 в Windows 98/XP; перенесено на 0x68 в Windows Vista и более поздних версиях |
| Обработка ошибок | Отсутствие или повреждение .pnf заставляет Windows автоматически восстановить его из исходного .inf |
| Операционная система | Windows (все версии, начиная с Windows 95/NT) |
| Выпущен | Windows 95/NT era (generated automatically when an .inf is first processed by Windows Setup) |
| Последняя версия | N/A (format evolves with Windows; version bytes 01 03 in header on Vista-8.1; not user-visible) |
Конвертации PNF
Вопросы и ответы сообщества
спрошено пользователямиВопросов пока нет - станьте первым, кто спросит о файлах PNF.