      DFSee version 13.0 24-11-2015  (c) 1994-2015: Jan van Wijk
 =========================[ www.dfsee.com ]==========================

_______________________________________________________________________________

C O N T E N T S:
_______________________________________________________________________________

  Command reference    = overview EXFAT specific commands
  Detailed description = description for every command


  Note: All generic commands can be found in DFSCMDS.TXT, for example:

        ALLOC,  CHECK,  CLONE,  RESIZE,  RECOVER,  SAVETO,  SCAN,  WIPE

_______________________________________________________________________________

C O M M A N D   R E F E R E N C E:
_______________________________________________________________________________

EXFAT specific commands

Active filesystem : EXFAT, specific commands are:

 \[path-spec]    = find and show ROOT or file/directory relative to root
 BOOTSYNC [a][-s] = Read, calculate CRC and synchronise primary/spare boot areas",
 DELFIND   [name] = Find deleted files with DIR-entry containing (partial) name
 DIRTY      [d|c] = Display/set DIRTY, CLEAN  status for the EXFAT filesystem
 CHECK    [drive] = Check filesystem integrity for drive-letter (CHKDSK)
 FATSELECT  [fat] = Select fat to be used (cached), fat = 1 or 2; default is 1
 FATSHOW   [*|nr] = Display contents of the FAT from memory, [nr]= # of entries
 FATSIM   img [f] = Save FAT table contents for FAT 'f' (1 or 2) to an imagefile
 FATWRIM  img [f] = Restore an imagefile with the FAT table to FAT 'f' (1 or 2)
 FILEFIND  [name] = Find normal files with DIR-entry containing (partial) name
 FINDROOT         = Find and list possible EXFAT root directory clusters/sectors
 FIXBOOT [1|*|-s] = Fix EXFAT bootsector area (0..11) from spare (12..23)
 NOBADS           = Reset bad-sector/cluster administration to ZERO bad sectors

 For an up-to-date list of commands, use the '?' command

 EXFAT specific sector types  (see ??? command)
   '1' = First  FAT area      '2' = Second FAT area      '8' = Start EXFAT area
   '\' = Root directory       'D' = Directory data


_______________________________________________________________________________

D E T A I L E D   D E S C R I P T I O N:
_______________________________________________________________________________

 BOOTSYNC [a][-s] = Read, calculate CRC and synchronise primary/spare boot areas",

 Purpose:       Recalculate CRC values in an EXFAT boot-area, copy back to disk

 Parameters:    a       optional  Area to copy updated boot record to, default 0
                                  0 = both areas, primary and SPARE (sync)
                                  1 = primary area (LSN  0..11)
                                  2 = SPARE   area (LSN 12..23)

 Options:       -s      optional  Read boot-area sectors from SPARE (LSN 12..23)
                                  instead of the primary area       (LSN  0..11)
                                  Combined with destination area 0 or 1, this is
                                  very similar to a fixboot, but also recalculates
                                  the CRC values

 Output:        Progress and confirmation info

 Remarks:       Recalculating (and writing back) the sector with CRC values
                is mainly useful after making manual changes (sector editor).
_______________________________________________________________________________


 CHECK  [drive] = Check filesystem integrity for drive-letter (CHKDSK)

 Purpose:       Perform a filesystem check, and report the errors found

 Parameters:    drive     PID or driveletter for partition to check.
                          When not specified, the CURRENT object is checked.

 Options:       -r        Force refresh of the Sector Lookup Table (SLT)
                          even if one exists already

 Output:        Two lines for each sector in error that is found, the first
                lists the sector number, where it is referenced from and a
                short description. The second line is an error description.

                For FAT the reported errors are:

                0x000001  Linked to some structure, but not in allocation-map
                0x000002  Allocated in allocation-map, but no known link
                0x000004  Allocation chain ends in a free cluster
                0x000008  Allocation chain ends in a cluster with bad sectors
                0x000010  Cluster value is invalid for current volume
                0x000020  Cluster chain is too long for specified item
                0x800000  The filesystem is marked DIRTY (open files)
                          this may cause bogus errors to be displayed!

 Remarks:       Some of the errors are generic, but most are filesystem
                specific. The generic ones are also listed with the 'SLT'
                command in dfscmds.txt.
_______________________________________________________________________________

 CL             = Translate and display 'this' LSN as a cluster number

 Purpose:       Find out what cluster number corresponds to current LSN

 Parameters:    none

 Output:        The cluster number, or an error message when invalid
_______________________________________________________________________________

 CL clust [cmd] = Translate specified cluster number to LSN, display with cmd

 Purpose:       Display data using a cluster number instead of an LSN

 Parameters:    clust   mandatory  The cluster number of interest

                cmd     optional   DFS generic command to execute with clust
                                   as its first and only parameter (like 'H')

 Output:        The output for the cmd. When no explicit cmd is specified this
                will be the DFS default for the corresponding LSN, usually a
                display of that sector(s) in an appropriate format.
_______________________________________________________________________________

 DELFIND  [name] = Find deleted files with DIR-entry containing (partial) name

 Purpose:       Find deleted files, with name starting at current LSN

 Parameters:    name    optional   part of filename wanted, no wildcard

 Options:       -c      Start find from current sector instead of start
                -v      Verbose search, list files while found (SLOW!)


 Output:        Find-result list

 Remarks:       All deleted files and directory entries where the name starts
                with 0xe5 = '', will be found and added to the list.

                There is NO RECOVERY possible yet for deleted files, although
                the SAVETO and RECOVER commands will work, the resulting files
                will be CORRUPT due to missing allocation information for
                deleted files on FAT.

                List can be manipulated as usual, best viewed with "delshow"
_______________________________________________________________________________

 FATSELECT [fat]= Select fat to be used (cached), fat = 1 or 2; default is 1

 Purpose:       Update the in-memory FAT from the specified FAT from disk

 Parameters:    fat     optional   Number of the FAT, either 1 or 2

 Output:        none

 Remarks:       FAT12, FAT16 and EXFAT formats are supported
_______________________________________________________________________________

 FATSHOW  [*|nr] = Display contents of the FAT from memory, [nr] entries

 Purpose:       List all FAT-entries separately for analysis

 Parameters:    nr      optional   Number of FAT-entries to show.
                                   * = all entries, default is 160.

 Output:        A list of FAT-entries with 8 values in each line, <free>
                <bad> and <eof> values are shown as such.

 Remarks:       A graphical display of the FAT can be made using 'ALLOC'
_______________________________________________________________________________

 FATSIM  img [f] = Save FAT table contents for FAT 'f' (1 or 2) to an imagefile

 Purpose:       Save the complete file allocation table (FAT) to an imagefile

 Parameters:    img     mandatory  Name of the imagefile to create
                f       optional   Number of the FAT, 1 or 2 (default 1)

 Options:       -z      Enable LZW compression on the image-file

 Output:        Message indicating success or failure
_______________________________________________________________________________

 FATWRIM img [f] = Restore an imagefile with the FAT table to FAT 'f' (1 or 2)

 Purpose:       Restore the complete file allocation table from an imagefile

 Parameters:    img     mandatory  Name of the imagefile to restore
                f       optional   Number of the FAT, 1 or 2 (default 1)

 Output:        Message indicating success or failure

 Remarks:       When used to synchronize FAT areas after a detected problem,
                use a FATSIM command (usually from FAT-1) to an imagefile,
                directly followed by a FATWRIM command to the other FAT area.

                This is a potentially dangerous operation, also usually both
                FATs on the disk need to be in-sync, 2 FATWRIMs may be needed.
                The used imagefile should have the right size, and preferably
                be created with the FATSIM cmd from the same (size) partition
_______________________________________________________________________________

 FILEFIND [name] = Find normal files with DIR-entry containing (partial) name

 Purpose:       Find one or more directory entries for specified filename

 Parameters:    name    optional   Filename, or part of the name to find
                                   this is not a true wildcard, but can be
                                   any part of the 11-character 8.3 name.
                                   When you specify '*.xxx' or '*.y*' it
                                   will search for files with extension
                                   'xxx' or 'y*' respectively.

 Options:       -c      Start find from current sector instead of start
                -D      search directories only, not files
                -v      Verbose search, list files while found (SLOW!)

 Output:        Find progress and result

 Remarks:       The result is a list of sector numbers of directory entries.
                A 'list -f' will list them, showing the sector number for
                the directories and the index for the entry in that sector.

                You can select a single file from the list using the .NNNN
                syntax, and use the "saveto" command to recover that file.

                List can be manipulated as usual, best viewed with "delshow" or
                the equivalent "list -f". The 'recover' command can be used
                to recover multiple files in one go.

                By default, only DIR areas are searched, which is at least
                a hundred times faster as searching the whole filesystem.

                Note: SLT will be built automatically when not present yet,
                      to allow display of full path and filename

_______________________________________________________________________________

 FINDROOT       = Find and list possible EXFAT root directory clusters/sectors

 Purpose:       Find possible root directory clusters/sectors when the EXFAT
                root directory reference in the bootsector is missing or damaged.

 Parameters:    none

 Output:        One line for each possible root directory cluster/sector

 Remarks:       All found sectors will be put in the sector list as well, and
                can be saved for later use with the 'export' command.
                The 'list +f' command can be used to display them, and
                individual ones can be displayed from the sector list by
                selecting them with .NNNNN command. Note: this might reuse
                the sector list for the directory shown, so make sure you
                have saved the original one to be restored with 'import'.
_______________________________________________________________________________

 FIXBOOT [1|*|-s] = Fix EXFAT bootsector area (0..11) from spare (12..23)

 Purpose:       Fix corrupted bootsector for an EXFAT partition

 Parameters:    1 | *   optional  * = Copy complete boot area (12 sectors)

 Options:       -s      optional  Force a copy of the SPARE boot area
                                  (same as using the '*' parameter)

 Output:        Progress and confirmation info

 Remarks:       For EXFAT with a damaged bootsector this will try to copy the
                spare bootsector(s), either a single one when no parameter, or
                ALL 12 sectors when the parameter '*' is specified.

                Creation of a valid bootsector from scratch is NOT supported.
_______________________________________________________________________________

 NOBADS          = Reset bad-sector/cluster administration to ZERO bad sectors

 Purpose:       Make sure the filsystem specific administration for bad sectors
                is reset to a state where NO bad-sectors are present.

 Parameters:    none


 Output:        Message indicating success or failure

 Remarks:       This is most useful after CLONING (or imaging) a damaged disk
                or partition that had bad sectors areas to a new disk.
                Running the 'NOBADS' command will reclaim the previously
                marked sectors/clusters back for normal use.

                For FAT12, FAT16 and EXFAT, this command affects the 1st and
                2nd FAT areas, where all 'BAD' markings (ff7, fff7, 0ffffff7)
                are replaced by the 'FREE' mark (000, 0000, 00000000).
_______________________________________________________________________________
