Photo shows DFSee v. 2.94 running on @Macarlo's NT4 SP4

New DFSee Update

DFSee version 2.94 with NTFS and HPFS boot-sector recovery, a command to fix the Win-9x extended partitions with type '0f', a new pseudo-graphical MAP command to display disk layout, "part ++" verbose list and now a FULLY FUNCTIONAL FDISK module ..

The file is dfsee294.zip (577KB)

You can get DFSee from Jan web-site or from Hobbes

Developer Jan van Wijk is announcing availability of DFSee version 2.94 wich has FDISK and SETBOOT capabilities comparable to the OS/2 versions of those programs. This is a major functional update to the DFSee program! DFSee now includes a fully functional FDISK module that lets you display, create and delete partitions of any type and size. It also supports OS/2 bootmanager setup, including all the SETBOOT commands. All commands can run in batch mode, requiring no user intervention at all, so you can now FDISK your OS/2 or Win-NT system automatically from a simple DOS boot diskette!

And it can do all that from either OS/2, DOS or Windows-NT!

So if you are using an OS/2 multiple-boot system you can now switch to a different operating system automatically, as an example: "DFSDOS SETBOOT /iba:WARP" will re-boot to the bootmanager system named WARP from DOS

For those of you that don't know DFSee yet, DFSee is an FDISK, display, analysis and recovery tool for disks and filesystems.

Started as an HPFS-tool for OS/2-only in 1994, it now covers:

- Display, modification and analysis for disk partition-tables

- 'MAP' graphical disk display (modelled after PartitionMagic)

- Full display and analysis and lots of recovery features for the  HPFS filesystem, including UNDELETE and boot-record recovery.

- Display coverage of all FAT filesystems including VFAT,  FAT32 and OS/2 EA's. No specific recovery options yet.

- Display of NTFS boot-record, MFT structures and directories.  Recovery of the NTFS boot-record when damaged

- Binary display mode allowing analysis of any disk- or  filesystem structure. Limitted editing is supported too.

- Acces to disks based on several methods allowing acces under  most circumstances: physical sector-level directly to the disk,  logical sector-acces to volumes/partitions.

- Several 'fix' and 'recovery' commands each targeting a specific  error situation. Example: 'fixext' will correct the unwelcome  large-extended partition type 0x0f back to the standard 0x05.

Because of the targeted use for DFSee it is a command-line and text-only utility (no GUI). At the moment an OS/2, Win-NT and DOS (+ Win-95) version exist, allowing use from bootable diskettes as well.

Version 2.94 of the DFSee disk-analysis and repair utility adds several new features (to 2.82) and some bug-fixes like:

- Support for disks larger than 8Gb by DFSDOS

- Recovery of NTFS and HPFS boot-records

- Extensive freespace determination and reporting

- Graphical MAP display command

- TRANS(late) command for number and CHS conversions

- Recovery for the (Win9x/PQmagic) 0x0f extended type

Examples of DFS usage

1) Resolve original name of FILExxxx.CHK files (created by CHKDSK) When CHKDSK recovers files it will place 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, it can be shown using the following dhpfs commands (assuming drive c:) :

 

Command Explanation

 

DFS disks Start DFS and scan physical disks part id 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"

 

2) Show freespace area's (HPFS)

"slt $"

 

3) Undelete a file; Find the fnode using:

"find z" find the next deleted fnode

"find z shortname" next deleted named shortname (case-sensitive)

"find$@ z shortname" next deleted named shortname (case-insensitive)

 

Add a '*' to the find command to do a repeated search (see 'find' cmd)

 

Use "saveto" command to copy the data for the deleted file to a directory.

 

Notes: - It's best to use a different drive to avoid overwriting

 

4) Save and restore (parts of) a disk

 

The "sim" command can be used to save a complete disk, including partition information to one (very large!) file on a different (network) drive.

The save the entire unit (opened disk/partition or volume) use:

"sim img-name 0 $"

 

It can be restored using the "wrim" command, if and only if the destination disk has exactly the same geometry as the source disk (heads, sectors cyl).

This could be used to clone one workstation to multiple machines.

 

5) List all "undeletable" files

 

Find the FNODES for possibly deleted files using "find* z" or for specific files: "find*$@ z shortname"

 

Now list them, including PATH and recovery reliability using:

"list f+f"

 

Or list just a subset using any combination of wildcards:

"list f+f *\testdir\data?.txt

 

Use the .NNN command to select a file to undelete, and then use the "saveto [destination-path]" command to actualy undelete it.

 

==> use the "delfind", "delshow" and "delsave" to work on multiple files

 

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

 

Find all sectors that are unreadable:

"scan"

 

Optionaly: list, export/modify/import the resulting bad-sector list

"list +f" (list, including PATH if sector is Fnode)

"export b badguys" (Place in an ASCII file badguys.lsn)

Now edit it off-line, save as 'modified.lsn'

"import b modified"

 

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

"fixbs"

 

7) Save a list of currently deleted files on an HPFS volume:

 

Find deleted files (could take quite a while!):

"find* z"

 

Save the deleted-Fnode LSN's in a file:

"export deleted"

 

Optionaly, also save PATH info and recovery chances using a logfile:

"log deleted"

"list f+f"

"log"

 

- This will result in a (possibly large!) deleted.log with one line per deleted file with size, recovery percentage and PATH+filename

 

8) Show the list of free diskspace area's for HPFS volumes

"slt $ a"

 

9) Show all detected anomalies in the SLT (like allocation errors)

"slt * * * +"

 

10) Display the FAT for a diskette in drive A:

"dfs vol a"

"fatshow"

11) Display the FAT Root-directory for partition C:

"dfs part C"

"root"

12) Save the master-boot-sector on a different PC connected with a parallel laplink cable and running the LPT tool (see www.fsys.demon.nl):

"dfs disk 1"

"sim [lpt.exe]d:\images\mbr.img 0 1"

13) Restore the master-boot-sector from a different PC connected with LPT:

"dfs disk 1"

"wrim [lpt.exe]d:\images\mbr.img 0 1"

 

14) Collect information to perform a manual un-fdisk (find all boot sectors):

"log unfdisk"

"disk 1"

"find* erb"

"list +d"

"export unfdisk"

 

15) Recover a 'lost' NTFS partition where the boot-sector is damaged and the partition is not recognized by NT anymore (assuming 3rd partition):

"part 3"

"fs NTFS"

"fixboot"

 

16) Automatically FDISK a workstation using a batch- or command-file like:

 

echo DFSee FDISK generic workstation > dfsfdisk.log

dfsdos fdisk! newmbr 1 clean

dfsdos fdisk! create primary bmgr

dfsdos fdisk! startable 1

dfsdos fdisk! create logical fat 6 1 -1,c MAINT

dfsdos fdisk! create primary hpfs * 1 +0 WARP

 

This will create a disk with bootmanager (image prepared with DFSIBMGR) a small maintanance partition at the end of the disk minus 1 cylinder and a primary partition filling the rest of the disk.

 

17) Automatically FDISK a server-machine using a batch- or command-file like:

 

echo DFSee FDISK RAID server > dfsfdisk.log

dfsdos fdisk! newmbr * clean

dfsdos fdisk! create primary bmgr

dfsdos fdisk! startable 1

dfsdos fdisk! create primary hpfs 300 1 0 SYSTEM

dfsdos fdisk! create logical fat 200 1

dfsdos fdisk! create logical hpfs * 1 0 RESTORE

dfsdos fdisk! create logical hpfs * 2

dfsdos fdisk! create logical fat * 3

dfsdos fdisk! setboot 0:SYSTEM

dfsdos fdisk! setboot m:advanced

 

Known limitations and bugs

- There is only recognition for BeFS, the BEOS journalling filesystem

 

- There is recognition for NTFS, and most of the MFT record display

 

- FAT32 is implemented and tested using Henk Kelders OS2FAT32.IFS, no support for the special OS2FAT32 EA's is there yet.

 

- Allocation integrity checks do not check the allocation for EA's

 

- Accessing (large ?) partition using the 'vol' command in the DFSDOS version seems to be unreliable. Wrong data is sometimes returned. On a diskette (vol a:) everything seems to be OK, so I recommend using only the 'part x' command for accessing hard-disk partitions and use the 'vol' command only for floppies. (DFSDOS restriction only)

 

- LZW compression on the SIM/WRIM commands does not work yet in combination

with the (OS/2 only) LPT tool using I/O through a named-pipe.

 

- LZW compression seems to be UNRELIABLE on large images!

 

- Automatic reboot (in SETBOOT) doesn't work with DFSDOS and Win9x

 

Considered improvements

Rewrite of this documentaion in a description, command-reference and technical info on filesystems (possibly in HTML)

 
More automatic detection of inconsistencies (like CHKDSK, FST, HVA, CHKPART)

This will show HPFS problems like CHKDSK does, but in more detail and maybe some more types of inconsistencies.

 

Real coverage of other file-systems besides HPFS like FAT, EXT2, NTFS ...

VFAT date/time info and long filenames added in ver 2.56

FAT32 functionality added/fixed in ver 2.65

NTFS functionality expanded in version ver 2.80

 

Generic edit and write capability,

 

This will allow recovery operations without using other (third-party) utilities. The user interface needs to support screen-editing for this.

 

Note: Some write enabled commands have been implemented starting with 1.90 Improved volume/disk locking implemented in version 2.25 Basic edit and write capability added in version 2.50 Writing to a 'volume' and from the DFSDOS version in 2.55

 

Recovery for missing/damaged bootsector resulting in FDISK display of "unformatted". (Note: implemented for HPFS and NTFS as of 2.82)

 

Recovery for a 'quick format' on HPFS (unformat)

 

Recovery for repartitioning (un-fdisk)

Save and restore complete partitioning schemes using diskarea's or diskette

 

LINUX version, port being investigated, low priority.

 

More FDISK and some FORMAT capabilities, creating FAT or HPFS partitions This will allow unattended, batch-like installation procedures to be started from DOS diskettes. FDISK query command(s) to determine disk-sizes, nr-of-partitions etc. from the command-line or a batch-file (in RC / errorlevel) Save and restore complete partitioning info to/from a file or harddisk area.More complete Logical Volume Manager support (LVM) and support for the Journalled File System (JFS) for OS/2 Warpserver for e-bussines (Aurora)

The author would very much like to hear some experiences you have with DFSee, either positive or negative.

You can get DFSee from Jan web-site or from Hobbes

CONTACT AUTHOR

Jan van Wijk

http://www.fsys.demon.nl

e-mail: dfsee@fsys.demon.nl

@Macarlo, Inc.
@Macarlo's Shareware & Web
OS/2
Java Lobby Member
Java Site Accredited

[TOP] [HOME] [INDEX]