Я собираюсь попробовать что-то странное, и прежде чем тратить время на неправильные пути, я подумал, что увижу, делал ли кто-нибудь здесь это раньше. У меня есть файл zip, созданный в DOS (в 1997 году?) С помощью pkzip, который охватывает несколько старых дискет. Как и ожидалось, некоторые из этих дисков не в лучшей форме, и я получаю ошибки чтения при попытке скопировать содержимое с некоторых дисков. Есть ли эквивалент pkzipfix, который я могу использовать для восстановления части содержимого этого zip-файла?
Вот что я собираюсь попробовать сначала, но я не знаю, будет ли это плодотворным:
- Подключите дисковод гибких дисков к моей коробке Linux.
- Создайте образы дисков на моем жестком диске следующим образом:
cat /dev/fd0 > floppyxx.img
- Посмотрите, перенес ли кто-нибудь PKZIP в Linux, и посмотрите, смогу ли я использовать эти образы дисков. Если нет, найдите порт Windows (и, возможно, подключите дисковод гибких дисков к этой коробке Windows).
Кто-нибудь здесь принимал участие в подобных приключениях и успешно восстановил такой древний архив?
Ответы:
У меня был частичный успех, и я смог вытащить некоторые файлы из архива. Сначала я создал каталог "fd" для монтирования этих образов дискет, затем для каждого образа дискеты я сделал следующее:
После того, как у меня был объединенный архив, я сделал это:
Есть меньше файлов, которые я смог извлечь, чем я надеялся. Я все еще открыт, чтобы узнать, есть ли более эффективный метод восстановления многодискового архива.
источник
PKZipFix сильно переоценен. Это не так много. Если я правильно помню, он просто восстанавливает заголовок файла Zip, поэтому, если у вас есть повреждение данных в первых байтах, он может попытаться найти поток данных и снова создать действительный файл Zip. Но если у вас есть ошибка данных в середине потока сжатых данных, то вам не повезло. Возможно, я немного ошибаюсь: ясно помню, что когда я узнал, что это на самом деле, я был довольно разочарован тем, насколько мало хорошего это могло когда-либо принести.
Я ожидаю, что mount использует не ту файловую систему, и мне нужно использовать mount -t vfat или mount_msdos или что-то в этом роде. Может быть, ваша операционная система достаточно умна, чтобы обнаружить это.
Сказав это, unzippers часто игнорируют дополнительные данные в начале файла, что они и делают, чтобы они могли работать с различными самораспаковывающимися файлами. Так что, возможно, будет работать некоторая гибкость.
Существуют разные форматы распространения zip-файлов. Официальный стандарт заключался в том, что охват в течение некоторого времени не поддерживался, и поэтому разные исполнители по-разному расширяли стандарт.
Будьте очень осторожны с zip-файлами: внимательно просмотрите результаты извлечения. Я думаю, что некоторые более поздние усилия пытались объединить вещи так, чтобы обеспечить большую совместимость, но если вы используете другое программное обеспечение, то знайте, что охват Zip-файлов не обязательно является тем, где все реализации всегда были совместимы.
источник