## DFSee
A Tutorial For OS/2 Users

### Based on the DFSee documentation by Jan van Wijk

by Tony Butka, Southern California OS2 Users Group

original SCOUG article

### Why This Tutorial?

As many of you know, I've been using Partition Magic since Version 3.0 and have found it to be the best partitioning tool for OS/2 or any other operating system. Over time, however, the PowerQuest folks went with the market and started limiting their OS/2 support. While we could still use the DOS binaries from a boot disk, by Version 6 Partition Magic support for OS/2 had become pretty limited, and by Version 7 they have dropped HPFS support (actually, if you already have HPFS installed it will recognize the partition, but will no longer allow you to create one). And all the latest OS/2 releases, from Warp Server for eBusiness to the Convenience Pak to eComStation, use the new kernels with IBM's own LVM disk management subsystem and its own method of recognizing partitions or creating a journalled file system (JFS). Partition Magic will not work with LVM or JFS, and Power Quest has no intention at the current time of adding this support. So what do we do in the OS/2 community for a decent disk partitioning tool?

DFSee is an FDISK-like display, analysis and recovery tool with powerful FIX commands and UNDELETE for HPFS and NTFS. It is written by Jan van Wijk, who originally wrote a stripped-down version of the program for his own day job use with multiple operating systems. Well, Jan was kind enough to do a demonstration at a SCOUG meeting last summer, and we really encouraged him to update and extend the program for commercial use. Evidently we were not the only ones who encouraged him, since DFSee is now shareware and has undergone at least three revisions in short order! Details and latest versions can always be found at:

http://www.fsys.demon.nl/dfsee.htm

While at SCOUG we've encouraged our members to use DFSee. But, a number of folks have been a little concerned about how powerful the program is, and with the limited documentation they are afraid of trashing their systems - fancy that! As a result they have not actually used DFSee yet. That is a shame, and my fear is that when combined with the new disk partitioning/handling tools for OS/2 like LVM and JFS, a "few more" OS/2 users will get frustrated and give up on a terrific operating system which is seriously stable, bug free, and avoids most of the viruses and worms that inhabit today's Internet.

That concern is also the reason for this introductory tutorial (of course it helps that Jan is a very nice guy), which we donate to the cause in hopes that more people who have to use multiple operating systems will take advantage of a very cool program.

### Setting Up the Program for OS/2

DFSee comes as a zip file. To install the program, simply create a directory wherever you want, and unzip the program files into that directory. That's it.

To create a workplace shell link, simply drag a program template icon to your desktop, and refer it to the path and filename of the main DFSee program; for OS/2 that's DFS.EXE. In the case of my system, that was c:\usr\prg\dfsee\dfs.exe. Wherever you put the program, close the template dialog box, up pops the icon and you're ready to go.

### Creating that Emergency Boot Disk

OK, this is neat. Remember how Partition Magic had you create a special two floppy disk set to boot DOS and run Partition Magic? Well, you can do the same thing with DFSee except on one diskette. When you unzipped DFSee, four executables were created. The one for OS/2 is DFS.EXE. There also are two for DOS and one for Windows/NT in the directory. The ones we care about here are the two DOS programs.

- So start off with a DOS boot disk. I've tested this with IBM's PC-DOS 7 and a Windows 98 2nd Edition Boot Disk; it should work with almost any version of DOS above 5.0. Anyhow, start with the boot disk in drive a:.

- Copy one of the DOS executables to the floppy. You can choose either:
  - DFSDOS.EXE - a windowed version of the program which looks and feels the same as the OS/2 version, or
  - DFSMDOS.EXE - a leaner meaner command line only version.
  The DFSMDOS.EXE program needs about 400Kb free memory and is only 111 Kb in file size, while the DFSDOS.EXE program needs about 600 Kb memory to run and is 201 Kb in size. I mention all this because if your emergency DOS boot disk contains a lot of device drivers and resident programs but NO memory management like himem.sys and DOS=HIGH, you may not have 600K of free memory after you boot to run the program (remember that DOS 640k memory limit?). A very nice touch, this.

- Bingo, an emergency disk that will work with your OS/2 systems partitions (including the Master Boot Record)!

Just fire up the DOS boot disk, type in either DFSDOS or DFSMDOS (which ever one you put on your boot disk) from the A:> prompt, and up comes the DFSee program. Just as cool, if you have the memory, the DFSDOS program interface for DOS is the same as it is for OS/2, so there's nothing to "relearn" to get the program to work between OS/2, DOS, or Windows. And the command line version works just the same, only without the scroll window.

As an aside (I can't help myself), this emergency disk can be handy for machines that have NTFS partitions only, or NTFS and HPFS only. I have a client who has an all SCSI NT system with all NTFS partitions, and when something happened to his boot partition, he was out of luck. When Partition Magic (I think it was version 6, but maybe 5) was booted from DOS, it would not recognize his partition structure because it couldn't find any DOS/FAT partitions on the hard disks. He was a very unhappy camper (it's called reinstall), but if he'd had DFSee, we might have been able to save him.

### Getting Used to the DFSee Interface

OK. Before we do anything that could possibly do anything to your computer, we're going to fire up DFSee and check out the interface. So either double click on the program icon that we've created, or go to the DFSee directory and from a command line type dfs. Up comes the program, and you get a registration message if you haven't already registered the program. Simply press the spacebar, and a bunch of stuff scrolls by you.

When it is done loading, here's what you'll see:

- DFSee shows you an analysis of your hard disks in a window.
- Below the top window is a status line with a description of what line you're on and how to scroll up and down.
- Below the status line is a green area with brackets (this is where your cursor will be blinking).
- And below that there's a blue help menu showing what the Function keys do.

I have been told that this is is the point where many new users choke, not being able to figure out what to do next and how to get back and forth between the command line (green bracketed area) and the top window that scrolls.

It's really simple; just press the <Tab> key!

That's it. You are now at the top part of the screen, and can scroll up and down using your keyboard's arrow keys. Practice scrolling up and down, left and right, and going back and forth between the command line and the buffer by using the <Tab> key.

Now let's get really bold. From the command line, press the <Cntrl> key and while holding it down, also press the Up arrow key. This allows you to stay in the command line while scrolling up and down to view the contents of the buffer in the upper window. Pretty cool, isn't it?

Actually, there are a number of ways to get around the screen. For example, without having to use the <Ctrl> or <Tab> key, you can use <PgUp> and <PgDn> to scroll a whole page up/down while staying in the command line.

Or, apart from the arrow keys, you can use <Ctrl>+<Home> and <Ctrl>+<End> to go the start / end of all the text in the scroll-area. And if you aren't sure what to do, there is also good help on this if you just hit <F1> - I should note that help improved significantly in version 4.04 and later.

Finally, press <F3> to exit the program. That's it for the basics that have thrown a lot of people.

### Back Up, Back Up, Back Up

Just as with Partition Magic, fdisk, and other partitioning programs that do low level stuff to your computer, with DFSee you can inadvertently make changes to your system which will render it inoperable.

So, before you play around and make changes, we want to make a backup of all the important partition sectors to a file. To do this:

- We start the program by double clicking on the DFSee icon that we created a little bit ago. Again, up comes the program, press the spacebar, and the program runs, with you at the command line (the green line with enclosed brackets). Actually, this command line window will look very familiar to users of stuff like Emacs and VI. (Of course users of Emacs and VI probably won't need a tutorial) Anyhow, your blinking cursor should be right above the F Key command help line.

- Now you want to insert a floppy disk (that boot disk with DFSDOS would be nice), and then type the command

        psave * a:\dfspsave Comment

  where Comment is anything you want. This is handy because the comment will be saved in the *.PDn file, so you can identify different versions of disk info.

- Press enter. This will save the partition information for each physical drive on your system as a separate file - for example, dfspsave.pd1, dfspsave.pd2, etc. This information can be restored at any time using the PRESTORE command, this will either restore all sectors, or just selected ones. Take a look at the DFSFDISK.TXT help file that comes with the program.

If you are a command line junkie you can open an OS/2 window, go to the directory where DFSee lives, and type in the command:

      DFS fdisk psave * a:\dfspsave tutorial

It all does the same thing, but I wanted folks to get familiar with what the windowed program interface looks like.

Now we are going to create a couple of log files for that "just in case" problem where you may need help if something goes wrong. These files can be kept on the hard disk, so you can remove your emergency floppy. To create the log file:

- Simply type (at the green command line window) 'log filename'
- And then press enter.

This will append logging to the file filename.log. If you want to include basic information as well, use the command log part filename. Choose whatever filename you want: I use Tony.log.

We're almost done. The last preliminary step is to collect information to perform a manual un-fdisk (find all boot sectors) if needed. You can either accomplish this task from the green command line or run an OS/2 CMD file. To use the command line, you will type in the following:

          log Tony
          part
          part $*
          walk 1
          bsfind
          list +s
          list +b
          plist lvm 1 related

To generate the file automatically instead of typing in each command (which is the method strongly recommended by the author) simply run DFSUNFD.CMD (OS/2 version) or DFSUNFD.BAT (DOS version) from a command line. This collects info for every physical disk and generates a 'dfsundfdx.log' file for each one. If you're not sure exactly how this works, type DFSUNFD ? from the command line for a help pop-up.

Note: According to the programs author, Jan van Wijk, when the geometry of the disk might have changed, after a BIOS LBA change, SCSI adapter change, etc, you should run the command DFSUNFD ALL.

That basically covers the stuff you should do before getting serious with DFSee. At this point you can close the program (F3), and backup your system before going crazy with all the neat things you can do using DFSee.

### Racers, Start Your Engines...

Just to give you a taste of the awesome power of DFSee (and just in case you were already in trouble when you downloaded the program), here are a few examples. For lots more, see the dfshowto.txt file included with the program.

These commands should be run from the DFSee command line after you have started the program.

1. Recover a 'lost' JFS partition where the boot-sector is damaged and the partition is not recognized by OS/2 anymore (assuming 2nd partition):

             log recover
             part 2
             fs JFS
             fixboot

2. Recover a 'lost' HPFS partition where the boot-sector is damaged and the partition is not recognized by OS/2 anymore (assuming 1st partition):

             log recboot
             part 1
             fs HPFS
             fixboot

3. Recover a 'lost' or damaged HPFS spareblock (sector 11) when the partition is not recognized by OS/2 anymore (assuming 1st partition):

             log recspare
             part 1
             fs HPFS
             findcp
             fixspare

   Note: with a damaged spareblock you can get various error messages from OS/2 about codepages or other things. However when starting DFSee and selecting the partition it will tell you the spareblock is damaged.

4. Undelete a file on HPFS or NTFS; Find the files using:

           part 01               ;select the right partition
           delfind               ;find ALL deleted files
           export undel01        ;save found fnode info to a file
           delshow               ;optionaly list them (ALL !)
           delshow  *test*%100   ;or just a selection, here only 100%
                                 ;recoverable with 'test' in the name

   Use "delsave" command to copy the deleted files to a directory, see (5)

5. Recover a selection of the found "undeletable" files (NTFS or HPFS) First find the possibly deleted files using DELFIND, see (4)

          part 01                  ;select the right partition
          import   undel01         ;restore found info from file
          delshow  *inst*          ;list files with 'inst' in the name
          delsave X:\undel *inst*  ;recover same ones to X:\undel\  dir

   Notes: - It's best to use a different drive to avoid overwriting - You can also undelete a single file using the 'saveto' command and specifying the file's sequence-number: .NNN shown at the left

6. Update the HPFS bad-sector list with the results of a DFS-scan

   Find all sectors that are unreadable:

          part 01           ;select the right partition
          scan              ;find unreadable sectors
          export b badguys  ;save in an ASCII file badguys.lsn

   Now replace the internal bad-sector list with the new modified one:

          part 01           ;select the right partition
          import b badguys  ;get the bad-sector list from file
          fixbs             ;and insert in HPFS badsector list

   Notes: - You can do this in one step too, no need to export/import

7. Resolve original name of FILExxxx.CHK files (created by CHKDSK)

   When CHKDSK recovers files it will place them in a FOUND.xxx directory in the root-directory. This directory contains one or more recovered files with names like FILE0001.CHK The original name of the file is still in the Fnode, and it can be shown using the following dhpfs commands (assuming partition 03) :

          part 03                 ;Select partition 'id' (must be HPFS)
          \found.000\file0001.chk ;Search and display Fnode for .CHK

   Now 15 characters of the original name are shown as "Fnode Name String"

8. Show freespace area's (HPFS)

          slt $

9. Make a clean master boot record, getting rid of all old partitions

          newmbr 1 clean ;Create fresh MBR on disk 1 with
                         ;clean, empty partition table

Enough from me. These examples are taken from the file dfshowto.txt, which you should seriously read. Practice with a few of the commands to get comfortable with the program, which for us OS/2 users is everything that Partition Magic started out to be and then abandoned just to make a living.

### Final Thoughts

Remember, right now DFSee is a wonderful tool, but it does not have all the goodies that PowerQuest's Partition Magic has. Most important for OS/2 users is the ability to format, resize and move partitions (although I have always been a little suspicious of any programs ability to move partitions and pick up every single file dependency). What it does do, it does well, and if you have problems with your OS/2 drive subsystem, DFSee can literally save your partition and your sanity.

Oh yeah, register the product. I did. It's only about $18 US and that's how we provide Jan the money for the time to keep working on the program and add some other neat goodies we all want.

Note: Current pricing, version 5.xx is 30 Euro's, about $30 US

Copyright 2001 the Southern California OS/2 User Group. ALL RIGHTS RESERVED.