5

Today I came across a DRVSPACE.000 file in my archives and I want to recover its contents. Beside the file is a READTHIS.TXT which reads:

This disk was compressed using DriveSpace 3, which requires Windows 98.

To use this disk, you must first mount it. To mount it:

   1. Run DriveSpace by choosing Run from the Windows 98 Start menu,     
      and then typing DRVSPACE.

   2. In DriveSpace, click the drive that contains this disk, click the  
      Advanced menu, and then click Mount.

(If this file is located on a drive other than the physical drive that contains the  
disk, then the compressed drive is already mounted).

To automatically mount all available compressed drives, click the Advanced menu,  
click Settings, and then check the "Automatically mount new compressed drives" box.

IMPORTANT: To mount and use this compressed disk, you must be running Windows 98.
  • I am currently running Windows 7 x64.

  • I doubt Windows 98 would even install on this machine

  • I don't think I still have a Windows 98 CD to install from

I found a series of instructions for opening this volume using a Windows 98 Boot Disk, but I don't have a floppy drive even if I can find a boot disk image.

Is there a utility I can use to extract the files from this compressed image?

(In case it matters, the file is only 15 MB.)

karel
  • 13,706
Mr.Wizard
  • 1,369

4 Answers4

5

I realize this is a very old question, but the solution is very easy. You do not need a full win98 install to get the data off. You just need to get yourself a win98 EBD disk image. (Emergency Boot Disk)

You will also need some kind of virtual machine setup, such as VMware, Qemu, or Bochs.

First up-- In your virtual machine software of choice, create two new disk images. The first one needs to be able to hold the uncompressed contents of your drivespace3 compressed volume. The second needs to be 2mb larger than the .000 file. The first one should probably be formatted as FAT32, and the second one MUST be formatted as FAT16.

Good. Now copy the .000 file into the FAT16 disk image with something like winimage.

Set the virtual machine to boot from the EBD, and to mount the two disk image files. Use the FAT16 volume as the primary and the FAT32 volume as the secondary.

Boot the virtual machine on the EBD. It will ask if you want CDROM support. That's up to you. When it finishes, it will leave you at a DOS prompt.

Mount the .000 file using the "undocumented" features of scandisk.

A:\>Scandisk /mount C:\drvspace.000

The uncompressed disk image holding drvspace.000 is now hidden host drive H, and drive C is now the container for working with the drvspace.000 file.

A:\>C:

C:\>DIR

See all your files? If so, Good. If not, try to find an EBD that hasnt been stripped of DRVSPACE.BIN. (Some folks strip it out, because it gobbles up a big chunk of conventional memory, and is optional. In this case, WE NEED IT.)

Use XCOPY to copy the files off C drive onto the uncompressed D drive.

C:\>A:\xcopy /e C:\*.* D:\

Wait for the file copy process to finish.

Shutdown the virtual machine. Open the FAT32 disk image with Winimage, or whatever. Pull your now uncompressed files out and put them someplace safe.

barlop
  • 25,198
Wierd_w
  • 51
3

Again, the question is really old but I currently had a similar task as I wanted to recover some unknown contents from a DoubleSpaced 3.5" floppy.

Like Techie007 already suggested, 7ZIP is able to read the DBLSPACE.000 file. Tested under Ubuntu 16.04

7z x DBLSPACE.000

No virtual machines. No questionable software sources.

1

I was able to find a solution that worked for me, which I thought I would detail here in case it might help anyone. Many thanks to Mr.Wizard, Wierd_w, and patrickvacek for their posts which provided important information.

My setup includes an Arch Linux machine which hosts VirtualBox where the Windows 98 virtual machine will run. I also made use of a Windows 10 machine to create, and later read, FAT32 formatted VHDs (Windows 7 is probably sufficient). The drivespace compressed disks I wanted to access were in the form of old 100M Zip disks. I had purchased a USB zip drive which I mounted on the Linux machine. I'm sure it would be possible to accomplish this whole process on one platform or the other, adapting as appropriate, but this is how I did it.

I didn't use the winimage tool mentioned by Wierd_w, nor did I make use of scandisk /mount. I initially got to a point of getting the precise error message mentioned by patrickvacek, and his clue about drvspace.ini is crucial. The way to get past that is to create a bootable virtual c: drive containing the Win98 boot disk contents, and create a drvspace.ini in c:. Then a VHD with the contents of a drivespace disk will be mounted automatically when the VM is started.

Following is the process that worked for me in painful detail. It's specific to my setup, but should be readily adaptable.

Create a Windows 98 VM

  • download Windows 98 boot disk image, I got it here: http://www.allbootdisks.com/downloads/Disks/Windows_98_Boot_Disk_Download49/Diskette%20Images/Windows98_SE_No_Ramdrive.img

  • in VirtualBox create a new VM to host Windows 98

  • create new virtual IDE drive as primary master, this will become the boot drive (e.g. win98.vdi)
  • create new optical drive as secondary master
  • load Windows 98 iso into optical drive
  • ensure the boot order includes the optical drive before the hard disk
  • start VM, which should boot from the optical drive
  • fdisk to create a new partition for what will be the c: boot drive
  • (1) create DOS partition, (1) Create Primary DOS Partition, (Y) use max size, quit fdisk [ESC], [ESC], [ESC]
  • restart VM
  • format the boot drive (/S makes it bootable)

    format c: /S /V:win98
    
  • copy the files from the Win98 optical drive to the C: boot drive (for me, the optical drive mounts as r:)

    xcopy r: c: /S /E /V
    
  • shutdown the VM

  • remove the Windows 98 iso from the optical drive
  • start the VM, it should now boot from the hard disk

  • a drvspace.ini file is needed in c:\ in order for drivespace compressed drives to be mounted, from c:\

    edit drvspace.ini
    
  • Add the following line, save and exit

    ActivateDrive=E,D0
    
  • for more info see: http://www.vfrazee.com/ms-dos/6.22/help/drvspace.htm

For each compressed disk

The VM storage will be set up like this:

  • IDE Pri Master: win98.vdi (boot disk)
  • IDE Pri Slave: enc_001.vdi (drivespace image copied from the CD iso)
  • IDE Sec Master: 001.iso (CD iso containg compressed zip drive image)
  • IDE Sec Slave: unenc_001.vhd (destination for uncompressed zip image)

The iso is used to get the drivespace disk contents onto enc_001.vdi. The vdi and vhd disks are created per disk to be decrypted.

Zip Drive on Linux machine

  • plug in USB zip drive
  • insert disk

  • find the zip drive device (e.g. /dev/sdf4)

    lsblk
    
  • mount zip drive

    sudo mount -o gid=users,fmask=113,dmask=002 /dev/sdf4 /media/guest
    
  • copy zip contents (drvspace.000) to local folder

    rsync -av /media/guest/ /media/bass/bu/zip_drive/012/zip_img
    
  • unmount zip drive

    sudo umount /media/guest
    
  • create an iso from the local zip drive folder

    genisoimage -V "001" -J -r -o 001.iso ./zip_img
    

On Windows machine create a VHD for the uncompressed files

  • open disk management console
  • action | create VHD
  • unenc_001.vhd, 300MB, VHD format, fixed size
  • initialize disk, MBR
  • create new simple volume, format FAT32
  • detatch VHD
  • copy unenc_001.vhd to linux machine

In VirtualBox setup the drives for the VM

  • create new virtual hard drive for compressed contents, and set as IDE primary slave: VDI, fixed size 103.03 MB, named e.g. enc_001.vdi
  • add VHD for unecrypted contents created above (e.g. unenc_001.vhd), and set as IDE secondary slave
  • load iso image from above into virtual optical drive (e.g. 001.iso)

IDE storage should now be:

  • IDE Pri Master: win98.vdi (boot disk)
  • IDE Pri Slave: enc_001.vdi (destination for drivespace image)
  • IDE Sec Master: 001.iso (CD iso containg drivespace image to be uncompressed)
  • IDE Sec Slave: unenc_001.vhd (destination for uncompressed zip image)

start the VM, and in the VM:

  • fdisk, enable large blocks Y
  • (5) chage drive, (2) select 100M drive (enc_001.vdi)
  • (1) create DOS partition, (1) Create Primary DOS Partition, (Y) use max size, quit fdisk (ESC), (ESC), (ESC)

Next

  • reset (restart) VM
  • format enc_001.vdi partition

    dir d: should give invalid media error (abort)
    format d: /V:enc_001, (Y) proceed
    dir d: should now show empty 100M drive
    
  • check that unenc_001.vhd is mounted

    dir e: should show empty 300M drive
    
  • check that iso image is mounted:

    dir r: should show drvspace.000 and readthis.txt files
    
  • copy zip image from CD iso

    xcopy r: d: /S /E /V
    
  • reset VM

  • in VM, drivespace drive should now be mounted and accessible

    dir d: should show zip drive contents (!)
    dir e: should show empty 300M drive
    dir f: is the compressed drivespace drive, but shows only readthis.txt
    
  • copy uncompressed zip contents to unenc_001 VHD

    xcopy d: e: /S /E /V
    
  • shutdown VM

  • copy unenc_001.vhd to Windows machine

On Windows machine

  • open disk management console
  • action | attach VHD (unenc_001.vhd)

  • uncompressed files should now be accessible from mounted volume

Note that for me, Windows long file names were not preserved, they show up as 8.3 names like longna~1.txt. I didn't pursue seeing if the long names are still accessible in some way. If anyone knows, I'd be interested to hear.

At any rate, as Wierd_w says, the solution was very easy. Now to peruse my 15 year old files.

1

This is how I was able to get into my DBLSPACE.000 file. I tried 7Zip on Ubuntu, it started to get the first few files then had an error and stopped.

I have a physical machine that I had Windows Me installed on, I also put Windows 98SE on a separate hard drive and added "generic" USB drive support to. Directions to do to are easy to find.

The key is to get a small USB flash drive and use gparted on Linux to format it as FAT or FAT 16, NOT FAT32. The drive should be 2 GB or smaller, but at least slightly bigger than the DBLSPACE.000 file. Put the DBLSPACE.000 on the FAT-formatted drive. You can then plug it into Windows 98 or Windows ME machine. Windows 98 you had to mount with Drivespace 3, on Windows ME it just auto-mounted. Then, you can copy files to the hard drive or straight to another USB drive.

As I said, I successfully did this on a physical machine but it should also work with a virtual machine, with a host that lets you have access to the USB ports. This would still be easier than setting up the second VHD and getting the DBLSPACE.000 into it.

rr_cook
  • 61