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

Как известно, не все базовые возможности 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.

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

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

> Вот захотелось например мне порисовать что нибудь в фотошопе

а на Бентли тебе прокатиться не захотелось?


> ну нету у меня возможности заплатить полтысячи долларов за софт

и действительно, вон Бентли стоит. А его владелец не обеднеет, новый себе купит...
14.02.07 17:30
0 0

> Объянить, почему mirror - вовсе не панацея
объяснить.
13.02.07 22:36
0 0

Поподробнее, пожалуйста.

В каких именно пунктах лицензия на любой Windows противоречит российскому законодательству и какому именно закону?



Или это о гипотетической лицензии которая может быть составлена, из той же серии что "если бы у бабушки..."
13.02.07 11:36
0 0

Лицензию они могут составить какую угодно, но если она противоречит нашему закону о правах потребителя, то она ничтожна.
13.02.07 11:22
0 0

"Факт. Человек просто не понимает, как можно за программу платить, если ее можно просто спереть."



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

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



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



Да и что я - а что остальные? В глубинке России например? По вашим словам всё упирается в нашу пост-советскую ментальность "переть все что можно" и т.д., но какая средняя зарплата сейчас по стране? 300, 400 долларов? Когда человек поставлен перед вариантом "купить поесть" или "честно заплатить 50 долларов за софт" какой вариант он предпочтет? Если бы зарплаты были соизмеримы с зарубежным уровнём - тогда можно было что-то говорить.



А вот постоянно потакать всем что мол они вечные воры, а мол я Экслер самый правильный дядюшка и за софт плачу - глупо.



Если бы у многих были бы высокие заработные платы - через лет 10-20 платили бы очень многие.



Интересно, тут кто-то еще регулярно платит за софт как дядя Экслер, или 'вот мы все такие неправильные и непонимающие?' ;0)
13.02.07 03:03
0 0

-Зверик-: Вот захотелось например мне порисовать что нибудь в фотошопе



А в бесплатном GIMP'е порисовать не судьба? Я почти уверен, что функционала GIMP'а тебе хватит. Пример про то, что мне хочется автомобильку Lamborgini но пользуюсь жигулями, приводить не буду, не хочу оскорблять достоинства GIMP'а. :-P



-Зверик-: Интересно, тут кто-то еще регулярно платит за софт как дядя Экслер, или 'вот мы все такие неправильные и непонимающие?' ;0)



Есть такие люди :) Я правда редко покупаю (Debian Sarge (2 DVD - всё что необходимо) довольно давно вышел) но новая версия выйдет - куплю. Какие проблемы? Надо поиграть - Doom 3 , Quake 4. Всё легальное.
13.02.07 06:35
0 0

-Зверик-:

Заплачу только если выбора совсем не будет. Заработная плата здесь не причем.
13.02.07 12:31
0 0

RAID на материнках тот же софтовый, или еще бывает какой-то гибридный, часть функций аппаратно, часть - драйвером. Полноценного хардверного RAID не видел на материнках для десктопов, только на дорогих серверных. Минимальный полноценный hardware RAID в США можно купить немного больше, чем за сотню, но это будет четырехпортовый RAID 1+0 максимум. Для домашнего использования в самый раз. Если же хочется "настоящий" RAID 5, 8 портов и больше, то таких контроллеров посчитать по пальцам одной руки. Стандарт - 3ware, стоит от $500.
12.02.07 23:02
0 0

Ну встроенный RAID тада оно конечно, но опять же он впервые начал ставиться на всякие Deluxe комплектации материнских плат, стоящих весьма недешево, и только потом пошел в массы, ну и возвращаясь к нашей излюбленной теме :) - положа руку на сердце это все-таки "недоделанный" RAID...
12.02.07 21:59
0 0

Alex Exler: встроенные механизмы записи CD и DVD



Только CD. DVD Win XP писать не умеет.
12.02.07 19:17
0 0

Интересно, если бы фотографии не восстановились, можно было бы с Майкрософт стребовать компенсацию за год потерянной работы?
12.02.07 19:14
0 0

Piggy_Bank: Интересно, если бы фотографии не восстановились, можно было бы с Майкрософт стребовать компенсацию за год потерянной работы?

Нет, нельзя.
Вот если Вы попадете в аварию на автомобиле по причине его конструктивных недостатков, то в нормальной стране фирма-производитель выплатит Вам нехилую компенсацию да еще может схлопотать море разных других проблем.
У Микрософта же лицензия (почитайте, оч-чень познавательно!) составлена примерно так: -- вы, ребята, гоните бабло, но мы вам просто даем нашу программу и ни за что не отвечаем.

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

На фига она вообще равы в зип пихала? :) Писала бы себе на диски и пользовалась IMatch для каталогизации (благо он поддерживает сменные носители) или, на худой конец, Пикассой...
12.02.07 19:05
0 0

NERO не работает под Windows95, поэтому для записи на CD (и для считывания с CD файлов, которые Windows не видит) я использую маленькую бесплатную программу, работающую под Windows95.
12.02.07 18:45
0 0

а 7-zip не пробовали? www.7-zip.org бесплатная...
12.02.07 15:27
0 0

Может я ошибаюсь, но в документации Advanced Zip Repair указано, что он работает с архивами ДО 4ГИГА и 4Г является максимально возможным размером согласно спецификации PkZip ( Здесь)
12.02.07 15:25
0 0

sosed: Может я ошибаюсь, но в документации Advanced Zip Repair указано, что он работает с архивами ДО 4ГИГА и 4Г является максимально возможным размером согласно спецификации PkZip



И что? Архив и не читался, потому что он был более 4 гиг. Zip Repair сделал так, что он стал читаться.
12.02.07 15:33
0 0

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

У меня стратегия такая: 4 гига набралось - на второй винт скопировал, болваночку нарезал, на компьютер в другом помещении отнес.
12.02.07 15:22
0 0

Теоретически нет, практически это можно включить путем редактирования системных файлов, на самом деле при "современном развитии печатного дела на Западе" (с), т.е. цене raid карты 50 евро - проще купить такую карту.

Поможет ли она - чему? Это риторический вопрос. Если сделать просто зеркало - будет быстрее считывать, подольше записывать, если накроется один винчестер - теоретически его можно заменить и восстановить RAID без потери данных. На самом деле это слишком глобальная тема, чтобы обсуждать ее в комментах. В Интернете есть уйма всякого на эту тему.
12.02.07 14:53
0 0

Еще раз убедился в том, что Алекс плохого не посоветует. Уже год два как пользуюсь XPTweaker-ом, и всем, кому ставлю на комп XP, первым делом с его помощью отрубаю встроенную запись дисков и зип-архивы, после чего ставлю WinRar или Powerarchiver, и Nero (или Deepburner, если Nero под рукой нету). У меня вообще страшный "зуб" на эти встроенные средства, после того, как 2 года назад половина моих австралийских фоток накрылась медным тазом. Встроенные средства (а других на родительском компе не было,и ставить они ничего не хотели) часть папок на диск записали так, что их содержимое просто испарилось в никуда, а я не проверил сдуру...
12.02.07 14:53
0 0

А в Windows XP Professional поддерживается MIRROR? Или нужно покупать RAID-плату (и поможет ли она вообще)?
12.02.07 14:36
0 0

graze: А в Windows XP Professional поддерживается MIRROR? Или нужно покупать RAID-плату (и поможет ли она вообще)?



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

В данной ситуации помог бы только бэкап на другой винт, на диск, на ленту и т.п.
12.02.07 15:26
0 0

graze: А в Windows XP Professional поддерживается MIRROR?



Вообще-то зеркалирование всегда делается аппаратно, а не софтверно. Mirror поддерживают почти все современные матери - еще со времен IDE, не говоря уж о SATA.
12.02.07 15:31
0 0

Alex Exler: (Кстати, вырубить эти средства можно следующим образом: в ключе реестра HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer DWORD NoCDBurning сделать равным "1". Ну или воспользоваться каким-нибудь твикером, вроде вполне симпатичного XP-Tweaker, который кроме этого позволяет делать еще массу всяких полезнейших настроек. )

Алекс,

MS предлагает идеологически более корректный способ. Запустить оснастку "Group Policy", через выполнить gpedit.msc. Далее выбираем "Конфигурация пользователя" -> "Административные шаблоны" -> "Windows Components" -> "Windows Explorer" и там уже есть пункт Remove CDBurning Feature. Выбираем Enable и все. Как плюс - то, что там это все через интерфейс в котором ты вряд ли сможешь ввести неправильное значение, плюс есть небольшая подсказка по каждому пункту.
12.02.07 13:21
0 0

Mogol: MS предлагает идеологически более корректный способ. Запустить оснастку "Group Policy", через выполнить gpedit.msc. Далее выбираем "Конфигурация пользователя" -> "Административные шаблоны" -> "Windows Components" -> "Windows Explorer" и там уже есть пункт Remove CDBurning Feature.

к сожалению, этот метод не прокатит на WinXP Home. Там просто нет gpedit.msc
12.02.07 13:37
0 0

Встроенная НТФС-компрессия, надо заметить, никакая. Да и RAW не жмётся толком. Овчина выделки не стоит :)
12.02.07 13:04
0 0

Насчет встроенных средств записи в XP. Я просто сервису "IMAPI CD-Burning COM Service" поставил Disabled. В реестр не лазил.
12.02.07 12:57
0 0

1. Кроме как на NTFS такое произойти и не могло - файл >4Гб не мог получиться физически. Т.е. ошибка была бы совсем иной.
2. Очевидно, что сбой наступил при добавлении последнего файла, когда размер архива превысил 4Гб. При отрезании хвоста только он же и теряется. Если пересчитать объемы - так и выходит.

ПС. Специалист мог бы попробовать вырезать этот последний файл в отдельный архив.
ППС. А вот нафига тетке надо было на NTFS хранить файлы в ZIP? Есть же хорошая фича - "сжатие файлов и папок", может сжатие и немного похуже (не сравнивал как XP жмет), но никаких ограничений и побочных эффектов.
12.02.07 12:41
0 0

Интересно, а что бы вы делали, если бы купленная программа все же не помогла?

Просто был тут случай, когда при восстановлении данных программа обещалась восстановить 150 файлов, а в результате круглый ноль... Обидно, однако...
12.02.07 12:13
0 0

Avdenago: Интересно, а что бы вы делали, если бы купленная программа все же не помогла?



Искал бы другую, ясный пень. А какие еще варианты?
12.02.07 12:39
0 0

А какая файловая система?
У меня тут в домашней сети не скачивался "Армагеддон" в формате MPEG4, но для HDTV, который занимал 8-м Гбайт только потому, что кто-то (честно не знаю!) сделал загрузочную партицию FAT32.
На NTFS скачалось без проблем.
12.02.07 12:07
0 0

Я бы добавил ещё пункт 3 морали - настолько важную инфу всегда надо бэкапить :)
12.02.07 12:07
0 0

Проще всего не пользоваться zip-архивами для хранения фотографий. Наоборот, если данные ТАК важны (а они, видимо, очень важны), нужно купить два хороших емких диска, объединить их в mirror и спокойно спать. Тем более - 4 гигабайта при современных дисках в 320 гигов - это просто смешно. Я надеюсь, Алекс всё это объяснил даме и появилось еще одно надежное хранилище данных :)
12.02.07 12:07
0 0

raidan: объединить их в mirror



Объянить, почему mirror - вовсе не панацея? Проще на второй винт просто бекапиться.
12.02.07 12:39
0 0

Даму имеет смысл научить прежде всего одному из главных правил Юного Сисадмина - "Информация, хранящаяся в одном месте - не нужна".
12.02.07 12:07
0 0

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

4G - это 4096M
Здесь архив был 4104M. Разница - 8M. Меньше одной картинки.
12.02.07 11:41
0 0

Ну если каждый файл по 14 мб, то обрезав хвост до чуть меньше 4 гигов, то потеряем как минимум 9 картинок.
12.02.07 11:34
0 0

А проблема именно в zip-архиваторе ХР или в файловой системе? На NTFS дело происходило?
aik
12.02.07 11:27
0 0

aik: А проблема именно в zip-архиваторе ХР или в файловой системе? На NTFS дело происходило?



На NTFS.
12.02.07 11:39
0 0

Интересный пост.. спасибо за линк на XP-Tweaker )



А не жалко $30 ради одноразового использования? Да и дороговато..

я вот линк на retail версию нашел за пару минут..



Да, я конечно за поддержку производителей и всего прочего (например если пользуешься софтом коммерчески или очень часто), но кхм, если у вас так много денег, поделителись с нами! :0)
12.02.07 11:22
0 0

-Зверик-:

А не жалко $30 ради одноразового использования?


Что-то мне подсказывает, что работа за год стоит побольше 30 долларей... :)
12.02.07 11:31
0 0

-Зверик-: А не жалко $30 ради одноразового использования? Да и дороговато.. я вот линк на retail версию нашел за пару минут..



Я вообще привык платить за программы. И результат того стоил.

-Зверик-: но кхм, если у вас так много денег, поделителись с нами!



Видите ли, я свои деньги зарабатываю, а не из тумбочки беру. Рекомендую вам делать то же самое.
12.02.07 11:38
0 0

Я бы в данном случае попробовал отрезать от архива хвост так чтобы осталось чуть меньше 4Гб, и на начало натравил штатное восстановление... Скорее всего результат оказался бы аналогичным - вернулось бы все кроме последнего файла
12.02.07 11:17
0 0
Теги
видео 2227
кино 1126
СМИ 1069
софт 663
авто 310
РЩД 290
еда 271
вино 243
calella 20
тмп 11
шоу 5
coub 2
ПГМ 2
РКН 2
тип 2
WTF 1
еды 1