 |
     |










|
|
|
Awards
Introduction
If you are interested in accessing NTFS drives from Windows 95 or Windows
98, then you should use NTFS for Windows 98 rather than NTFSDOS. Full read/write
access to NTFS drives from DOS is available with NTFSDOS Professional
Edition, part of Winternals Administrator's Pak.
If you want to salvage files off a corrupt NTFS volume or repair
an NTFS boot sector or partition table, see Disk Commander, also available in
Administrator's Pak.
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 v2.00
Version 3.0's enhancement over v2.0 is that it is capable of accessing NTFS drives with sizes larger than 4GB.
Contents of the Package
The NTFSDOS package (see the bottom of this page) contains the following files:
- README.TXT: This file
- NTFSDOS.EXE: File system driver
- 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 Running NTFSDOS
This section lists and addresses various 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 
Full read/write capability for NTFS from DOS is available with
NTFSDOS Professional, available as part of Winternals Administrator's Pak. Read-only capability for DOS from Windows 95/98 is
available with NTFS for Windows 98.
Full read/write capability for NTFS drives from a boot floppy is
now available in the form of ERD Commander 2003. ERD Commander 2003 is a
command-line that starts after booting off of a standard set of Windows
NT boot disks. NTFS and FAT drives can be accessed with a full suite of
standard file-related commands like move, copy, delete, and rename. Get
more information and download a free read-only version that has working
rmdir and mkdir commands here.
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)
Back to Top
|
|