Поучительная история с ZIP-папкой

12.02.2007 09:59  46131   Комментарии (60)

Как известно, не все базовые возможности Windows XP можно/нужно использовать. В частности, встроенные механизмы записи CD и DVD следует немедленно вырубать, в противном случае они станут источником неисчислимых глюков, да и чтобы нормально записать с их помощью диск - нужно станцевать византийский чин-чин, истово колотя заячьей лапкой в шаманский бубен.

(Кстати, вырубить эти средства можно следующим образом: в ключе реестра HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer DWORD NoCDBurning сделать равным "1". Ну или воспользоваться каким-нибудь твикером, вроде вполне симпатичного XP-Tweaker, который кроме этого позволяет делать еще массу всяких полезнейших настроек. )

Так вот, вчера я также убедился в том, что использование встроенных механизмов архивирования Windows XP (так называемые ZIP-папки) также может привести к определенным проблемам. Нет, конечно, когда вам нужно слить в один архив десяток документиков или фотографий - это все работает вполне пристойно. А вот если речь идет о более громоздких архивах, то там можно наступить на определенные грабли. Рассказываю.


Дама-фотограф. Снимает в формате RAW. Каждая фотография при этом занимает более 14 мегабайт. Снимает, записывает файлы на компьютер, обрабатывает, неудачные выкидывает, удачные оставляет. После того как обработка комплекта закончена, дама аккуратно записывает все эти фотографии в архив - ZIP-папку. То есть просто копировала фотографии в созданную ZIP-папку. Она считала, что этим заметно экономит место на диске. На самом деле RAW жмется не сильно, где-то процентов на 20, но уже хоть какая-то экономия. Беда в том, что дама все фотографии копировала в одну-единственную ZIP-папку, а оригиналы удаляла. И эту папку никуда не переписывала, потому что у нее на ноутбуке, где все это происходило, барахлил DVD-RW. 

Прошел год. В какой-то момент, когда в ZIP-папку был скопирован 389-й здоровенный RAW-файл, Windows написала, что архив поврежден, поэтому его содержимое посмотреть нельзя. Вытащить оттуда тоже ничего нельзя. Пишите, короче говоря, письма, сливайте воду. 

Дама чуть не поседела. В архиве - результат годичной работы, причем часть этих фотографий ей нужно было срочно предоставлять заказчикам. Буквально день назад архив открывался и оттуда все доставалось, а сейчас - все, полные вилы. Она позвонила мне, и пришлось помогать спасать все, что нажито непосильным трудом. 

Источник проблемы выяснился сразу - ZIP-архив занимал более 4 гигабайт, а именно 4104 Мб. Встроенный архиватор ZIP Windows XP не умеет работать с архивами, размером более 4 гигабайт. При этом, конечно, возникает серьезный вопрос: какого фига он позволил создать такой архив, почему не ругнулся! А создавать позволяет без проблем - хоть сто гигов в архив запихните, ему пофиг. Потом просто скажет, что папка имеет неправильный формат или повреждена, а там трава не расти. 

Но, что интересно, ни один из других архиваторов этот архив также не взял. Я пробовал WinZIP вплоть до новой, 11-й версии, последний WinRar, WinJar, различные консольные версии и так далее. Почти все они писали, что у архива невозможно обнаружить конец, а значит, нет надежды на продолжение рода. Только WinZIP честно сказал, что раз файл более 4 гиг, он его открывать и не собирается. И даже TurboZIP, в описании которого значилась поддержка здоровенных архивов, с этим файлом ничего не смог сделать - сообщил, что архив поврежден, попробовал восстановить и тут же сдулся.  

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

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

Протестировал я три утилиты восстановления поврежденных ZIP-архивов. 

1. ZIPRecovery 

Платная, $149. Однако демонстрационная версия вполне функциональна. Но работает достаточно паршиво. Из 4-гигового архива сумела создать архив в 250 мегабайт, из которого я извлек в нормальном виде 22 файла. Всего в оригинальном архиве было 398 файлов. Результат при такой цене программы - явно ниже плинтуса. 

2.  Zip Repair Tool

Платная, $30. Демонстрационная версия показывает, что именно она сможет восстановить, но физически исправленный файл не записывает - предлагает купить программу. Но демонстрация написала, что она сможет восстановить всего один файл - и была, разумеется, послана. 

3. Advanced Zip Repair

Платная, $30. Демонстрационная версия также показывает, что именно она может восстановить и с какой вероятностью, но скорректированный файл на диск не записывает. Причем я ради интереса поискал его во всяких темпах - скрывает, зараза, довольно хитро. Однако эта программа написала, что готова восстановить все 398 файлов со стопроцентной вероятностью и только один файл из них - с двадцатипроцентной вероятностью. После такого многообещающего прогноза купил. 

Далее мне просто прислали ссылку на полную версию - никаких регистраций там нет. Скачал полную версию, снова запустил восстановление. Получил скорректированный файл - что интересно, тоже размером больше 4 гигабайт - в районе 4100 Мб. Попробовал его открыть средствами Windows XP -  сообщение об ошибке. Попробовал открыть через WinZIP 11 - тот тоже ругнулся. Я уже было решил, что напрасно потратил $30, но что самое главное - вытащить файлы из архива так и не удается, но тут натравил на архив WinRAR, и тот счастливо его все-таки считал. А также спокойно все разархивировал, кроме одного файла - того самого, у которого было двадцать процентов восстановления. Ура, ура, дама о таком счастье даже и не мечтала! 

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

Вот такая поучительная история. Мораль тут, понятное дело, следующая:

1. Лучше не пользоваться встроенными механизмами Windows XP для работы с архивами. 

2. Среди утилит восстановления поврежденных архивов наилучшие результаты (в данном, подчеркиваю, случае) показала программа Advanced Zip Repair.

Вот и вся мораль.

Теги
Сортировать по алфавиту или записям
BLM 21
Calella 147
exler.ru 315
авто 480
видео 4353
вино 363