This document offers some guidance in using the DFSee product to achieve the best results possible with the least effort, and avoid some common pitfalls.
Topics covered are:
No doubt using DFSee from a bootable CDROM solves a few problems in case of disk problems. Using it however, also introduces a few potential problems:
This is a problem for actions that want to write files into this current directory like:
The easiest way to get arround the problem is to change the current directory to a location where files can be written. This can be done from the DFSee commandline using the CD command, or from the menu using:
Note that other things like creating imagefiles or exporting the sectorlist will present a File-SaveAs dialog by default, so the current directory is of less concern. It is important of course, to select a directory that can be written to.
Because of this, the first or only diskette drive is accessible as B:, or not at all if two physical diskette drives are present. Note that the A: driveletter that will appear in the file-dialogs really represents the CDROM bootimage and can NOT be used to save files!
Another problem related to this diskette emulation mode is that it might not work on some (SCSI) systems because of subtle differences in the implementation of the El-Torrito standard used. When that happens, the symtoms might be anything from a hang during booting to simply booting from the harddisk ...
Do note that for the floppy-emulation to work, diskette-support MUST be enabled in the BIOS. So if you have a laptop without a diskette, do NOT turn that BIOS support off or the CDROM will not boot either!
While all DFSee versions share the same set of commands and menu options, and in general can perform the same actions, using a DOS environment does place some restrictions:
Note that some USB attached disks ARE now supported with DFSee since it includes a DOS-based USB driver. However, that does not work with every kind of PC USB-hardware and not with every USB disk device either ...
INT13 is a standard for low-level disk-services available at PC-startup time
(and later when running DOS).
They can reside in the system-BIOS, an additional SCSI on-board BIOS,
an on-board BIOS of other disk controllers or in software modules (disk-drivers)
that load as part of the operating system.
The original implementation of INT13 services have been limited to the first 1024 cylinders of disk space (typically 7.8 GiB), but later implementations called 'Extended INT13' have lifted that limitation.
Note that using a bootable USB stick like
DFSPUPPY is often more convenient and faster!
Most users of computer systems these days are used to graphical userinterfaces as used on Windows, MAC or even more recent Linux systems. These interfaces are controlled using windows on your screen, a menu-system to select actions to be performed, a mouse to point at objects on that screen and the keyboard to enter text or commands. This offers very good feedback and reduces the chances of making mistakes.
The other extreme, the classic interface used before the GUI's is the commandline interface, with the screen displaying text output by the program and the keyboard used to enter commands. This requires the users to know or learn quite a lot about the program to be able to use all available functionality.
Since it is very hard to use a GUI program from a minimal system like a boot-diskette, DFSee is not using any GUI at all, instead it uses a compromise, where windows, menus, help-screens and dialogs are used but the interface is not graphical, it is still implemented as TEXT-mode.
It its current release DFSee does use a mouse to navigate its user interface,
however, the mouse is only supported in the DOS, Windows and OS/2 versions.
When running under a GUI (text-window) like OS/2 or Windows you can use additional mouse functionality like the clipboard, when and where supplied by the OS.
|Enter||when just menu-headings are visible, will open the highlighted pulldown menu|
|Enter||when a pulldown is open, will activate or execute the highlighted menu item|
|Esc||when just menu-headings are visible, will close the menu and activate the commandline|
|Esc||when a pulldown is open, will close the pulldown|
|F10||when the menu is active, will close the menu and activate the commandline|
|F10||when the commandline is active, will activate the menu and open the default pulldown|
|Right arrow||when a submenu-item is highlighted in a pulldown, will open that submenu|
|Right arrow||when no submenu-item is highlighted in a pulldown, will move to the next pulldown|
|Left arrow||when a submenu is opened, will close that submenu|
|Left arrow||when no submenu is opened, will move to the previous pulldown|
|Down arrow||will move the highlight to the previous menu-item in the pulldown, and wrap arround|
|Up arrow||will move the highlight to the next menu-item in the pulldown, and wrap arround at the top|
When only the menu-headings are visible, the first letter of each heading can be used as a quick-select key to open that menu-heading. Almost any other key used will open the highlighted heading. When the commandline is active the command menu x will activate the menu and open the heading with quick-select letter x.
When a pulldown menu is open, the letters that are highlighted (yellow) can be used as a quick-select key to activate (execute) that specific menu-item.
All information in the menu and help-system has also been extracted into an online version, including hundreds of screenshots. You can use that to get familiar with the many functions in DFSee.
DFSee menu documentation
The menu behaviour can be adapted to personal taste using switches on DFSee startup:
|DFSxxx -menu-||Do not activate the menu on startup, and do not automatically re-activate it after executing a menu selection|
|DFSxxx -M:1||Do not open submenu when using right-arrow , instead the Enter key is required to open the submenu|
|DFSxxx -M:2||Do not automatically open pulldown menus , instead an explicit key-press is required to open the pulldown|
|DFSxxx -M:3||Combination of -M:1 and -M:2|
In the above DFSxxx stands for any of of the available DFSee executables for OS/2, DOS, Windows, Linux, or OSX on the MAC.
The DFSDISK functionality in DFSee is based on an extensive search
of the disk(s) for any remaining partition-tables, bootsectors or
LVM related sectors. The results of this search is stored in SIX files
for every disk examined.
These files (DFSDISK*.*) are the basis for an analysis that may result in the cration of a recovery script (.DFS) that will recreate the missing or damaged partitions, and/or fix any other problems found.
Because of the complexity of the matter, and the many variations is disk layout and filesystems, the analysis is NOT automatic and requires someone knowledgable about disks, partitions and the problems that may occur with them. It is usually done by FSYS-software SUPPORT, and in that case does require a valid registration, and in repeat or more complex cases an additional support fee.
See DFSee support for details.
There are two ways to run the DFSee DFSDISK procedure:
Normally the defaults specified in the the dialog are sufficient,
however, in case nothing was found due to geometry problems, you could
change the search from 'Search cylinder boundaries'
to 'Search ALL sectors (slow!)'.
But be prepared for a LONG wait for the results, it is real slow ...
DFSxxx.exe run recover.dfs
You will most likely need assistance to do analyse the information,
and that DOES require you to have or buy
a registration, and in some cases pay an additional support fee!
If you have the wanted information collected in the files, you can send them to DFSee SUPPORT at: email@example.com
To save space, I advice to compress all the files before sending them, for example to a single DFSDISKI.ZIP
If you want to attempt the analysis yourself, or simply want to learn more about
the matter you can also check the
DFSee DFSDISK descriptions and usage
You can create new partitions from the DFSee commandline using the CR command, see DFSee COMMAND overview, or from the menu as shown above.
When using the menu, the CREATE selection opens a submenu with all available freespace areas.
Only freespace areas that are large enough, and in a proper location to contain new partitions will be selectable. Freespace areas might not be selectable when:
Select the one you want to use for the new partition, and on ENTER you will be presented with a CREATE specific dialog that allows you to specify all relevant information.
The CREATE dialog allows you to specify:
For recovery purposes however, you do NOT want the bootsector to be cleared!
Find your deleted file(s) on an HPFS/NTFS/JFS partition, or find regular files on an HPFS/NTFS/JFS/EXTn/FAT partition that has become inaccessible for the operating system.
(no driveletter assigned, not 'mounted'), or that has been formatted or damaged somehow.
Recover the file-data for all or selected files to another volume (driveletter).
File-recovery or undelete in DFSee is done in several steps:
Select the partition using one of:
Depending on the current filesystem xxx you can specify part of the name for the file(s) to be found in the next dialog.
While searching, a reference will be added to the DFSee sector-list for every file found that matches this partial filename and the full path+filename for the file will be displayed together with a recovery prognosis.
Note that searching for files on a large disk, may take a very long time. Expect between less than 1 to more than 10 minutes per gigabyte, depending on the speed of your harddisk, the filesystem used and the amount of freespace.
For JFS, remember to rebuild the SLT after importing the list, otherwise the path+filename info is not there resulting in rather cryptic filenames generated out of the INODE sectornumbers.
This optional step might be useful to find out what the best wildcard is to get exactly the file(s) you need to recover. The wildcard may describe any part of the full path+filename displayed while searching, and it can contain multiple wildcard-characters:
|*||representing one or more characters in the path+filename|
|?||representing exactly one character in the path+filename|
As an example: *mydocs*test?.doc
would display/recover all .DOC files with a name starting with test plus just one character that have mydocs somewhere in the directory path.
This will first present a dialog where you need to specify the directory where the filedata will be recovered to. Of course this must be a writable location with enough freespace to hold the filedata for all files to be recovered. In this destination directory, the files will be recreated with their full original path and filename when available, and the data for the file is copied over.
After specifying the destination directory, the next dialog allows you to specify a selection wildcard, exactly as with the optional display step described above.
After this the files will be recovered one by one, with progress information displayed.
For later reference and checking the results, it is advised to start a logfile before starting the recovery procedure.
Notes specific to certain filesystems:
It is important to add a additional step and that is to build the so-called sector-lookup-table (SLT) which will itterate over all directories and add that knowledge (path+filename) and makes it available for 'list' and 'recovery'. To make thing easier, the 'search' menu-items in the JFS recovery menu automatically start the SLT-build for you.
Create an imagefile from the currently selected object (disk/partition) or restore an imagefile.
Imagefiles are (binary) files that hold a complete representation of a disk-partition or even a complete disk. Their use is in backup, system recovery and moving contents from one system to another. In DFSee there are two main types of imagefiles:
These are the kind of images that may be shared with other applications since it is a defacto standard. It is used a lot with diskette images, but also by Virtual-machine implementations like VPC or SVISTA as far as uncompressed disk images are used to represent the hard-disk of the virtual PC.
Note: When you suspect that a filesystem could be DAMAGED, do NOT use the 'smart' option for imaging or cloning since the allocation information that is used for that may not be reliable! Use regular compression instead.
There are other properties that are useful with Compressed images mainly but, except for the header-info, work for RAW as well:
Note that DFSee compressed images are NOT ZIP-files! First of all, they use a slightly different compression method, and second it is not a 'file-archive' with a directory like regular ZIP-files are.
Note that to write to multiple CD-R/RWs using DFSee, your CD-writer software
must support Streaming write mode, where the CD-R/RW gets a diveletter
assigned that can be written to just like any other drive.
RSJ for OS/2 or Windows is such a product, and for Windows only you can use Adaptec Easy CD creator or Roxio DirectCD (which should allow writing to DVD's too).
For the other options use the '-?' help option on IMAGE and RESTORE
You can create images from the DFSee commandline using the IMAGE command, see
DFSee COMMAND overview, or from the menu as shown above.
When using the menu, or when specifying an incomplete IMAGE command, you will be presented
with an imaging specific dialog that allows you to specify all relevant information.
You can restore images from the DFSee commandline using the RESTORE command, see DFSee COMMAND overview, or from the menu using:
The restore logic will automatically handle compression, multiple files SmartUse and media-change where needed.
Copy the contents of another disk/partition to the currently selected object (disk/partition).
This will result in an exact sector-by-sector copy called a CLONE.
Another purpose would be cloning a DAMAGED disk (bad sectors) to try and get as much data off it ass possible. To do this, make sure you check the "From damaged" option in the dialog, to optimize the cloning process for this purpose.
You can clone objects from the DFSee commandline using the CLONE command, see DFSee COMMAND overview, or from the menu as shown above. When using the menu, or when specifying an incomplete CLONE command, you will be presented with a cloning specific dialog that allows you to specify all relevant information.
Some of the options available are:
Note that the CLONE operation supports overlapping TO and FROM areas, so it is possible to move data WITHIN a partition or other object.
Moving or copying a partition deals with the partition contents as well as the partition information (partition-tables and LVM), and is the easiest way to do this. It 'adds' functionality to the basic CLONE command.
You can MOVE or COPY partitions from the DFSee commandline using the MOVE command (and -c option), see DFSee COMMAND overview, or from the menu using one of following selections:
The actual copying or moving of the partition data will be done using a CLONE command, and the required partitioning and LVM commands will be determined and executed where needed.
Ongoing research on this topic is being done in collaboration with the German 'Team OS/2' that is maintaining a Wiki on the subject.
In this section we are going to create a Large Floppy FAT16 filesystem on the memory stick (no partitions) since that is currently the only more or less reliable way to boot from a stick on OS/2.
The short description below is just to make it easy to do a first attempt :-)
For several of the steps you need to use DFSee version 8.12, or later.
Where you must make sure to select the CORRECT disk, being the memory stick!
Where you must make sure to select the CORRECT disk, being the memory stick!
This will format the disk as a FAT16 Large Floppy with a special bootsector by Veit kannegieser that directly starts the OS2LDR
Make sure the system BIOS is correctly set to allow booting from USB, or use a startup function-key that lets you select a source for booting (some laptops support that).
I have only been testing this procedure on a Thinkpad T42p with about ten different memory sticks. From this set about half actually boots and works quite well. The rest fails in different stages, either in preparation of the stick or in the boot-process itself.
None of the sticks that work on the Thinkpad work on a Toshiba that has a startup option for USB devices. The USB drivers fail to load on that hardware ...
Sofar the best experience has been with 'Apacer' USB 2.0 sticks, all three variants I tried worked well. Also a stick called 'DataBar' works well.
I have had no success with Sandisk 'Cruzer' sticks sofar, tried two ...
Note that using a bootable USB stick like
DFSPUPPY is often more convenient and faster!