3

Существует ли какое-либо бесплатное программное обеспечение Windows, которое может создавать сжатые архивы и впоследствии монтировать их прозрачно (с возможностью записи) в другой каталог?

До сих пор единственной такой программой, которую я видел, является ImageX (формат WIM), но мне интересно, есть ли другая альтернатива, которая (надеюсь) поддерживает более известный формат архива (например, ZIP, 7z и т.д.).

3 ответа3

1

Пакет аудита Pismo File Mount Audit содержит инструмент для создания файлов .pfo, файлы могут иметь внутреннее сжатие и / или шифрование ... и монтироваться в режиме чтения / записи.

Осторожно, он не идеален, в Windows 10 некоторые приложения не справляются:

  • Adobe Acrobat Reader выдает ошибку (путь не найден или похож) для открытия PDF-файлов внутри смонтированного .pfo в виде папки
  • TreeSizeFree не идет внутри таких путей
  • Диспетчер дисков не может монтировать файлы VHD / VHDX внутри .pfo

Но Explorer, командная строка, а также VirtualBox прекрасно работает.

Наличие .vdi внутри сжатого .pfo прекрасно работает и в большинстве случаев с очень высокой степенью сжатия (намного больше, чем собственное сжатие NTFS).

Теперь, почему вы не можете смонтировать z Zip / 7z в режиме записи:

  • Некоторые могут быть «твердыми», что означает, что для чтения файла необходимо распаковать данные до тех пор, пока такие данные не будут ... декомпрессия достаточно быстра, чтобы сделать это с некоторыми интеллектуальными алгоритмами в режиме чтения ... но сжатию потребуется много минут ,
  • Просто откройте такой файл zip / 7z с его родным инструментом и попробуйте что-нибудь добавить, посмотрим, сколько времени это займет

Пожалуйста, сделайте такой тест на zip / 7z файлах с большим количеством маленьких файлов, больших и т.д ...

Реализовать такой режим записи не представляется возможным, но это может потребовать столько, сколько полное распаковка и сжатие.

Это основная причина, почему форматы, которые не предназначены для записи на лету, не монтируются в режиме записи ... другая причина:

  • Файлы, предназначенные для записи на лету, не нуждаются в полном воссоздании
  • С другой стороны, твердые файлы должны быть полностью переписаны при изменении чего-либо внутри
  • Некоторые форматы файлов не поддерживают наличие дыр, поэтому любое внутреннее изменение размера файла вызывает выравнивание всего остального в сжатом файле

Другая причина - безопасность ... с точки зрения потери всех данных ...

  • Когда файл должен быть изменен, он должен быть копированием при записи, чтобы быть безопасной операцией ... представьте, что копируете 4 ГБ просто для редактирования имени файла ... время будет несколько минут

Да, не думайте о наличии файла на сверхбыстром диске SSD ... представьте себе, что такой файл находится на медленной, действительно медленной карте памяти ... со скоростью менее 10 МБ / с ... при одном редактировании в 4 ГБ файл занял бы около семи минут.

Еще одна причина:

  • Вы говорите Windows скопировать в него сотню файлов ... Windows будет обрабатывать каждый файл так, как ему нравится (возможно, не сообщит приложению, что собирается скопировать этот список файлов, возможно, он скажет только один ... в действительности, это действительно так ужасно)
  • Монтер видит, что записан только один новый файл, так что процесс его удержания занимает семь минут, но после этого окна ставят следующий ... еще семь минут ... и так далее.

Но подождите, это намного хуже ... может быть, окна (или некоторые приложения) не записывают весь файл только в одном порядке / команде ... некоторые делают это на блоках ... так:

  • Монтер не может знать, сколько таких записей (блоков) будет записано, и может потребоваться семь минут для каждого блока.

Некоторые приложения делают это для записи / копирования файла (в худшем случае):

  1. Откройте прочитанный файл
  2. Прочитать блок (1Byte, 512Bytes, 4K, 8MiB, независимо от того, какой размер они запрограммированы)
  3. Закрывает прочитанный файл
  4. Откройте файл для записи или добавления
  5. Напишите такой блок
  6. Закрывает файл записи
  7. Перейдите к шагу 1, чтобы продолжить, пока все блоки не будут записаны

Так что ни один монтер не может знать, сколько нужно «буферизовать» для таких записей.

Поскольку мы говорим о «на лету» и прозрачно для системы, единственный вариант - это монтировать их только в режиме чтения.

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

Всегда думая, что у вас будет достаточно свободного места для одновременного хранения конечного и предыдущего состояния (чтобы быть в безопасности и не потерять старые данные).

С другой стороны, существуют форматы файлов, предназначенные для режима записи:

  • Они знают, как удалить (и имеют пробелы)
  • Они знают, как фрагментировать (при добавлении дополнительных данных в файл добавить) или, по крайней мере, переместить весь файл в конец контейнера и сделать пробел там, где он был раньше
  • Некоторые могут знать, как повторно использовать достаточно большие пробелы (без фрагментации) или полностью использовать пробелы (фрагментация)
  • Очень немногие из них знают, как уменьшить размер или просто не реализуют его

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

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

Это теория ... я не нашел инструмента, который сделал бы все это ... Pismo не сжимается, но делает все остальное (чтение / запись) с форматами CFS и PFO и для некоторых других форматов (только чтение).

Я должен исследовать такой формат WIM ... но если я плохо помню, это формат M $ ... как насчет монтирования Linux? У Pismo есть версии для Windows и Linux ... и другие ОС тоже.

Также Pismo имеет SDK, так что вы можете создать свой собственный контейнер и «драйвер» ... или использовать его внутри своего приложения.

Также Pismo может монтировать такой файл только для PID (так что только ваше приложение может монтировать его и т.д.)... и многое другое ... но, как я уже сказал, ... с Windows 10 некоторые вещи не работают прекрасно ... это не полностью прозрачно в Windows 10.

Пожалуйста, если кто-то найдет «идеальный» инструмент, прокомментируйте и поделитесь им, лучше, если это OpenSource.

1

Да, пакет аудита Pismo File Mount http://www.pismotechnic.com/pfm/ap/

Вы можете смонтировать zip iso и т. д. в качестве папок, и он имеет дополнительную зашифрованную папку контейнера

бесплатное программное обеспечение, без необходимости

1

Для решения проблем Windows 10 установите pfo с правами администратора и с флагом "для всех пользователей" ... тогда такие приложения будут видеть pfo в виде папки.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .