Windows LZX сжатие файлов на уровне NTFS в Windows

Может относиться для любой версии Windows

akok

Команда форума
Администратор
Ассоциация VN
Сообщения
25,186
Решения
5
Реакции
13,741
Еще одной довольно интересной и перспективной, но почему-то слабо афишированной, возможностью Windows 10, является поддержка алгоритма сжатия данных LZX на уровне файловой системы NTFS. По сравнению с уже знакомым нам NTFS сжатием, степень сжатия LZX в Windows 10 гораздо выше (уровень сжатия практически на уровне zip). Достигается степень сжатия в среднем 40-60%.

Сжатие файлов с помощью алгоритма LZX в Widnows 10 выполняется только вручную с помощью уже знакомой нам утилиты compact. При обращении к сжатым файлам их распаковка в памяти происходит полностью прозрачно для пользователя.

Недостатки использования LZX сжатия:

  • Сжатие выполняется вручную, и при перезаписи/обновлении/изменении сжатого файла, компрессию нужно выполнять заново. Таким образом, этот вид сжатия нецелесообразен для постоянно изменяемых файлов и временных папок.
  • На распаковку сжатых файлов в памяти расходуются дополнительные ресурсы CPU и памяти. Это, в общем-то, не критично для современных многоядерных процессоров.
  • Сжатые файлы никак не выделяются в проводнике (файлы, сжатые стандартной NTFS компрессией выделяются синим цветом).
  • При сбое диска/файловой системы шанс на восстановление данных сокращается.
Важно. Файлы, сжатые в Windows 10 и 11 с помощью алгоритма LZX нельзя открыть в предыдущих версиях Windows.

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

К примеру, при сжатии каталога с установленной игрой Far Cry 4 размер каталога уменьшился с 27 до 17 Гб. Для Counter-Strike: GO экономия места на диске оказалась скромнее: 10 против 7,5 Гб. Примечание. Естественно, сживать мультимедийные файлы (фото, видео, музыка) и архивы смысла нет, т.к. они уже сжаты с помощью собственных алгоритмов.

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


Код:
compact /c /a /exe:lzx "C:\Program Files (x86)\mirkes.de\Tiny Hexer\mpth.exe"

1697279096783.png


Размер, занимаемый на диске данным исполняемым файлов уменьшился с 1,54 Мб до 0,7 Мб.

Сожмем содержимое всех файлов и подкаталогов в определенной директории:

Код:
compact /c /s /a /i /exe:lzx "C:\Program Files (x86)\*"

1697279134473.png



В нашем примере, размер каталога C:\Program Files (x86)\ на диске уменьшился почти в два раза.

Важно! Ни в коем случае не стоит сжимать целиком системный диск или каталог C:\Windows. Система может просто перестать загружаться (кейс со сжатием загрузчика разбирался в статье Ошибка BOOTMGR is compressed).

Как правило, безопасно можно сжать следующие системные папки:

  • C:\Windows\Installer
  • C:\Windows\assembly
  • C:\Windows\Microsoft.NET
  • C:\Windows\Fonts
  • C:\Windows\Inf
  • C:\Windows\infused apps
Чтобы распаковать сжатые файлы, воспользуйтесь командами:
Код:
compact /u /a /exe “C:\Program Files (x86)\mirkes.de\Tiny Hexer\mpth.exe"
compact /u /a /s /exe "C:\Program Files (x86)\*"


Несмотря на постоянный рост емкостей носителей, проблемы с исчерпанием свободного места остаются все так же актуальными, особенно часто эта проблема встает перед владельцами SSD дисков, стоимость Гб места на которых пока достаточно высока. Использование LZX сжатия файлов в Windows 10 поможет сэкономить место на диске за счет небольшой потери производительности (практически не заметна на современных системах). Есть еще один нюанс: на медленных дисках за счет использования сжатия можно уменьшить время чтения больших файлов, т.к. распаковка файлов в памяти будет занимать меньше времени, чем чтение большого файла с диска.

Ссылки по теме:

 
Последнее редактирование:
Ключи которые понимает команда compact:
COMPACT [/C | /U] [/S[:dir]] [/A] [/I] [/F] [/Q] [/EXE[:algorithm]]
[/CompactOs[:eek:ption] [/WinDir:dir]] [filename [...]]

/C Сжимает выбранные файлы. Каталоги маркируются так, чтобы
добавляемые позже файлы также были сжаты, если не указан
параметр /EXE.
/U Распаковывает указанные файлы. Каталоги маркируются
так, чтобы добавляемые позже файлы не были сжаты. Если
указан параметр /EXE, будут распакованы только файлы, сжатые как
исполняемые файлы; если этот параметр пропущен, будут распакованы
только файлы, сжатые в системе NTFS.
/S Выполняет указанную операцию над файлами в выбранном
каталоге и всех его подкаталогах. По умолчанию используется
текущий каталог.
/A Отображает файлы с атрибутами "скрытый" и "системный".
По умолчанию эти файлы пропускаются.
/I Продолжает выполнять указанную операцию даже после
возникновения ошибок. По умолчанию выполнение программы COMPACT
прерывается при возникновении ошибки.
/F Принудительно сжимает все указанные файлы, даже если
некоторые из них уже сжаты. По умолчанию сжатые файлы
пропускаются.
/Q Выводит лишь наиболее существенные сведения.
/EXE Использование сжатия, оптимизированного для исполняемых файлов, которые часто
считываются и не изменяются. Поддерживаемые алгоритмы:
XPRESS4K (наиболее быстрый, по умолчанию)
XPRESS8K
XPRESS16K
LZX (наиболее высокая степень сжатия)
/CompactOs Установка или запрос состояния сжатия системы. Поддерживаемые параметры:
query — запрос состояния сжатия системы.
always — сжатие всех двоичных файлов ОС и установка для системы состояния сжатия,
которое может изменить только администратор.
never — распаковка всех двоичных файлов ОС и установка для системы состояния
отсутствия сжатия, которое может изменить только администратор.
/WinDir Используется с /CompactOs:query во время запроса в автономном режиме ОС. Указывает
каталог, в котором установлена Windows
filename Указывает имя файла, имя каталога или шаблон имен файлов.

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