[NTFSDOS Logo]

  Copyright © 1996-1997 Mark Russinovich and Bryce Cogswell

  Last Updated December 5, 1997, Version 2.0R+

              Introduction  NTFSDOS.EXE is a read-only network file
                            system driver for DOS/Windows that is able to
                            recognize and mount NTFS drives for
                            transparent access. It makes NTFS drives
                            appear indistinguishable from standard FAT
                            drives, providing the ability to navigate,
                            view and execute programs on them from DOS or
                            from Windows, including from the Windows 3.1
                            File Manager and Windows 95 Explorer.

                            Please read this entire file before
                            contacting us for help.

  Enhancements over V1.30   Version 2.0 has the following enhancements
                            over V1.30:

                               * Several significant bug fixes.
                               * An option for tolerating directories
                                 containing files with unicode names.
                               * Support for disks with many partitions.
                               * Greatly improved robustness.
                               * An add-on, NTFSDOS Tools, is available
                                 for NTFSDOS 2.0R+ that provides limited
                                 write capability aimed at disaster
                                 recovery. See Read-Write NTFSDOS for
                                 details.

   Contents of the Package  The NTFSDOS package (see the bottom of this
                            page) contains the following files:

                               * README.TXT: This file
                               * README.TXT: This file
                               * NTFSHLP.VXD: Helper VxD needed only for
                                 long filename support in Windows 95

      Installation and Use  To use NTFSDOS, simply execute it from the
                            DOS command line (DOS 5.0 or greater is
                            required), or from your AUTOEXEC.BAT.
                            Executing NTFSDOS before Windows is started
                            will create NTFS drives that are visible
                            globally once inside Windows. Executing
                            NTFSDOS in a DOS box means that the NTFS
                            drives only exist within the DOS box where
                            NTFSDOS was executed.

                            When NTFSDOS starts, it will scan all
                            hard-disk partitions on your system to look
                            for NTFS drives. It will mount all NTFS
                            drives it finds as unique DOS logical drive
                            letters, and will inform you as it does so.

                            If you run NTFSDOS under DOS 7.0, NTFS drives
                            will support long filename calls even before
                            Windows starts. To propagate this support
                            into Windows 95, NTFSDOS automatically has
                            Windows run the NTFSHLP.VXD VxD device
                            driver. No changes to SYSTEM.INI or the
                            registry are necessary for this to occur -
                            NTFSDOS will detect when Windows 95 starts
                            and load the driver without
                            user-intervention. You need NTFSHLP.VXD only
                            if you will be running NTFSDOS with Windows
                            95.

                            NTFSDOS implements its own caching, and uses
                            one of two types of memory, depending on how
                            your system is configured. Its first choice
                            is to use XMS memory for caching, as this
                            minimizes demands placed on conventional
                            memory. If you start NTFSDOS before Windows,
                            then HIMEM.SYS, which can be found in the
                            WINDOWS directory under Windows 95 or the DOS
                            directory under Windows 3.1, or its
                            equivalent, must be started before NTFSDOS.
                            If NTFSDOS does not detect an XMS server, it
                            will resort to allocating 64KB of
                            conventional memory for its cache. In either
                            case, it will inform you of its action.

                            NTFSDOS takes six command line parameters.:

                               * The /L parameter lets you specify which
                                 drive letters NTFSDOS should attempt to
                                 use as it mounts NTFS drives.
                               * The /C option lets you override the
                                 default XMS cache size.
                               * The /V option directs NTFSDOS to print
                                 some messages detailing the drives it
                                 looks at and the memory it allocates.
                               * The /X switch forces NTFSDOS to use
                                 standard BIOS Int 13 services. Use this
                                 if NTFSDOS has problems with your
                                 computer's extended Int 13 services.
                               * The /U option has NTFSDOS correctly sort
                                 through files with unicode names. You
                                 should only use this if a NTFSDOS
                                 directory listing enters an infinite
                                 loop within directories that contain
                                 files with unicode names.
                               * Finally, the /N switch can be used to
                                 disable NTFSDOS support for compression.
                                 Much of the conventional memory that
                                 NTFSDOS normally uses is for compression
                                 buffers, so if you will be accessing
                                 drives or files that are not compressed
                                 and would like to optimize NTFSDOS use
                                 of memory, use this switch.

                                 The syntax for these parameters is:

                                /L:<letter> Specifies drive letter to
                                            start mounting at

                                /C:<size>   Specifies size of XMS cache
                                            in KB
                                /V          Verbose

                                /X          Disable extended int 13
                                            support
                                /U          Tolerate unicode file names

                                /N          Disable support for
                                            compression

      If You Have Problems  This section lists and addresses various
          Running NTFSDOS   issues that may arise when you run NTFSDOS.

                               * NTFSDOS does not recognize my NTFS drive

                                 NTFSDOS does not handle cluster sizes >
                                 4K on NT 4.0 formatted drives. This is
                                 rare, since NTFS compression does not
                                 handle these cluster sizes either.

                                 NTFSDOS requires that disks be
                                 accessible via BIOS, using the INT 13 or
                                 extended INT 13 services. In some cases,
                                 SCSI drives may not be fully accessible
                                 without a DOS device driver (see your
                                 SCSI adapter documentation).

                               * NTFSDOS uses too much conventional
                                 memory

                                 Some people have complained that NTFSDOS
                                 is a memory hog. Unfortunately, this
                                 fact is largely imposed on us by the
                                 architecture of NTFS itself (sorry, but
                                 its a little more complicated than FAT,
                                 and much more memory intensive), coupled
                                 with our desire to provide reasonable
                                 performance across a wide variety of
                                 NTFS installations. In general, the
                                 footprint of NTFSDOS increases largely
                                 with the clustersize of the largest NTFS
                                 partition, and slightly with the number
                                 of NTFS volumes mounted.

                               * Accessing an NTFSDOS drive causes a hang
                                 or crash

                                 NTFSDOS does not support disk striping.
                                 Further, it cannot handle drives that
                                 are on partitions extending beyond the
                                 2GB boundary, or that are larger than
                                 2GB in size, UNLESS the computer's BIOS
                                 has extended INT 13 support for the
                                 drives in question. The latter
                                 restrictions are due to limitations in
                                 standard disk BIOS code that prevent it
                                 from addressing sectors 2GB or more from
                                 the start of a disk.

                                 NTFSDOS has not been thoroughly
                                 bullet-proofed against corrupt NTFS
                                 drive data structures, so it may cause
                                 Windows to crash or hang when it runs
                                 into problems. To insure that a crash or
                                 hang is due to a problem with NTFSDOS
                                 rather than your NTFS drive, be sure to
                                 chkdsk the drive from Windows NT and try
                                 NTFSDOS again.

                               * Starting programs or loading files seems
                                 very slow

                                 Access of large compressed files may be
                                 noticeably slower than of their
                                 non-compressed versions.

                               * File times are not correct when running
                                 under DOS 7.0 without Windows 95

                                 This problem is due to the fact that
                                 NTFS and LFN FAT time stamps are stored
                                 in Coordinated Universal Time (UTC),
                                 which is based on Greenwich Mean Time,
                                 and Windows 95 automatically converts
                                 times stamps returned by LFN calls to
                                 local time. Since local time zone
                                 information is not accessible outside of
                                 Windows 95, running NTFSDOS under DOS
                                 7.0 without Windows 95 results in the
                                 display of unadjusted times.

                               * Programs complain about not being able
                                 to find files when they are there

                                 A directory listing of files that have
                                 no short filename will result in the
                                 short filename field of the listing
                                 being blank. Changing the current
                                 directory to a path where any component
                                 of the pathname does not have a short
                                 filename will result in all short
                                 filename calls failing while in the
                                 directory. This makes most Windows 3.1
                                 and DOS programs and many DOS commands
                                 (e.g. MORE) inoperative in these
                                 directories. However, LFN calls are
                                 supported in these directories.

                               * Data read from a file appears to be
                                 corrupt

                                 Since this work is based on
                                 reverse-engineering rather than official
                                 Microsoft specifications (which are
                                 reportedly available under special
                                 circumstances for large amounts of
                                 money), we do not guarantee data
                                 integrity of NTFSDOS drives. This is
                                 especially important if you are
                                 considering using NTFSDOS as a file
                                 backup utility.

                               * Files or directories seem to be missing

                                 Remember that files and directories that
                                 were created with no DOS 8.3 short
                                 filenames will not be visible if you are
                                 running DOS versions earlier than 7.0.

                               * You get the message "No drive letter to
                                 mount NTFS partition..."

                                 If NTFSDOS complains that it cannot
                                 mount a drive because there are no
                                 available drive letters, you must find
                                 the line in your CONFIG.SYS that begins
                                 with "LASTDRIVE=". If you do not find
                                 one, then add one. Set the LASTDRIVE
                                 variable to a letter that is greater, by
                                 the number of NTFS drives on your
                                 system, than the largest drive letter
                                 you normally have under DOS/Windows. For
                                 example, if the highest drive letter
                                 normally in use is E: and you have two
                                 NTFS drives, set LASTDRIVE to G: with a
                                 statement in CONFIG.SYS like:

                                 LASTDRIVE=G:

                                 If you still get the message then
                                 increment the letter and try again.
                                 Remember to reboot after every change to
                                 CONFIG.SYS.

                               * You get the message "Could not allocate
                                 XMS or conventional cache"

                                 Memory usage on your machine is so high
                                 that NTFSDOS could not allocate 64KB for
                                 a conventional cache. Try removing
                                 unnecessary TSRs and drivers and/or
                                 running a DOS memory optimizer or
                                 manager.

                               * XCOPY does not work in a DOS box

                                 XCOPY will not work on NTFS drives that
                                 are mounted in DOS boxes under Windows
                                 95 (e.g. running NTFSDOS in a DOS box).
                                 This is because you cannot run Windows
                                 programs off of non-global drives, and
                                 under Windows 5, XCOPY starts the
                                 Windows console program XCOPY32.EXE.

           Reporting Bugs   When you report a bug please provide the
                            following information about your system:

                               * disk types (IDE, etc.)
                               * disk and partition sizes
                               * BIOS version
                               * drive sizes and formats
                               * version of NT that was used to format
                                 NTFS drives
                               * version of NTFSDOS you are using
                               * an output dump of NTFSDOS run with the
                                 /V (verbose) option
                               * version of DOS and/or Windows you are
                                 running NTFSDOS on

           Implementation   NTFSDOS scans the system's partition tables
                            looking for partitions that have the NTFS
                            attribute byte. When it finds one, it looks
                            for an unused DOS driver letter and registers
                            a network drive on it. After it completes the
                            drive search it hooks the network redirector
                            interrupt and goes resident. Requests come
                            into NTFSDOS as full path names, or
                            continuations of a previous directory
                            traversal (as with findnext), so it proceeds
                            to determine where, based on NTFS internal
                            data structures, the target file is located.
                            When it retrieves the header for the target
                            file it can determine where the file's data
                            is located, and read it when it receives
                            requests to do so.

                            To provide long filename support (LFN),
                            NTFSDOS hooks INT 21/AH=0x71 calls and
                            implements LFN functionality when it sees an
                            LFN call. Under Windows 95, NTFSHLP.VXD is
                            required to send LFN calls down to the
                            NTFSDOS for it to process; otherwise NTFSDOS
                            would not see LFN calls since Windows assumes
                            DOS redirected drives do not provide LFN
                            support.

                            NTFSDOS also uses the INT 2F/11 and INT 13
                            APIs. In addition, it contains memory and
                            cache management plus interpretation of the
                            NTFS on-disk structures.

        Read-write NTFSDOS  A full read-write version of NTFSDOS will not
                            be released.

                            If you have a dead system that you would like
                            to recover data from or repair, and you have
                            access to a second NT machine, you may want
                            to try NTRecover, another utility we have
                            written. A read-only NTRecover is available
                            for free download, and with it you can access
                            the drives on the dead system from the
                            working system using native NT file systems
                            and utilities. In fact, to NT the drives
                            appear as if they were local drives on the
                            working system. With the read/write version,
                            you can copy/edit/delete files.

                            An add-on package called NTFSDOS Tools will
                            be available for sale in the next week at the
                            Winternals site. If you require limited write
                            access for disaster recovery purposes,
                            NTFSDOS Tools may help. It consists of two
                            utilities, NTFSCopy and NTFSRen, that work
                            with NTFSDOS 2.0R+. NTFSCopy allows you to
                            overwrite a NTFS file with a fresh copy in
                            cases where one has become corrupt and is
                            preventing NT from booting. NTFSRen will give
                            a specified file a new name. This is useful
                            in cases where a new driver or application is
                            installed and is preventing NT from booting.
                            With NTFSRen an offending file can be renamed
                            so that NT will not load it.

           Acknowlegements  We thank everybody that e-mailed us with bug
                            reports and other feedback.

                            Significant understanding of the NTFS file
                            system layout was derived by studying the
                            Linux-based NTFS driver code maintained by
                            Martin von Loewis. We acknowledge his
                            indirect contribution to this endeavor.

                            Andrew Schulman, et. al.'s, book,
                            Undocumented DOS 2nd Edition
                            (Addison-Wesley), was invaluable in providing
                            network redirector information necessary for
                            implementing NTFSDOS.

  ------------------------------------------------------------------------
                          Download NTFSDOS (39KB)

                                  [Image]