Восстановление древних zip-файлов, охватывающих дискеты: эквиваленты pkzipfix?

5

Я собираюсь попробовать что-то странное, и прежде чем тратить время на неправильные пути, я подумал, что увижу, делал ли кто-нибудь здесь это раньше. У меня есть файл zip, созданный в DOS (в 1997 году?) С помощью pkzip, который охватывает несколько старых дискет. Как и ожидалось, некоторые из этих дисков не в лучшей форме, и я получаю ошибки чтения при попытке скопировать содержимое с некоторых дисков. Есть ли эквивалент pkzipfix, который я могу использовать для восстановления части содержимого этого zip-файла?

Вот что я собираюсь попробовать сначала, но я не знаю, будет ли это плодотворным:

  1. Подключите дисковод гибких дисков к моей коробке Linux.
  2. Создайте образы дисков на моем жестком диске следующим образом: cat /dev/fd0 > floppyxx.img
  3. Посмотрите, перенес ли кто-нибудь PKZIP в Linux, и посмотрите, смогу ли я использовать эти образы дисков. Если нет, найдите порт Windows (и, возможно, подключите дисковод гибких дисков к этой коробке Windows).

Кто-нибудь здесь принимал участие в подобных приключениях и успешно восстановил такой древний архив?

Иаков
источник
4
Я думаю, что вашим самым большим препятствием будет получение полезных данных со старых дискет.
Моав
Это тоже мое беспокойство. Я помню, как pkzipfix мог «восстанавливать» zip-файлы на нестабильных дискетах (пропуская плохие файлы), но я не знаю, как это происходит.
Джейкоб
Дисководы гибких дисков часто имели проблемы с выравниванием (которые, я уверен, вы помните, но не с любовью). Иногда вы можете прочитать определенный диск лучше на некоторых дисках, чем на других. Возможно, вам повезет с чтением дисков на другом диске. Возможно, выравнивание (или смещение) другого будет лучше соответствовать вашим старым дискам. Удачи. Старые диски часто просто теряют данные, и вы ничего не можете с этим поделать.
Уэйн Джонстон
1
Возможно, вы захотите проверить стандарт ZIP-файла, чтобы понять, как файлы собраны вместе. С помощью шестнадцатеричного браузера вы можете просмотреть содержимое диска и выяснить, что там, по крайней мере.
Даниэль Р Хикс

Ответы:

2

У меня был частичный успех, и я смог вытащить некоторые файлы из архива. Сначала я создал каталог "fd" для монтирования этих образов дискет, затем для каждого образа дискеты я сделал следующее:

sudo mount -o loop floppyxx.img fd
cat fd/myzip.zip >> combined.zip
sudo umount fd

После того, как у меня был объединенный архив, я сделал это:

unzip -FF combined.zip

Есть меньше файлов, которые я смог извлечь, чем я надеялся. Я все еще открыт, чтобы узнать, есть ли более эффективный метод восстановления многодискового архива.

Иаков
источник
0

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

Я ожидаю, что mount использует не ту файловую систему, и мне нужно использовать mount -t vfat или mount_msdos или что-то в этом роде. Может быть, ваша операционная система достаточно умна, чтобы обнаружить это.

Сказав это, unzippers часто игнорируют дополнительные данные в начале файла, что они и делают, чтобы они могли работать с различными самораспаковывающимися файлами. Так что, возможно, будет работать некоторая гибкость.

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

Будьте очень осторожны с zip-файлами: внимательно просмотрите результаты извлечения. Я думаю, что некоторые более поздние усилия пытались объединить вещи так, чтобы обеспечить большую совместимость, но если вы используете другое программное обеспечение, то знайте, что охват Zip-файлов не обязательно является тем, где все реализации всегда были совместимы.

TOOGAM
источник