Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I'm about to attempt something odd, and before I wasted time going down the wrong paths, I thought I'd see if anyone here has done this before. I have a zip file created in DOS (in 1997?) with pkzip that is spanning several old floppy disks. As expected, some of these disks aren't in the best shape, and I get read errors when trying to copy contents off some of the disks. Is there a pkzipfix equivalent that I can use to restore some of the content of this zip file?

Here's what I'm going to attempt first, but I don't know if this will be fruitful:

  1. Connect a floppy disk drive to my Linux box.
  2. Create disk images of the floppies on my hard drive like this: cat /dev/fd0 > floppyxx.img
  3. See if someone has ported PKZIP to Linux and see if I can use these disk images. If not, look for Windows port (and maybe connect a floppy drive to that Windows box).

Has anybody here embarked in this type of adventure before and successfully restored an ancient archive like this?

share|improve this question
4  
I think your biggest hurdle will be getting useful data off of the old floppies. –  Moab Mar 20 '11 at 20:09
    
That's my worry as well. I remember pkzipfix being able to "repair" zip files on flaky floppies (by skipping bad files), but I don't know how it does so. –  Jacob Mar 20 '11 at 21:37
    
Floppy disk drives often had alignment issues (which I'm sure you remember, but not fondly). Sometimes you can read a particular disk better on some drives than others. You may have some luck with reading the disks on another drive. Perhaps the alignment (or misalignment) of another will align better with your old disks. Good luck. Old disks often have just lost the data and there's nothing you can do about it. –  Wayne Johnston Mar 21 '11 at 0:51
    
You might want to check out the ZIP file standard to understand how the files are put together. With a hex browser you can then examine the disk contents and figure out what's there, at least. –  Daniel R Hicks Jan 6 at 13:06

2 Answers 2

up vote 2 down vote accepted

I had some partial success and was able to get some files out of the archive. First, I created an "fd" directory to mount those floppy images, then for each floppy image, I did the following:

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

Once I had a combined archive, I did this:

unzip -FF combined.zip

There are fewer files I was able to extract than I'd hoped. I'm still open for seeing if there's a more effective method of repairing a multi-disk zip archive.

share|improve this answer

PKZipFix is highly overrated. It doesn't do much. If I remember right, it simply repairs the Zip file header, so if you have data corruption in the first bytes then it can try to find a data stream and make a valid Zip file again. But if you have a data error in the middle of the compressed data stream, then your out of luck. I might have that slightly wrong: what I do remember clearly is that when I learned what it really does, I was rather disappointed with how little good it was ever likely to do.

I would expect mount to use the wrong filesystem, and need to use mount -t vfat or mount_msdos or something like that. Maybe your operating system is smart enough to detect that.

Having said that, unzippers will often ignore extra data at the start of the file, which they do so that they can work with various self-extracting files. So, maybe some flexibility will work.

There are different formats of how zip files may span. The official standard was that spanning wasn't supported, for some time, and so different implementers extended the standard in different ways.

Be very wary of the zip files: watch the extraction results carefully. I think some more recent efforts have tried to merge things a bit so that there is more compatibility, but if you may be using different software, then know that Zip file spanning isn't necessarily something where all implementations have always been compatible.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.