Photo shows DFSee 2.76 running on  @Macarlo's Warp 4.0 inside Larsen Commander
DFSee Updated to Version 2.76
 

Developer Jan van Wijk releases Display File Systems version 2.76, file-system display & analysis utility. The archive (dfsee276.zip, 436,6Kb) was just uploaded on Hobbes.


Introduction, purpose
of the program
by Jan van Wijk

 The DFSee program is a disk and filesystem browser with an emphasis on the
 HPFS and FAT filesystems, disk partitioning and a little bit NTFS.
 It will support different file-systems sometime in the future.

 The program has been built while studying the HPFS filesystem.
 It's main purpose is getting to understand the file-system as it resides
 on the disk itself, in the data-structures laid down in disk-sectors.
 Over time, additional logic was implemented to allow analysis of all
 sorts of disk problems on HPFS volumes.
 The tool has been used a few times over the past years to analyse some
 real-life disk problems in a large systems-integration project.
 Also it has proven very usefull in teaching others the internals of HPFS
 Most of my knowledge of the file-system is based on the excellent lectures
 "HPFS Internals" at the 1994, 95 and 96 ColoradOS/2 conferences by
 Doug Azzarito and on peeking arround on a lot of HPFS volumes using DFS.

 Further improvements will probably be in more advanced recovery commands
 and other filesystems like NTFS and EXT2 and in porting to other platforms.

 The standard distribution, DFSEExxx.ZIP contains executables for OS/2 Warp
 (32-bit), 16-bit DOS and Windows-NT.

Change History

1.00  27-11-94     DHPFS initial version, hex dump super+spare blocks
1.39  20-07-95     32-bit port; Sector Lookup table; bug-fixes
1.52  13-09-95     new '/' cmd shortcut; First released version!     <== BBS
1.56  26-09-95     RUN cmd runs REXX dhpfs macro's
1.62  13-10-95     Added Free-space and inconsistency reporting
1.64  16-10-95     Cleanup for delivery on ColoradOS/2 CDROM
1.70  20-12-96     Update ColoradOS/2, DASD limits; REQUESTABLE (OS2FISYS forum)
1.87  19-01-97     Fixed MBR/EBR walk; multiple cmds using #, BM-labels in part
1.91  21-01-97     New fixroot, fixcp and saveto commands for recovery actions
2.00  03-02-97     Removable media (NEWDASD); (part) D: cmd; invisible primary
2.06  16-03-97     Updated ACL support on HPFS386; Scan badsectors
2.12  06-04-97     Added logical volume support using "DASD" type access
2.20  19-05-97     Win NT beta version; Search speedup; prio command; cleanup
2.24  10-06-97     Added Img and Sim commands; date/time on dirblocks;
2.25  15-06-97     Added Wrim command; Improved lock implementation (nested)
2.28  21-06-97     Added autobase command for HPFS (find HPFS partition start)
2.30  06-07-97     Improved 'find' syntax and functionality; Undelete support
2.32  20-07-97     Reporting & ALBLK fixes to saveto; new "ca" cmd CheckAlloc
2.35  18-08-97     Path info in Fnode display and "list" output; MEM cmd
2.37  24-08-97     Path display on find Fnode; Wildcard select on list +f
2.40  06-09-97     import/export of LSN lists; getbs/fixbs badsector mgmt
2.41  12-10-97     Multiple file UNDELETE with delfind/delshow/delsave cmds
2.42  18-10-97     Support for EA's in "saveto" and delsave cmds
2.43  28-10-97     Support for undelete of directories including EA's
2.47  11-11-97     Updated SLT error display; new check cmd (chkdsk); +/- cmd
2.50  24-11-97     HPFS checksum management; cs, edit and write cmd
2.51  30-11-97     More... help; fix checksum super; fix freespace reporting
2.52  07-12-97     check spare/super; BPB display; Specific FAT & NTFS commands
2.54  28-12-97     More FAT commands; generic More ...; fix DELFIND bug
2.55  25-01-98     DOS version; diskgeo cmd; More write capabilities; bugfixes
2.56  05-02-98     Fixed trap on HPFS major version > 2; VFAT long filenames
2.57  15-02-98     Name DFSee; VFAT Details; FAT Os2Ea display; "find" cleanup
2.58  22-02-98     Fixed More... bugs; Fixed FAT EA & label bug; show EA details
2.60  08-03-98     Single snlist; recover/saveto; dirfind, wipe; color in DFSNT
2.61  29-03-98     saveto xxx.DIR orphan naming; DispHex update; displ NTFS-MFT
2.62  30-03-98     Fixed missing 'wipe' documentation; More MFT-record display
2.63  19-04-98     Fixed DFSDOS WRIM and IM commands (file I/O); Fix "FS xxxx"
2.64  04-05-98     Small bug-fixes + support for named-pipe to LPT on sim/wrim
2.65  10-05-98     Fixed 'f* * xxx' bug + new % speed-up option; FAT32 support
2.67  04-06-98     Added optional LZW-compression on SIM and WRIM commands
2.68  07-06-98     Fixed memory-leak and hang on LZW (WRIM)
2.69  24-07-98     Fixed trap on big-sectors (CD); Removed extra LAN messages
2.70  28-07-98     Fixed date-time display for HPFS (bug was OS/2 only)
2.71  29-07-98     Fixed reporting large cylinder-nrs and added extra partinfo
2.72  30-07-98     New $ option to 'part' for size-info table
2.73  03-08-98     Temporary fix to avoid trap on HPFS 'vol' while logging
2.74  01-09-98     Fixed trap in 'WRIM' cmd when no compression was used
2.75  21-10-98     No default SLT generation on "part", "vol", "im" and "fs"
2.76  08-11-98     Changed default 'check' mask to 0xffffffff (all errors)

Terminology used
 

 Sector         512 bytes of data (although other sizes exist!)
                This is the smallest amount of data manipulated by the
                disk subsystems and is also the basic allocation-unit
                for the HPFS file-system

 CHS            Cylinder Head Sector (addressing)
                This is the classical way of addressing physical sectors
                on a disk. It is used in the PC's BIOS, in partition tables
                and in low-level disk-IO API's (IOCTL, INT-13).
                In most implementations the addressing ranges are limitted
                causing all sorts of problems with large disks/partitions.
                Example: maximum cylinder=1024 limit for BIOS/INT-13

 PSN            Physical Sector Number
                This is the zero-based, unsigned-LONG, number for a
                sector on a physical disk. Addressing on a disk using
                PSN's id often refered to as Relative Block Addressing
                (RBA) or Logical Block Addressing (LBA)

 LSN            Logical Sector Number
                This is the zero-based, unsigned-LONG, number for a
                sector on a logical partition. The partition can be seen
                as a linear sequence of sectors.

 SLT            Sector/Cluster Lookup Table
                An array of information about sectors or groups of sectors,
                containing the type of the sector(s) and the LSN of a
                directly related sector (usualy an Fnode).
                It is currently implemented for HPFS only.

 Cluster        A (small) group of adjecent sectors that are handled by the
                operating system as one allocation-unit.
                It is used on FAT filesystems to allow large partitions at
                the cost of more wasted "slack" space, and on NTFS to balance
                performance, slack-space etc.
                HPFS does not use sector-clustering (or a cluster-size of 1!)

                DFS will try to account for clustering where needed, for
                example in size calculations and where sector/cluster pointers
                are used in the file-system internal structures.

                                                                             

 Partition      An area on a physical disk that holds a single logical
                file-system like FAT, HPFS, Boot-manager, NTFS etc.
                There is an index to find partitions in the form of a
                set of partition-tables in the MBR/EBR chain.

 MBR            Master Boot Record
                The first sector on the physical disk, located at PSN 0 =
                Cylinder 0, Head 0, Sector 1
                It contains the initial boot code called from the BIOS and
                the main partition table that holds the primary partitions
                and the start of the chain of extended boot records (EBR).

 EBR            Extended Boot Record
                It contains no boot code but only a partition table that
                holds the location of a single logical partitions.
                It usualy is located on the cylinder just before the actual
                logical partition itself, at Head 0, Sector 1.
                Each EBR will also point to the next EBR if more logical
                partitions exist on the same disk.

 Volume         A logical volume as seen by the active operating system,
                with a logical drive-letter associated to it.
                It can be either a hard-disk partition with a filesystem
                recognized and mounted by the operating system, or some
                other storage-medium like floppy disk or CD-Rom.
                Note: Network drives or other "virtual" file-systems can also
                      be refered to as volumes. However, DFSee will not be able
                      to access them because such devices usualy cannot be
                      accessed using "open volume" (DASD) methods.

 Shortname      The leading part of a filename, as contained in an HPFS fnode
                and usefull for undelete. The maximum length is 15 characters

 LsnInfo        A value combining an LSN and a (small) informational value in
                a single 32-bit number. It can be kept in the sector-list and
                the sector lookup table, most operations will recognize and
                handle it correctly.
                On example of usage is the directory-sector LSN plus the index
                of a directory-entry for (V)FAT directories.
                LsnInfo 78000345 combines LSN 00000345 with index 7 and a
                single bit to mark it as an LsnInfo value (flag 0x08000000)

 Sector list    A list of sector numbers (LSN) or LsnInfo combination-values
                that can be manipulated as a whole with several commands like
                export, import, getbs, fixbs, dirfind, delfind, delsave etc.
 

CONTACT AUTHOR:

Jan van Wijk
http://www.fsys.demon.nl


@Macarlo, Inc.
@Macarlo's Shareware & Web
OS/2
Java Lobby Member
Java Site Accredited
[TOP] [HOME] [INDEX]