Большой ZIP может использовать расширения ZIP64, когда обычных 32-битных полей недостаточно для размеров, смещений или количества записей. Старое приложение способно назвать такой контейнер повреждённым, хотя он исправен. Поэтому диагностика многогигабайтного файла начинается с проверки совместимости, а не с попытки перестроить структуру.
Если ZIP64 действительно повреждён, используйте копию в инструменте восстановления архива Helionix. Убедитесь, что интерфейс и браузер допускают размер вашего файла и поддерживают ZIP64 до запуска длительного анализа.
Чем ZIP64 отличается при чтении
В обычных заголовках специальные максимальные значения указывают, что реальный размер или смещение хранится в ZIP64 extra field. В конце контейнера присутствуют расширенная запись End of Central Directory и локатор. Анализатор обязан читать 64-битные значения, иначе он вычислит неверную границу, количество элементов или положение каталога.
| Проблема | Как проявляется | Что делать |
|---|---|---|
| Старое приложение | Ошибка большого файла или каталога | Проверить современным ZIP64-декодером |
| Нехватка памяти | Вкладка закрывается или зависает | Использовать потоковое чтение и лимиты |
| Обрезан конец | Нет ZIP64 EOCD или локатора | Сканировать локальные записи |
| Повреждён один поток | CRC error конкретного файла | Сохранить остальные подтверждённые записи |
Порядок работы с большим архивом
- Проверьте свободное место, память и лимит браузера.
- Скопируйте ZIP на надёжный локальный носитель.
- Сверьте фактический размер и внешний SHA-256.
- Попробуйте современный ZIP64-совместимый инструмент.
- Откройте восстановление большого ZIP.
- Сначала проанализируйте каталог без глубокого чтения.
- Затем проверяйте данные потоково с отображением прогресса.
- Сохраните исправные записи в новый контейнер и протестируйте его.
Почему нельзя загружать всё в память
Архив размером несколько гигабайт и его распакованное содержимое могут значительно превышать доступную память вкладки. Безопасная реализация читает небольшие диапазоны, потоково декодирует запись и обновляет CRC. Каталог тоже лучше индексировать компактно. Отмена должна освобождать ресурсы, а частичный отчёт — явно показывать незавершённость.
Большой размер после распаковки
Объём контейнера не показывает требуемое место. Суммарный исходный размер может быть во много раз больше, особенно для повторяющихся данных. Установите лимит на декодированный объём и число записей. Не создавайте огромные временные файлы только ради проверки: потоковый CRC позволяет не сохранять содержимое на диск.
Реконструкция каталога ZIP64
Если конец отсутствует, локальные заголовки можно сканировать как в обычном ZIP, но размеры свыше 4 ГБ читаются из дополнительных полей. Неправильная интерпретация приводит к смещению всех последующих границ. Каждый кандидат проверяется по методу, длинам, декодированию и CRC. Новый каталог формируется только для подтверждённых записей.
Копирование и носители
Большой файл чаще сталкивается с неполным копированием, ограничением файловой системы и ошибками накопителя. FAT32, например, не подходит для отдельных файлов свыше 4 ГБ. После переноса сравнивайте внешний SHA-256 источника и копии. Если чтение носителя нестабильно, сначала создайте образ или копию средствами, которые не перезаписывают исходные данные.
Прогресс и возобновление анализа
Многочасовая проверка должна показывать обработанные байты и число записей, а не неопределённый индикатор. Полезно сохранять локальный технический чекпойнт с хешем исходного контейнера и уже проверенными диапазонами. Возобновлять его можно только для того же неизменённого ZIP; совпадения одного имени недостаточно. Если браузер или инструмент не поддерживает безопасное продолжение, лучше начать заново, чем смешать результаты разных копий.
Частые вопросы
Любой ZIP больше 4 ГБ обязательно повреждён?
Нет. Для таких задач существует ZIP64. Нужна программа, которая корректно поддерживает расширенные поля.
Можно ли восстановить ZIP64 на телефоне?
Теоретически да, но память, место и ограничения браузера могут сделать задачу непрактичной. Лучше использовать мощное устройство и потоковый инструмент.
Почему анализ идёт очень долго?
Полная CRC-проверка требует прочитать и декодировать все выбранные данные. Скорость зависит от метода, накопителя и процессора.
Итог
Сначала отличите ZIP64 от повреждения и исключите ограничения старого приложения. Большой архив проверяйте потоково, контролируя память и распакованный объём. При реконструкции учитывайте 64-битные размеры и создавайте новый каталог только для успешно прочитанных записей.
