Chapter 10 - Disks and File Systems

Archived content. No warranty is made as to technical accuracy. Content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.

This chapter is intended primarily for system administrators, network administrators, computer technicians, and anyone else interested in using utilities to partition and format hard disks, and using utilities, such as DriveSpace 3, Disk Defragmenter, and ScanDisk, to manage disks and data. It also describes the file allocation table (FAT) used by Microsoft Windows 98 and discusses how to manage long file names.

See Also

  • For more information about editing system policies, see Chapter 8, "System Policies." 

  • For more information about hard drives and other hardware devices, see Chapter 30, "Hardware Management." 

Overview of Disks and File Systems

Cc768180.spacer(en-us,TechNet.10).gif Cc768180.spacer(en-us,TechNet.10).gif

The 32-bit, protected-mode file system in Windows 98 allows optimal access to hard disks, CD-ROM drives, and network resources. The file system support means faster, better performance for all file I/O operations than was previously available.

You can use long file names and directory names in Windows 98 and in any applications that support long file names. The eight-character limit on file names that was imposed by the file system under MS-DOS no longer holds.

The file system in Windows 98 permits exclusive access to a disk device for file system utilities. For example, ScanDisk, a file system utility, requires exclusive access to the file system to ensure data integrity in a multitasking environment. Otherwise, if a file on the disk were to be saved while the utility was writing information to the disk at the same time, data corruption could occur.

The file system also detects when Windows 98 shuts down improperly. If Windows 98 is shut down without going through the standard shutdown sequence, real mode Scandisk will be executed at the next startup. The purpose of running Scandisk is to correct potential errors in the file allocation table (FAT) before continuing the boot process. In the event that a Disk read/write error is encountered during normal Windows 98 operation, a flag will also be set to run real mode Scandisk with Surface Scan.

Exclusive disk access means you can now run disk management and optimization utilities without quitting Windows. You can even complete tasks, such as disk defragmentation, without stopping work in other applications. The exclusive access support is used by the disk utilities provided with Windows 98 and can be used in Windows-based disk management utilities from any vendors that take advantage of the related application programming interface (API) in their utilities.

File Allocation Table

File allocation table (FAT) refers to a disk format, which is a way of organizing the storage space on a hard disk. The table organizes information about the files on the hard disk, representing each one as a chain of numbers that identifies where each part of a file is located. The FAT itself is similar to a table of contents in a book—the operating system uses it to look up a file and find which clusters that file is written to on the hard disk.

FAT is probably the most widely recognized disk format, being read by most operating systems. Microsoft originally devised FAT to manage files on floppy disks, and adapted it as a standard for file and disk management in MS-DOS. A 12-bit FAT was first used for managing floppy disks and logical drives smaller than 16 MB. MS-DOS version 3.0 introduced the 16-bit FAT for larger drives.

FAT32

FAT32 goes beyond the capabilities of FAT16. The most prominent feature is that it supports drives of up to 2 terabytes in size. In addition, FAT32 decreases the cluster size on large drives, thus reducing the amount of unused space. For example, with FAT16, a 2 GB drive has a 32 KB cluster size. The same drive under FAT32 has 4 KB clusters.

To maintain the greatest possible compatibility with existing programs, networks, and device drivers, FAT32 was implemented with as little change as possible to existing architecture, internal data structures APIs, and on-disk format for Windows 98.

However, because 4 bytes are now required to store cluster values, many internal and on-disk data structures and published APIs have been revised or expanded. In some cases, existing APIs have been prevented from working on FAT32 drives to prevent legacy disk utilities that use them from damaging the FAT32 drives. Most programs will be unaffected by these changes. Existing tools and drivers should continue to work on FAT32 drives. However, MS-DOS block device drivers (for example, Aspidisk.sys) and disk tools must be revised to support FAT32 drives.

All of Microsoft's bundled disk tools (Format, FDISK, Defrag, and MS-DOS-based and Windows-based ScanDisk) have been revised to work with FAT32. In addition, Microsoft is working with leading device driver and disk tool vendors to support them in revising their products to support FAT32.

Note A FAT32 volume cannot be compressed using Microsoft DriveSpace 3.

FAT16 vs. FAT32

FAT16 is still available because of its widespread compatibility with all other non-Microsoft operating systems. The major benefits of FAT32 are that it is more efficient than a 16-bit FAT on larger disks (sometimes by as much as 20–30 percent), and that it can support disk drives larger than 2 GB without having to use multiple partitions.

Note In real-mode MS-DOS or when running Windows 98 in safe mode, FAT32 is considerably slower than FAT16. If you need to run applications in MS-DOS mode, loading Smartdrv.exe in Autoexec.bat or your MS-DOS PIF file will be beneficial.

Some older applications that were written to FAT16 specifications may be unable to display free or total disk space over 2 GB correctly. Windows 98 provides new MS-DOS and Win32 APIs that applications can use to determine free or total disk space over 2 GB.

Table 10.1 shows a comparison of FAT16 and FAT32.

Table 10 . 1 FAT16 and FAT32 comparison 

FAT16

FAT32

Most operating systems (MS-DOS, Windows 98, Windows NT, OS/2, and UNIX) are designed to implement and use it.

Currently, FAT32 can be used only in Windows 98 and Windows 95 OSR2.

It is efficient, both in speed and storage, on logical drives smaller than 256 MB.

Drives smaller that 512 MB are not supported by FAT32.

Disk compression, such as Drvspace, is supported.

Disk compression is not supported with FAT32.

FAT16 is limited in size to 65,525 clusters with each cluster being fixed in a size relative to the logical drive. If both the quantity of clusters and their maximum size (32 KB) is reached, the largest drive is limited to 2 GB.

FAT32 allows for (x) clusters, therefore, the largest drive can be up to 2 terabytes, based on the 32 KB cluster size limitation.

Storing files in a FAT16 system can be inefficient in larger drives as the size of the cluster increases. The space allocated for storing a file is based on the size of the Cluster Allocation Granularity, not the file size. A 10 KB file stored in a 32 KB cluster wastes 22 KB of disk space.

FAT32 cluster sizes are 4 KB (drives less than 800 MB).

Cluster Sizes of FAT16 and FAT32

The largest possible file for a FAT32 drive is 4 GB minus 2 bytes. Win32-based applications can open files this large without special handling. However, non-Win32-based applications must use Int 21h Function 716Ch (FAT32) with the EXTENDED_SIZE (1000h) open flag.

The FAT32 file system includes 4 bytes per cluster within the file allocation table. This differs from the FAT16 file system, which contains 2 bytes per cluster, and the FAT12 file system, which contains 1.5 bytes per cluster within the file allocation table.

Note that the high 4 bits of the 32-bit values in the file allocation table for FAT32 are reserved and are not part of the cluster number. Applications that directly read a FAT32 file allocation table must mask off these bits and preserve them when writing new values.

Table 10.2 provides a comparison of FAT16 and FAT32 cluster sizes according to drive size.

Table 10.2 Cluster sizes of FAT16 and FAT32 

Drive size

FAT16 cluster size

FAT32 cluster size

256 MB – 511 MB

8 KB

Not supported

512 MB – 1023 MB

16 KB

4 KB

1024 MB – 2 GB

32 KB

4 KB

2 GB – 8 GB

Not supported

4 KB

8 GB – 16 GB

Not supported

8 KB

16 GB – 32 GB

Not supported

16 KB

>32 GB

Not supported

32 KB

Understanding FAT32

Cc768180.spacer(en-us,TechNet.10).gif Cc768180.spacer(en-us,TechNet.10).gif

FAT32 provides the following enhancements over previous implementations of the FAT file system:

  • Supports drives up to 2 terabytes in size. 

  • Uses space more efficiently. FAT32 uses smaller clusters (4 KB clusters for drives up to 8 GB in size), resulting in 10 to 15% more efficient use of disk space relative to large FAT drives, and reduces the resources necessary for the computer to operate.

  • More robust. FAT32 has the ability to relocate the root directory and use the backup copy of the FAT instead of the default copy. In addition, the boot record on FAT32 drives has been expanded to include a backup of critical data structures. This means that FAT32 drives are less susceptible to a single point of failure than existing FAT volumes. 

  • Programs load up to 50% faster. FAT32's smaller cluster size enables the new and improved Disk Defragmenter to optimally locate the portions of an application and its supporting files needed at the time it is loaded. 

All of Microsoft's bundled disk utilities (Format, FDISK, Defrag, MS-DOS and Windows ScanDisk, and DriveSpace) have been revised to work with FAT32.

Important When the Drive Converter Wizard is done, the Disk Defragmenter utility runs. It is important that you let Disk Defragmenter run to completion after converting to FAT32. Not defragmenting the disk after converting to FAT32 will result in an even less efficient and slower computer than before the conversion.

You cannot dual boot Windows 98 and Windows NT 4.0 if you use FAT32. Windows NT 4.0 cannot access or boot from a FAT32 drive.

BIOS and Hibernate Issues for FAT32 File System

FAT32 allocates disk space much more efficiently than previous versions of the FAT file system. This results in tens and even hundreds of megabytes more free disk space on larger hard drives. When used with the new and improved Disk Defragmenter tool in Windows 98, FAT32 can significantly improve application load time.

You can easily convert a hard drive to FAT32 using the Converter Wizard, which is started by clicking Start, and pointing to Programs, Accessories, System Tools, and then clicking Drive Converter (FAT32).

This conversion may impact the hibernate, or suspend-to-disk, features shipped with many systems. To support Windows 98, systems that implement hibernate through the APM BIOS or through the Advanced Configuration and Power Interface (ACPI) S4/BIOS state must support FAT32.

Important Various BIOS manufacturers include virus checkers, which look for changes to the Master Boot Record (MBR). In addition, older anti-virus utilities that are installed as real-mode drivers or TSRs may detect that the MBR has changed during an MS-DOS boot. Since a conversion to FAT32 will change the MBR, some virus checkers may erroneously detect the changes to the MBR as a software virus on your system. If a virus-checking utility detects an MBR change and offers to "fix" it, decline this option.

The easiest solution is to uninstall virus-checking software or disable BIOS level protection before converting to FAT32. After conversion, reinstall the software or re-enable the BIOS protection level.

Documentation on the disk structure of the FAT32 file system is available from the Microsoft Web site at https://www.microsoft.com/technet/images/prodtechnol/win98/reskit/part2/images/wrk0o18.gif and later in this chapter.

Checks Made by FAT32 Drive Converter Wizard in Protected Mode

The FAT32 Drive Converter Wizard performs a series of checks in protected mode during conversion. The checks are listed below:

  1. The wizard checks for a list of hibernate files for APM and ACPI computers. If a hibernate file is found, the Drive Converter Wizard checks for the existence of a PC Card (PCMCIA) controller to see if the computer is a laptop. 

  2. If a hibernate file exists, the Drive Converter Wizard checks for ACPI and APM. If neither exist on the computer, the wizard converts FAT16 to FAT32. 

    – Or – 

    If the hibernate partition size is greater than or equal to the maximum memory size, it is safe to convert. 

    The wizard checks for a list of known hibernate files:

    • Amizvsus.pmf 

    • Save2dsk.bin 

    • PM_hiber.bin 

    • Hibrn8.dat 

    • Saveto.dsk 

    • Toshiber.dat 

    If any of these hibernate files exist on the computer, the wizard displays a message asking if it is okay to continue with the conversion. If you choose to continue the conversion, and you are working from a desktop computer, the hibernate file is deleted. If you are working from a laptop, the wizard recommends not converting to FAT32. 

    The series of checks is summarized in this table:

    Check

    Converter Wizard Action

    No APM/ACPI 

    Converts FAT16 to FAT32. 

    APM/ACPI and hibernate file 

    Warns against conversion. 

    APM/ACPI and PC Card (PCMCIA) controller and no hibernate file 

    Strongly warns against conversion. 

    APM/ACPI and no hibernate file and no PC Card controller 

    Converts FAT16 to FAT32. 

After the series of checks is made during the conversion, the wizard looks for applications that are incompatible with FAT32, and lists them. After the conversion is complete and Disk Defragmenter has run, use Add/Remove Programs from the Control Panel to uninstall the incompatible application (if found).

Check Made by FAT32 Drive Converter Wizard in Real Mode

The FAT32 Drive Converter Wizard also performs a check in real-mode conversion. The converter checks for the existence of hibernate files. Running the converter with the /hib switch (cvt /hib) automatically removes any hibernate files that are found.

Real-Mode Command Line Parameters

This section describes command line parameters available for the real-mode version of the Disk Converter (FAT32) utility. Only the first two parameters are required.

D: A drive letter followed by a colon specifies the drive letter of the volume to be converted to FAT32 format.

/CVT32 This parameter prevents a user from accidentally running the converter. Without this parameter, the utility will not run.

[ /WIN ] In normal operation, the converter is intended to be run under MS-DOS and not in an MS-DOS VM in Windows 98. Without this parameter, the converter will not run in an MS-DOS VM in Windows 98. Also, this parameter works only if the volume specified has no files open on it, meaning that a level-0 volume lock can be taken on the volume, preventing all possible file accesses by other system components and applications during the conversion. If a level-0 volume lock cannot be obtained on the volume to be converted, the conversion is cancelled. If a level-0 volume lock can be obtained on the volume to be converted and the /WIN parameter is present, the conversion proceeds.

[ 1 | 2 | 4 | 8 | 16 | 32] This parameter overrides the converter's internal cluster size selection logic. The default logic for cluster size selection is included below. Overriding the cluster size is not recommended. The cluster size selection logic that the converter uses provides the optimal balance between storage allocation efficiency and file system performance. Overriding the default will compromise either storage allocation efficiency, performance, or both. The cluster size overrides specify that the volume being converted should have a cluster size of 512 bytes or 1 KB or 2 KB or 4 KB or 8 KB or 16 KB. When a user overrides the optimal cluster size, the converter will warn you about the sub-optimal selection unless queries have been suppressed via the /NOP parameter.

if (((FAT16_clusters * sectors_per_cluster)/2) < 260*1024) {
optimal cluster size = 512 bytes
}
else {
optimal cluster size = 4k bytes
}

[ /NOP ] Suppress all warning dialogs, as well as user queries associated with the warning dialogs that the converter displays when it detects a problem. A warning dialog and associated user query informs the user of the condition and gives the opportunity to cancel the conversion.

[ /NOSCAN ] This parameter causes the converter to skip running MS-DOS SCANDISK prior to converting the volume.

Important Skipping ScanDisk before FAT32 conversion is not recommended.

[ /MIN ] This parameter overrides the minimum volume size logic that the converter uses to determine whether converting a volume to FAT32 is feasible. The conversion will take place even if the volume is too small to economically convert to FAT32. The logic the converter uses to determine if a volume is below the minimum size follows.

if (((FAT16_clusters * sectors_per_cluster)/2) < 512 * 1024) (
do not convert volume)

[ /NT5 ] If a FAT32-aware version of Windows NT is already installed on this system, this parameter causes the converter to convert the volume to FAT32 and provide for dual-boot capability between Windows NT and Windows 98. If there is no FAT32-aware version of Windows NT installed on the volume being converted, this switch is ignored.

[ /HIB ] The converter checks for any file in the following list of hibernate files present in the root directory of the volume to be converted to FAT32. If it detects any one of the files and the /HIB parameter is not present, the conversion is cancelled. If any of one of the files is present and the /HIB parameter is present, the file is deleted and the conversion proceeds. A warning dialog is displayed and the user is queried about whether to cancel the conversion unless warnings have been suppressed via the /NOP parameter.

  • Amizvsus.pmf 

  • Save2dsk.bin 

  • PM_hiber.bin 

  • Hibrn8.dat 

  • Saveto.dsk 

  • Toshiber.dat 

[ /ERRLOG filename ] Write the status code of the conversion to a file named "Filename." "Filename" may exist on the same volume being converted. The codes written to this file may be any of the following codes and their associated values.

Error

Value

CVT_ERR_NONE

0

CVT_ERR_USAGE

0x7000

CVT_ERR_INVALIDCMDLINEPARM

0x7001

CVT_ERR_INVALIDCLUSTSIZE

0x7002

CVT_ERR_RUN_CVT32

0x7003

CVT_ERR_INCOMPAT_BIOS

0x7004

CVT_ERR_BADDOSVER

0x7005

CVT_ERR_BADWINVER

0x7006

CVT_ERR_DOSMODEONLY

0x7007

CVT_ERR_NETWORK_DRIVE

0x7008

CVT_ERR_CDROM_DRIVE

0x7009

CVT_ERR_FLOPPY_DRIVE

0x700a

CVT_ERR_INVALIDDRIVE

0x700b

CVT_ERR_DRVSPACE

0x700c

CVT_ERR_DISKCOMPRESSION

0x700d

CVT_ERR_OUTOFMEMORY

0x700e

CVT_ERR_FAT32NOTSUPPORTED

0x700f

CVT_ERR_INT13NOTSUPPORTED

0x7010

CVT_ERR_GETDPBFAILED

0x7011

CVT_ERR_ALREADYFAT32

0x7012

CVT_ERR_DRIVETOOSMALL

0x7013

CVT_ERR_RUNSCANDISK

0x7014

CVT_ERR_BADMARK

0x7015

CVT_ERR_CANTUPDATEPART

0x7016

CVT_ERR_CANTLOCK

0x7017

CVT_ERR_DISKERROR

0x7018

CVT_ERR_UNKNOWNPARTTYPE

0x7019

CVT_ERR_DISKPROB_OR_DISKFULL

0x701a

CVT_ERR_USERABORTED

0x701b

CVT_ERR_SMALLCLUSTERS

0x701c

CVT_ERR_ANTIVIRUS

0x701d

CVT_ERR_ANTIVIRUSPOPUP

0x701e

CVT_ERR_EXTATTRIB

0x701f

CVT_ERR_UNINSTALL

0x7020

CVT_ERR_LOGFILE

0x7021

CVT_ERR_BOOTSECTFILE

0x7022

CVT_ERR_WIN9XNTBOOTCONFLICT

0x7023

CVT_ERR_HIB_FILE_EXIST

0x7024

CVT_ERR_MBR_HOOKER_EXIST

0x7025

CVT_ERR_PBRMBRBACKUPFILE

0x7026

[ /HELP ] Use of this switch or the /? switch displays the following Help text. Does not perform a conversion.

Converts 16-bit FAT file system to 32-bit FAT file system.
Usage: CVT D: where D is the drive to convert.

Testing Hibernate with FAT32

Before converting a large number of computers in your organization, test hibernate with FAT32 using the following steps:

  1. Start Windows 98.

  2. Click Start, and point to Programs, Accessories, and System Tools, and click Drive Converter (FAT32). Follow the steps presented by the wizard. 

  3. After conversion is complete, point to Start and click Shutdown, using Standby to hibernate the computer. 

  4. Verify that the system correctly resumes from hibernate. 

  5. Run ScanDisk to verify that the file system is still intact. 

Note This test should be performed on every brand of computer in your organization. Also, special consideration should be made on systems that may be similar, but purchased during different time frames.

The following scenarios should be tested:

  • Start the computer in its shipping configuration with FAT16, convert to FAT32, and test as indicated above. 

  • On a computer that is already running FAT32 and hibernate, add the maximum amount of memory, and verify hibernate. 

  • If your BIOS uses a hibernate partition, boot the computer with the partition removed or reformatted (simulating users who upgrade their hard disk), and verify that the system handles the lack of hibernate partition and informs the user of what to do. If Windows shows a Start/Shutdown/Standby option, test it and make sure that the computer suspends to RAM instead of to disk. 

System Commander and FAT32

System Commander replaces the Master Boot Record (MBR) in Windows 98. The Drive Converter (FAT32) checks for System Commander in both real mode and protected mode. If System Commander is found on the computer, the Converter Wizard does not convert FAT16 to FAT32.

To work around this problem, you must uninstall System Commander before converting to FAT32. If your version of System Commander supports FAT32, you can reinstall it after the conversion. You can also run the converter with the /mbr switch (cvt /mbr), which will stop the converter from replacing the Master Boot Record.

Overview of Disk Utilities

Cc768180.spacer(en-us,TechNet.10).gif Cc768180.spacer(en-us,TechNet.10).gif

This section provides a brief description of disk utilities provided with Windows 98. All of the disk utilities, with the exception of DriveSpace 3, have been revised to include FAT32 support. The utilities are described in more detail later in this chapter.

Note In general, older disk utilities that perform low-level disk functions, such as defragmenters, disk repair tools, and disk compression utilities, do not function properly on FAT32 drives. In most cases, vendors have updated their utilities to be FAT32-aware. The older versions of these utilities should continue to work properly on Windows 98 FAT16 drives.

Drive Converter (FAT32)

This utility converts a hard drive from FAT16 to FAT32. After running the converter, Disk Defragmenter will run on that drive during your next boot. It is important to run Disk Defragmenter because system performance will be slow until you do. The entire process, including defragmentation, could take several hours.

Caution Windows 98 does not include a utility for converting a drive back to FAT16 once you have converted it to FAT32.

Fdisk and Format

These utilities, which you can use to partition and format disks, behave exactly as did their counterparts in MS-DOS versions 6.x and Windows 95. You can use a graphical version of Format in Windows Explorer.

Disk Defragmenter

The Disk Defragmenter (also called a disk optimizer) is used to defragment information on a disk. Windows 98 monitors applications that you launch and creates a log file for each application in the \Windows\Applog directory. Disk Defragmenter uses the log files to arrange program files in the order they are accessed when the program starts, causing the program to start more quickly.

DriveSpace 3

The built-in support for DriveSpace 3 disk compression is completely compatible with DoubleSpace® and DriveSpace 3 disk compression provided with MS-DOS 6.x and Windows 95 Plus Pack. Compression is performed by using a 32-bit virtual device driver that delivers improved performance over previously available real-mode compression drivers and frees conventional memory for use by MS-DOS-based applications when executed within Windows 98.

Note The DriveSpace 3 program identifies FAT32 partitions but does not compress them.

ScanDisk

This graphical disk analysis and repair tool helps users check the integrity of disks and remedy problems it detects. Users can scan files and folders, or the disk surface for errors.

Disk Cleanup

Disk Cleanup offers users a list of ways to free disk space, including emptying the Recycle bin, removing old temporary files, and emptying the Internet cache. This disk space management utility is a wizard to help customers free up hard-disk space. The intent is to perform a series of typical disk space recovery tasks in a step-by-step fashion, in order to help novice users recover some disk space. The wizard is not intended to be a power-user tool and does not allow users the opportunity to delete or move system components, nor other files that could be dangerous to remove. The overriding criteria are safety and usability.

The following are the entry points for Disk Cleanup:

  • Low Disk Space warning dialog box. 

  • Drive property page Tools tab. 

  • Published interface that third-party applications can call to provide entry to the wizard. 

  • The System Tools option in the Accessories program group on the Start menu. 

  • Online Help (this wizard replaces the Disk Space Troubleshooter in Help). 

WinAlign

WinAlign is a tool designed to optimize the performance of executable code (binaries) on the Windows 98 platform. WinAlign aligns binary sections along 4 KB boundaries, aligning the executable sections with the memory pages. This allows the MapCache feature to map directly to sections in cache, resulting in a significant increase in performance through more available memory.

For more information about WinAlign, see the Windows 98 Resource Kit Tools Help.

Issues with Disks and File Systems

Cc768180.spacer(en-us,TechNet.10).gif Cc768180.spacer(en-us,TechNet.10).gif

When installing Windows 98, be sure to create a new Windows 98 Startup Disk. Because of changes in the real mode and protected mode kernels to support FAT32, versions of Windows 95 and Windows 98 are not compatible with each other when booting to a floppy disk. A new Startup Disk is highly recommended.

Note You can also create a Startup Disk through Control Panel, Add/Remove Programs, Startup Disk.

To ensure disk integrity, have Task Scheduler run ScanDisk regularly. You can set this up with the Maintenance Wizard. Also, run Disk Defragmenter at regular intervals to optimize disk I/O performance.

For more information about Maintenance Wizard and Task Scheduler, see Chapter 27, "General Troubleshooting," and Chapter 23, "System and Remote Administration Tools."

You cannot dual boot Windows 98 and Windows NT 4.0 if you use FAT32. Windows NT 4.0 cannot access or boot from a FAT32 drive.

Be sure to use disk and file management utilities designed specifically for Windows 98. The disk and file management utilities for Windows 98 work with both FAT32 and FAT16 file systems. You also avoid losing long file names and data.

In some cases, the LFNBK utility lets you remove and later restore long file names on a disk. This makes it possible to run a utility not compatible with long file names.

For more information, see "Using the LFNBK Utility for Temporary Compatibility" later in this chapter.

Caution Stacker 4.0 from STAC Electronics and similar disk optimization utilities are not compatible with long file names. If you use such software under Windows 98, the long file names already on the computer will be destroyed, and other critical errors could occur.

Contact the software manufacturer for information about Windows 98 – compatible upgrades for your disk utilities.

Windows 98 automatically provides long file name support. However, Windows 98 file systems and OS/2 High Performance File System (HPFS) each have slightly different ways of defining 8.3 file name aliases for long file names. If you are using a mixed network environment, be sure to understand the differences (as described in this chapter). Then to help minimize any naming conflicts, define and publish a file-naming policy for users who share files.

Disk Management

Cc768180.spacer(en-us,TechNet.10).gif Cc768180.spacer(en-us,TechNet.10).gif

Windows 98 provides utilities to partition and format a hard disk. Windows 98 also includes several utilities for managing disks, protecting data, and ensuring good disk performance. To keep your computer in good working order, use these programs on a regular basis. Table 10.3 outlines some tasks that are necessary to manage your computer.

Table 10.3 Disk management tasks 

To ensure that

Do this

Files are not lost if the hard disk fails

Run Microsoft Backup software. Back up your files at least once a week. See Chapter 27, "General Troubleshooting."

The computer can access files quickly and efficiently

Defragment the hard disk. See "Defragmenting Disks" later in this chapter.

Lost clusters do not take up space on a disk, or the hard disk is not damaged

Run ScanDisk. See "Using ScanDisk" later in this chapter.

System performs optimally

Run Maintenance Wizard. See Chapter 23, "System and Remote Administration Tools."

Space is available on the hard disk

Use Disk Cleanup and disk compression. See "Using Disk Cleanup" and "Using Disk Compression" later in this chapter.

A sample routine for managing a computer's hard disks might include the following tasks:

  • Automatically running ScanDisk regularly to check the integrity of the hard disk. 

  • Occasionally using the Disk Defragmenter to optimize the hard disk. 

  • Use Disk Cleanup to remove unnecessary temporary files and to empty the Recycle bin and the Internet cache. 

No matter what your computer management plan, carry it out at regular intervals using Task Scheduler. Task Scheduler is easy and automatic and performs tasks when you are not around or not using the computer.

Note For best results, do not run other programs while running either Disk Defragmenter or ScanDisk. Although you can use the computer for other tasks while running either of these utilities, each time you write to the disk, the utility automatically reinitiates itself to work with the current view of the disk.

Using Fdisk to Partition Hard Disks

This section describes how to use the Fdisk utility to configure a hard disk. For example, if you want to combine several partitions into one large partition, you must use Fdisk.

Fdisk is an extremely powerful program. If you delete a disk partition by using Fdisk, all the data in that partition will be permanently destroyed.

Caution Do not repartition the hard disk using Fdisk if the hard drive was partitioned using a third party program, such as those created by Disk Manager, EZ Drive, Storage Dimensions SpeedStor, Priam, or Everex partitioning programs. These programs provide drive translation between the hard disk drive and the BIOS, and are typically used on systems in which the BIOS does not support large drives. If the drive has been partitioned using one of these utilities, use that program to repartition the drive (as opposed to using Fdisk).

The above programs are not a complete list of utilities that provide disk partitioning. Other programs sold with various hard drives provide similar functionality, but have various names, depending on the manufacturer. Current partitioning software typically loads right after BIOS POST, but prior to the operating system. When these programs load, they usually display a banner page or text informing the customer to press a key sequence to boot to the floppy drive (generally the CTRL or SPACEBAR). Older versions of partitioning software load from a device=<driver> line in Config.sys. The following are examples of this type of driver: Dmdrvr.bin (Older Disk Manager), Sstor.sys (SpeedStor), Hardrive.sys (Priam), and Evdisk.sys (Everex).

If you are unsure which software is being used, consult your documentation, the computer manufacturer, or the hard disk drive manufacturer.

To configure a hard disk
  1. Create a Startup Disk using the Add/Remove Programs option in Control Panel. 

  2. Back up the files on the hard disk. 

    Note Step 2 is only necessary if there are files on the disk that you need or want to save. 

  3. Partition the hard disk using Fdisk. 

  4. Format the hard disk. 

  5. Restore the backed-up files. 

Partitioning Drives

If you want to partition a hard disk into one drive, you must first use Fdisk to delete all existing partitions and logical drives, and then create a new primary partition and make it active. You can also partition a hard disk so that it has more than one logical drive.

Fdisk is an MS-DOS-based application that can be run from an MS-DOS command line or from within Windows 98 if partitioning an additional hard drive. The partitions that Fdisk creates are called MS-DOS partitions. The Startup Disk contains a copy of Fdisk, which you can use if a hard disk becomes corrupt or unreadable.

To start Fdisk
  1. If you are starting Fdisk from a Startup Disk, put the disk in drive a: and press CTRL+ALT+DEL to restart the computer. At the command prompt on the a: drive, type fdisk

    – Or – 

    At the command prompt, type fdisk

  2. If you have a hard disk smaller than 512 MB, the Fdisk Options screen appears. 

    You can choose to do the following:

    • Create a partition or logical drive. 

    • Set the active partition. 

    • Delete a partition or logical drive. 

    • Display partition information. 

    • If the computer has two or more hard disks, Fdisk displays a fifth option named Change Current Fixed Disk Drive, with which you can switch to another disk drive. 

    – Or – 

    If you have a hard disk larger than 512 MB, the following screen appears. 

    Cc768180.wrk0o18(en-us,TechNet.10).gif  

    Important If you enable large disk support, any drives created will be FAT32. As such, you will not be able to access the newly created drive if booting from a boot disk created by a previous version of Windows 95, Windows 95A, or MS-DOS. Windows 95B (OSR2) does support FAT32, however, it is recommended that you use your Windows 98 Emergency Boot Disk when booting from a floppy. In addition, legacy third-party disk utilities may not function on FAT32, so it is highly recommended you contact your software vendor to ensure FAT32 compatibility. Most third-party manufacturers already have FAT32 versions of disk utilities available. Utilities included with Windows 98 are compatible with FAT32. 

    Fdisk identified that you have a drive larger than 512 MB. It asks if you wish to enable large disk support, so that your system can use FAT32 as your file system. You can choose one of the following options:

    • Answering "Y" means you will be using a 32-bit FAT. Fdisk can make the entire disk available as one partition (up to 2,047 GB). 

    • Answering "N" means you will be using a 16-bit FAT. Fdisk will only allow up to 2 GB for a partition even if the disk is larger. 

      Windows 98 introduces many new performance enhancements, such as Application load acceleration, MapCaching, and idle time paging. Although these are features of the Windows 98 operating system, additional benefits are gained when running on FAT32 volumes. 

Each Fdisk screen displays a Current Fixed Disk Drive line, followed by a number. If the computer has only one hard disk drive, this number is always 1. If the computer has more than one hard disk drive, the number shows the disk Fdisk is currently working on. The first hard disk drive on the computer is 1, the second is 2, and so on. The Current Fixed Disk Drive line refers only to physical disk drives.

Note If you installed a disk-compression program from Microsoft or another vendor, Fdisk displays the uncompressed, not the compressed, size of the drives. Also, Fdisk may not display information about all the drives used by a disk-compression program from another vendor.

To configure a hard disk using Fdisk
  1. Delete all MS-DOS partitions in the following order: logical drives, the extended MS-DOS partition, and then the primary MS-DOS partition. 

  2. Create a new primary MS-DOS partition. 

  3. (Optional) Create an extended partition and logical drives. 

Caution If you use Fdisk to repartition a hard disk, all the files on the original partitions will be deleted. Be sure to back up all data files on the hard drive before using Fdisk.

Deleting Partitions and Logical Drives

You can use Fdisk to delete partitions before creating a new primary partition. You must delete partitions in the following order:

  1. Any non-MS-DOS partitions. 

  2. Any logical drives in the extended MS-DOS partition. 

  3. Any extended MS-DOS partition. 

  4. The existing primary MS-DOS partition. 

Important Back up your files on all partitions of the fixed disk prior to deletion. If the computer has a non-MS-DOS partition on a hard disk, you may have to boot to the operating system that created the partition in order to back up the data on the logical drive.

For more information, see the documentation that came with the non-MS-DOS operating system, or the disk-partitioning program from another vendor.

To delete a partition or logical drive
  1. In the Fdisk Options screen, press 3, and then press ENTER. The Delete DOS Partition Or Logical DOS Drive screen appears. 

  2. Press the number for the kind of partition you want to delete, and then press ENTER.

  3. Follow the directions on the screen, and repeat the steps for deleting any additional logical drives or partitions. 

If Fdisk cannot delete a non-MS-DOS partition, quit Fdisk and delete the non-MS-DOS partition by using the software used to create it.

Creating a Primary MS-DOS Partition

On a new disk, or after you have deleted a primary MS-DOS partition, you can create a new primary MS-DOS partition.

To create a primary MS-DOS partition
  1. In the Fdisk Options screen, press 1, and then press ENTER. The Create DOS Partition Or Logical DOS Drive screen appears.

  2. Press 1, and then press ENTER. The Create Primary DOS Partition screen appears. 

  3. If you want the partition to be the maximum size, press ENTER. Then insert a Startup Disk in drive a:, and press any key. 

    – Or – 

    If you do not want the partition to be the maximum size, press n, and then press ENTER. Another Create Primary DOS Partition screen appears. 

  4. To specify the partition size you want, follow the instructions on-screen, and then press ENTER.

    You can specify the partition size as a percentage of disk space or in megabytes of disk space. If you specify a percentage of disk space, include a percent sign (%) after the number.

  5. If you create the Primary partition to use the entire hard drive, press ESC twice to exit FDISK, then reboot the computer to the floppy disk. 

    If you chose not to use the entire drive for the Primary partition, you need to create the Extended DOS partition (unless you plan to use the remaining disk space for other reasons, such as a different operating system). To do this, select Option 1 from the main FDISK options screen., then choose to create an Extended DOS partition. This will typically be set up for the remaining disk space on the drive. You will be prompted to create logical drives upon establishing the Extended DOS partition. Specify the partition size you want as a percentage or number of megabytes of disk space. Select logical drive sizes the same way. 

    Finally, if you created a Primary and an Extended partition, you need to set an active partition. From the main Fdisk options menu, select option 2, and then select the Primary partition to set active. 

Verifying Drive Integrity

While using Fdisk, each time you create a partition or logical drive, Fdisk displays the following message on the bottom of the screen:

Verifying drive integrity, ##% complete.

The percentage counts 0 to 100. When verifying the drive's integrity, Fdisk is checking the tracks where the system files and FAT will be stored. Fdisk displays this message since it has capabilities for setting up very large drives and the process may take some time.

The check initially verifies the number of tracks necessary to hold the system files and FAT as if the entire disk were partitioned as one primary partition. If you create an extended partition it will verify the number of tracks necessary to hold the system files and FAT as if the remaining portion were partitioned as one logical drive. Finally, with each logical drive created, Fdisk verifies the number of tracks necessary to hold the system files and FAT as if the remaining portion of the extended partition were defined as a logical drive. This repeats until you finish creating logical drives.

Formatting a Hard Disk

The Format command has changed to take into account 32-bit FAT and larger drives. The process for formatting a drive has not changed.

The hard disk on your computer must be formatted before you can run Windows 98 Setup. However, if Windows 98 is already installed and you need to reformat the hard disk, use the following procedure.

Note If the disk was compressed using DriveSpace, you must use the Format option in the DriveSpace program to format the compressed drive.

To format a hard disk drive with Windows 98 installed
  • In Windows Explorer, right-click the drive icon for that disk, and then click Format
To format a hard disk drive using a Windows 98 Startup Disk
  1. Make sure a Startup Disk is in drive a:. Then, at the command prompt, type the following:

    format drive:  

    For drive, type the letter of the drive you want to format.

    If you are formatting drive c:, copy system files to the hard disk by typing the following at the command prompt:

    format c: /s

    When the warning message appears, proceed with formatting by pressing Y. Then press ENTER.

  2. When formatting is complete, type a volume label (if you want one), and then press ENTER.

  3. If you want to format other drives, repeat steps 1 and 2.

  4. Remove the floppy disks from all floppy disk drives, and restart the computer by pressing CTRL+ALT+DEL.

Assigning Drive Letters for Removable Media

Whenever a removable media device is present, the Windows 98 volume tracker ensures that the correct media is in the device and reports improper media removal or insertion.

The volume tracker keeps track of removable media in two ways:

  • On non-write-protected disks, the volume tracker writes a unique ID in the disk's FAT header. This ID is different from the volume serial number. 

  • On write-protected disks, the volume tracker caches each disk's label, serial number, and basic input/output system (BIOS) parameter block. 

Windows 98 supports existing removable media with MS-DOS-compatible partitions, which usually are created by using Fdisk utilities from other vendors. You can use Fdisk for Windows 98 to create partitions on removable media that are recognized by the BIOS. Drives that are recognized by the BIOS are also known as INT 13 drives.

Windows 98 does not perform volume tracking based on the volume serial number because all removable media do not have serial numbers or some might have duplicate serial numbers (as is the case with bulk-formatted floppy disks). Therefore, the file system driver must assign unique IDs to removable media the first time there is a request to mount the specific media, unless unique numbers have already been written to the media. These unique numbers identify the media for volume tracking.

You can control the number of drive letters to be reserved during system startup for each removable media drive.

To reserve drive letters for removable media
  1. In the System option in Control Panel, click the Device Manager tab. 

  2. In the hardware list, double-click the item that represents the removable device. Removable drives are typically found under CD-ROM or Disk drives. 

  3. In the Properties dialog box, click the Settings tab. 

  4. In the Reserved Drive Letters area, select a letter in the Start Drive Letter list to define the first drive to be assigned to this device.

    In the End Drive Letter list, select the last drive to be assigned to this device. Click OK

  5. To close the System Properties dialog box, click OK

  6. When prompted, restart the computer. 

The MaxRemovableDrivePartition entry in the registry allocates the drive letters to be used by partitions on removable media. If this entry is not present in the registry, the number of drive letters to be assigned is based on the number of partitions present on the media when the system starts. If no media are present at startup, Windows 98 reserves one drive letter for each of the removable media.

To support variable-sized disks and partitions, Windows 98 recalculates the disk geometry every time a media change is detected. If you insert media with more partitions than specified by the MaxRemovableDrivePartition entry in the registry, a message warns you that some partitions on the media are not accessible in the current configuration and prompts you to increase the value of MaxRemovableDrivePartition.

Converting an Existing FAT16 Drive to a FAT32 Drive

Use the FAT32 Drive Converter to convert your drive to FAT32.

Caution Windows 98 does not include a utility for converting a drive back to FAT16 once you have converted it to FAT32.

Drive Converter (FAT32)
To convert to FAT32 using Drive Converter (FAT32)

Caution The Drive Converter (FAT32) makes changes to the boot record and file allocation tables of any hard disk that is converted.

  1. Click Start, point to Programs, point to Accessories, and then click System Tools.

  2. Click Drive Converter (FAT32). This launches the Drive Converter (FAT32) Wizard. Follow the directions on the screen. 

The Drive Converter (FAT32) named Cvt1.exe, by default is installed in the Windows folder. The Drive Converter (FAT32) program does the following:

  1. Launches the Drive Converter (FAT32). 

  2. Scans your system for applications that may be incompatible with FAT32.

    The list of programs that the Drive Converter (FAT32) will search for are kept in the registry at:
    HKEY_LOCAL_MACHINE \SYSTEM \CurrentControlSet \Control \SessionManager \CheckBadApps400 

  3. Warns you that the system will be restarted and prompts you to save your work. 

  4. Prompts you to specify which drive to convert; only one drive at a time can be converted. 

  5. Prompts you to back up your files. 

Managing the Recycle Bin to Free Disk Space

When you delete a file or directory, it is moved to the Recycle Bin, but it still takes up space on the hard disk. Use one or all of the following methods to ensure disk space is not being used by the contents of the Recycle Bin:

  • Avoid moving items to the Recycle Bin by pressing SHIFT when you use the mouse or keyboard to delete items.

  • Avoid moving items to the Recycle Bin by specifying that items are removed from the disk immediately when you delete them.

  • Empty the Recycle Bin regularly. 

  • Use the Maintenance Wizard to schedule emptying the Recycle Bin on a regular basis. For more information, see Chapter 27, "General Troubleshooting." 

You can also configure the Recycle Bin to use only a set amount of space so that you are prompted to empty the bin more often.

To configure the Recycle Bin
  1. Right-click the Recycle Bin icon, and then click Properties

    Note You can configure properties separately for each hard disk drive on the computer by clicking the option named Configure Drives Independently. 

  2. If you want deleted items to be removed from the Recycle Bin immediately, make sure Do Not Move Files To The Recycle Bin is checked. 

  3. If you want to specify the amount of hard disk space the Recycle Bin can use, drag the slider to the desired percentage.

For more information about the Recycle Bin, see Help.

Using Disk Cleanup

Disk Cleanup presents you with a list of ways that you can get more disk space, including emptying the recycle bin, removing temporary files, and emptying the Internet cache.

Note This utility also appears when a user is running out of hard disk space. If Windows attempts to allocate space on a hard drive (create a file or resize an existing file) and the free disk space drops below a set threshold, a low disk space notification will appear. This notification prompts the user to run Disk Cleanup. The threshold is 25–65 MB, depending on the volume size. The low disk space warning only appears once during a Windows session. The user will see a second warning only when they completely run out of disk space. The out of disk space warning will always appear when Windows attempts to allocate space on a drive that is completely full.

To start Disk Cleanup
  • In My Computer, right-click a drive, click Properties, and then click Disk Cleanup

    – Or – 

    Click Start, point to Programs, point to Accessories, point to System Tools, and then click Disk Cleanup

Disk Cleanup automatically runs when it detects a low disk threshold. It will suggest several options to delete, depending on the disk drive, so that you can free up some disk space. Disk Cleanup will only run once if it detects a low disk threshold until you try to copy a file to the drive or until you restart your computer.

Using Microsoft Backup

Microsoft Backup, a Windows 98 utility for backing up data, provides options for backing up files to removable disks or tapes, restoring from disks or tapes, and comparing backup file sets to files on the hard disk. Microsoft Backup supports the QIC 113 backup tape specification, which includes support for long file names.

For users familiar with the Windows 3.1 Backup utility, the following list describes important differences in Backup under Windows 95 and Windows 98:

  • The Windows 98 version of Microsoft Backup does not support restoring backup sets created by MS-DOS version 6.x Backup utilities. 

  • The recommended method for creating a complete backup file set for the computer is the Full System Backup option. This option automatically selects the files required for a system backup. 

    If you decide to modify the default selections (by clearing the check boxes for some folders), be sure that you select at least the \Windows directory; otherwise, the registry will not be backed up. 

  • When using the Backup tab in the Settings Options dialog box, notice that selecting Differential under the Type Of Backup option causes the utility to back up only files that have changed since the last time Backup was run. With this setting, new files will not be added to the file set and deleted files will not be removed. 

  • Backup has support for parallel, IDE/ATAPI, and SCSI devices. 

  • Backup supports backups to local, removable, and network drives. 

For more information about Microsoft Backup, see Chapter 27, "General Troubleshooting."

To make a Startup Disk
  • Double-click Add/Remove Programs in Control Panel, and then click the Startup Disk tab. 

Defragmenting Disks

Over time, as programs read from and write to a hard disk, information stored on the disk can become fragmented—that is, files are stored in noncontiguous clusters. Fragmentation does not affect the validity of the information—the files are still complete when they are opened. But it takes much longer for the computer to read and write fragmented files than it does for unfragmented files.

To improve file access time, you can defragment uncompressed drives and compressed DriveSpace or DoubleSpace drives.

Disk Defragmenter has been enhanced to make programs start much faster. When a program starts (loads), it typically reads an EXE file and various DLL files. However, only portions of the EXE and DLL files are read during start. Furthermore, these reads are not sequential and jump back and forth, both within the same file and between files. Every one of these non sequential accesses translate to a disk seek and a performance penalty. Windows 98 Disk Defragmenter tries to place disk clusters in the order they are read, so these seeks are eliminated or greatly reduced, shortening the time needed to start the program.

To record the disk access patterns of programs during their startup, Windows 98 uses a process called Task Monitor. Task Monitor automatically monitors programs you use and record their disk access patterns during their start. These records, called log files, are stored in the \Windows\Applog directory. In addition to access patterns, Task Monitor also records the number of times you use programs. This usage information enables Disk Defragmenter to favor more frequently used programs in optimizing the disk.

The format of the log file name is application.lgn, where application is the name of the application and n is the drive letter where the application files reside. Table 10.4 outlines some log file name formats.

Table 10.4 Log file name formats 

File name

Description

Notepad.lgc

Log file for Notepad, which is located on drive C

Word.lgd

Log file for Word, which is located on drive D

Excel.lgd

Log file for Microsoft Excel, which is located on drive D

MSinfo.lgc

Log file for MSInfo, which is located on drive C

When Disk Defragmenter (Defrag.exe) runs, it calls Cvtaplog.exe to gather information from all the lgn files and build an Applog.dtn file, one for each drive. The Applog.dtn file contains information about cluster placement optimization instructions which are read by Defrag.exe. Defrag.exe uses this information to place disk clusters in the optimized order so that programs start up faster.

Important Disk Defragmenter does not work with most third party compression utilities, nor will it work on read-only drives, locked drives, network drives, FFS drives, or drives created with ASSIGN, SUBST, or JOIN.

To defragment a disk drive
  1. Click Start, point to Programs, point to Accessories, point to System Tools, and then click Disk Defragmenter

    – Or – 

    Click the Start button, click Run, and then type defrag

  2. In the Select Drive dialog box, specify the drive that requires defragmentation. 

    Click the Settings button if you want to do any of the following:

    • Rearrange program files so they start faster. 

    • Check the drive for errors. 

    • Choose the above options for this session only or for all sessions. 

  3. Click OK

Tip Showing details while the Disk Defragmenter is running causes it to take longer than it does when showing only summary information or running it minimized. For quickest performance, minimize the Disk Defragmenter window while the utility is running.

To see defragmentation information for a particular drive
  1. In My Computer, right-click the drive's icon.

  2. Click Properties, and then click the Tools tab. 

    The Tools Properties dialog box shows the number of days since the last complete defragmentation process ran on the drive. You can also run Disk Defragmenter from this dialog box. 

Performance with Other Programs

Excessive disk activity by other programs can interfere with defragmentation, and may cause Disk Defragmenter to restart frequently and take an inordinate amount of time to complete. If this happens, close all programs while Disk Defragmenter is running.

Some screen savers cause excessive disk activity. To prevent screen savers from running during defragmentation, either change the screen saver to None from Display in the Control Panel or modify the registry.

Caution Only advanced users and system administrators should use Registry Editor to modify the registry. If you use Registry Editor to change values, you will not be warned if any entry is incorrect. Editing the registry directly by using registry Editor can cause errors in loading hardware and software, and can prevent users from being able to start the computer.

Before modifying registry values, always back up your system. See "Backing up and Recovering the Registry" in Chapter 31, "Windows 98 Registry".

To prevent screen savers from running during defragmentation
  1. Open Registry Editor. 

  2. Create a string named DisableScreenSaver under HKEY_CURRENT_USER \Software \Microsoft \Windows \CurrentVersion \Applets \Defrag \Settings. 

  3. Set its value to yes

Some programs are always running in the background of Windows 98 and are difficult to close. If you closed all programs and Disk Defragmenter still restarts frequently and cannot complete, you may want to run Disk Defragmenter before Windows displays the logon prompt (at this point, most programs have not been started).

To run Disk Defragmenter before Windows displays the logon prompt
  1. Open Registry Editor. 

  2. Go to HKEY_LOCAL_MACHINE \Software \Microsoft \Windows \CurrentVersion\RunServicesOnce, and create a new string value named Defrag

  3. Set the value to defrag.exe 

    – Or – 

    Set the value to defrag with your choice of command line switches. See "Command Line Switches for Disk Utilities" later in this chapter. 

  4. Close Registry Editor and restart your computer. 

Disk Defragmenter runs before the Windows logon prompt with minimal interruptions. Putting this command line under the RunServiceOnce key takes effect only once. Subsequent computer restarts will not cause Disk Defragmenter to run again.

Fine-Tuning Program Start

The Cvtaplog.exe file is called by Defrag.exe to determine the program optimization order and to build the optimization cluster list. The optimization order is recorded in Optlog.txt, which is located in the \Windows\Applog (hidden) folder on your system. The log file lists programs that were used and not optimized, and explains why (see "Flags for Ineligible Programs"). It also records values of various control parameters.

The following is a sample Optlog.txt file:

Program Launch Optimization Log - Created Sat Jan 17 01:00:02 1998

Programs Eligible for Optimization:
Ord Flag ProgName Uses LastExecDate Program Path
1 WINWORD 85 1998.01.15 C:\PROGRAM FILES\MSOFFICE\OFFICE\WINWORD.EXE
2 RUNDLL32 82 1998.01.16 C:\WINDOWS\RUNDLL32.EXE
3 MSPAINT 54 1997.11.22 C:\PROGRAM FILES\ACCESSORIES\MSPAINT.EXE
4 NSPLAYER 47 1998.01.12 C:\PROGRAM FILES\NETSHOW\PLAYER\NSPLAYER.EXE
5 EXCEL 41 1998.01.16 C:\PROGRAM FILES\MSOFFICE\OFFICE\EXCEL.EXE
6 BSHELF98 30 1998.01.16 C:\PROGRAM FILES\REFERENCE\BOOKSHELF 98\BSHELF98.EXE


Programs Ineligible for Optimization:
Ord Flag ProgName Uses LastExecDate Program Path
7 S NOTEPAD 54 1998.01.07 C:\WINDOWS\NOTEPAD.EXE
8 U TAX 10 1997.04.15 C:\TAX96\TAX96.EXE

Control Parameters:
Use app profile = Yes
Minimum log size = 1000
Maximum no use days = 90
Maximum apps = 50

Flags for Ineligible Programs:
S = Log size smaller than <Minimum log size>
U = Program not used for more than <Maximum no use days>
P = No profile for program
E = Associated program no longer exists
D = Log deleted (may be combined with one of the above)

Note that "Programs Eligible for Optimization" are optimized in the order of most used to least used. The program with the highest use is optimized first. A flag (reason) is given for each of the "Programs Ineligible for Optimization."

Control parameters are configurable in the registry.

Caution Only advanced users and system administrators should use Registry Editor to modify the registry. If you use Registry Editor to change values, you will not be warned if any entry is incorrect. Editing the registry directly by using registry Editor can cause errors in loading hardware and software, and can prevent users from being able to start the computer.

Before modifying registry values, always back up your system. See "Backing up and Recovering the Registry" in Chapter 31, Windows 98 Registry.

All control parameters are DWORD values under the HKLM\software\Microsoft\Windows\CurrentVersion\Applets\Defrag\AppStartParams key. In the absence of control parameter settings in the registry, the default value for the parameter is used. The default value and the meaning of each parameter is as follows:

Value Name
Type
Default
Meaning

UseProfile
DWORD
1
0 means do not use task monitor's app profile. When profile is not used, programs are optimized in FindFirst/FindNext order of the Application.lgn files in the \Windows\Applog folder, and the following parameters are ignored.

Value Name
Type
Default
Meaning

MinLogSize
DWORD
1000
Minimum log file size in bytes to qualify for optimization. Programs with log files smaller than this value are not optimized. If UseProfile is 0, this parameter is ignored.

Value Name
Type
Default
Meaning

MaxNoUseDays
DWORD
90
Programs not used for longer this many days do not qualify for optimization. If UseProfile is 0, this parameter is ignored.

Value Name
Type
Default
Meaning

MaxApps
DWORD
50
Maximum number of apps to be optimized. Programs are optimized in descending order of usage counts, up to this max number. If UseProfile is 0, this parameter is ignored.

Value Name
Type
Default
Meaning

ExcludeFiles
SZ
None. Already set up as System.dat\User.dat\System.ini\Win.ini.
A list of files excluded from program start optimization. Certain files, such as System.dat, are better organized contiguously than fragmented for program start optimization. File names are separated by a backslash in this string.

Disk Region Optimized for Program Start

If program start optimization is performed, Disk Defragmenter notes in the registry the boundaries of the disk region optimized for program start. This region is the region of the disk used to store the clusters for the program start optimization and may look to other disk optimization programs as being heavily fragmented. Programs can query the registry for the boundaries of this region, and then will leave this region alone.

Under the HKEY_LOCAL_MACHINE \software \Microsoft \Windows \CurrentVersion \Applets \Defrag \AppStartParams key is an entry for each drive optimized for program start. The entry is written when Disk Defragmenter completes defragmenting the drive. The entry name is a single letter specifying the driver letter. Its value is a pair of DWORDs specifying the first cluster and the last cluster of the region respectively. For example, the following entry as displayed by Registry Editor says on drive C, the disk region optimized for program start is clusters 0x00000003 to 0x000033F5:

C 03 00 00 00 F5 33 00 00

Using ScanDisk

ScanDisk is a full-featured disk analysis and repair program. ScanDisk has been upgraded to recognize and fix issues with FAT32 drives. You can use ScanDisk on both uncompressed and compressed drives. ScanDisk will check compressed drives created with third-party compression software, but will do so as if they are uncompressed. ScanDisk cannot check the compression integrity of third party compression programs. ScanDisk can, however, provide a detailed analysis of compression structures on DoubleSpace and DriveSpace drives.

Windows 98 provides two versions of ScanDisk: a graphical Windows-based version (Scandskw.exe) that you can run from the Start menu or from Windows Explorer, and an MS-DOS-based version (Scandisk.exe) that is contained in the \Windows\Command folder. Running Scandisk.exe while in Windows will invoke Scandskw.exe.

Note ScanDisk cannot find or fix errors on CD-ROM drives, network drives, or drives created by using assign, subst, join, or interlnk.

ScanDisk checks and fixes problems in the following areas on hard disk drives, floppy disk drives, RAM drives, and memory cards:

  • FAT16 and FAT32. 

  • Long file names. 

  • File system structure (lost clusters, cross-linked files). 

  • Directory tree structure. 

  • Physical surface of the drive (bad sectors).

  • DriveSpace 3 or DoubleSpace volume header, volume file structure, compression structure, and volume signatures.

Tip You can add ScanDisk to the Windows Maintenance Wizard List. For more information, see Chapter 27, "General Troubleshooting."

You can place ScanDisk in Task Scheduler so that it is run at regularly scheduled times. You can also run ScanDisk from the Tools Properties dialog box for a drive. To do this, right-click that drive's icon, click Properties, and then click the Tools tab. Click the Check Now button to begin running ScanDisk.

ScanDisk can check and repair mounted DriveSpace 3 or DoubleSpace drives. You can run ScanDisk from the command prompt to check and repair unmounted compressed volume files (CVFs). When you run ScanDisk to check a compressed drive, by default, ScanDisk checks the host (physical) drive first. In general, you should allow it to do so because an error on the host drive could cause problems with the compressed drive.

To run ScanDisk
  1. Click Start, click Run, and type scandisk

  2. Click the drive you want to analyze or repair.

    In the Type Of Test area, click Standard or Thorough.

    • Standard checks the files and folders on the selected drive for errors.

    • Thorough checks files and folders for errors, but it also checks the physical integrity of the disk's surface.

  3. If you do not want ScanDisk to prompt you before repairing each error it finds, make sure Automatically Fix Errors is checked. 

  4. If you are running a thorough test, click the Options button to specify which areas of the disk to check or which type of processing to perform. Select the options you want to use, and then click OK

  5. Click Advanced to set advanced options as needed, and then click OK. For more information about each option, see Help. 

  6. To begin checking the disk, click Start

To run ScanDisk on unmounted CVFs
  • Boot the computer to an MS-DOS command prompt, change to the drive that contains the unmounted CVF, and type the following command: 

    scandisk drvspace. nnn  

    – Or – 

    scandisk dblspace. nnn 

    where nnn is a number. This starts an MS-DOS session and runs ScanDisk on the corresponding DriveSpace 3 or DoubleSpace CVF. 

Using Disk Compression

A compressed drive is not a real disk drive, although to most programs it appears to be. Instead, a compressed drive exists on the hard disk as a compressed volume file (CVF). A CVF is a file with read-only, hidden, and system attributes, and that contains a compressed drive. Each CVF is located on an uncompressed drive, which is referred to as the CVF's host drive. A CVF is stored in the root directory of its host drive and has a file name, such as Drvspace.000 or Dblspace.000.

Note DriveSpace 3 included with Windows 98 has been modified to recognize FAT32 drives, but it will not compress them.

CVFs can store more data than the space they use on their host drives; for example, a typical CVF might use 100 MB of space on its host drive but contain 200 MB of compressed data. DriveSpace 3 assigns a drive letter to the compressed volume so that you can use it as a disk drive and can access the files it contains. The host drive will have a separate drive letter (although it might be hidden).

Caution Do not tamper with a CVF. If you do, you might lose all the files on the compressed drive.

With Windows 98 DriveSpace 3, you can compress drives and manage drives compressed with DriveSpace 3 or DoubleSpace. (You can even have drives of both compression types on your computer.)

When Windows 98 is installed, Setup replaces the Dblspace.bin or Drvspace.bin file in the root directory of the boot drive with versions that can be unloaded during the system startup process and replaced with Drvspacx.vxd.

Using DriveSpace 3 for Disk Compression

Using DriveSpace 3, you can compress and uncompress data on floppy disks, removable media, or hard disk drives. DriveSpace 3 frees space on disks by compressing the data or space the disks contain. The first time you use DriveSpace to compress data or space on a drive, the disk will have 50 to 100 percent more free space than it did before.

DriveSpace 3 contains these enhancements over Windows 95 DriveSpace:

  • Enhanced compression with support for compressed drives up to 2 GB using a 32 KB cluster size. 

  • Support for storing compressed data for a cluster in multiple fragments when there are not enough contiguous sectors on the disk to store the entire cluster. 

  • Compression of up to 20 percent faster on Pentium-based computers. Other x86-based computers should also run faster with DriveSpace 3 when the compression is configured for best performance.

  • DriveSpace 3 settings for specifying whether to use compression, what type of compression to use, and how to use it. 

  • Support for compression enhancements on existing drives. 

You can use a compressed drive just as you did before compressing it. In addition, DriveSpace 3 creates a new uncompressed drive, called the host drive, where it stores the CVF. If the host drive contains any free space in addition to the CVF, you can also use it to store files that must remain uncompressed.

As with earlier CVF versions, a DriveSpace 3 CVF has a name in the form: Drvspace.nnn, where nnn is the CVF sequence number in the range 000 through 254.

Windows 98 also places drive-specific compression information (and the tools to manipulate it) where you would expect to find it: in the drive's properties. (System-wide compression settings and functions are still available in the DriveSpace 3 programs.) To present this information, a Compression tab is added to the Property dialog boxes for all local hard and floppy disk drives, except compressed drives created by software from other vendors. Uncompressed drives that are hosts for one or more compressed volume files also have a Compression tab added to their properties. For hidden host drives, you must use the DriveSpace 3 program to view information about the drive.

Using Compression Agent

Compression Agent gives you the following compression choices:

  • Whether specified files should be in UltraPack format, and whether to downgrade a file from UltraPack format. 

  • Whether individual files, folders, or file types should be compressed and, if so, with what method. 

  • Whether to use compression for the rest of your files and, if so, which type. 

You can start Compression Agent manually or have Task Scheduler start it automatically. You can also use the Maintenance Wizard to schedule Compression Agent. Compression Agent uses the Windows 98 Last Access Date to determine which files have not been used within a defined time, but does not modify the Last Access Date for any files.

How Compression Works with DriveSpace 3

DriveSpace 3 compresses data in 32 KB blocks (instead of 8 KB blocks used for Dblspace or Drvspace), and supports two levels of compression: HiPack and UltraPack.

HiPack compression uses the same encoding format as standard compression.

UltraPack format offers better compression than standard or HiPack compression, but files compressed in UltraPack format are slower to decompress. UltraPack compression is available by running Compression Agent. You cannot configure DriveSpace to save files in UltraPack format automatically. And, because UltraPack encoding format uses DriveSpace 3 CVFs, Drvspace.bin and Drvspacx.vxd must be installed to read the CVFs.

DriveSpace 3 for Windows 98 can create a compressed drive of up to 2 GB. You can also create a new compressed drive from the free space on an uncompressed drive that is part of a unremovable FAT16 hard disk. After compression, you will notice that the uncompressed drive contains less free space than it did before. This space is now being used by the new compressed drive, which is stored in a hidden file with a file name, such as Drvspace.001.

Tip The registry can reside on compressed drives that were created by "preload" compression software such as Stacker 4.0, DoubleSpace, DriveSpace 3, and AddStor SuperStor/DS.

A swap file can reside on a compressed drive if a protected-mode driver (that is, Drvspace.vxd) controls the compressed drive. DriveSpace 3 marks the virtual memory as uncompressible.

If your swap file is on a compressed drive created by a real-mode compression drive, you should move the swap file to another drive, such as the host drive.

For more information about changing the location of your swap file, see Chapter 26, "Performance Tuning."

Example

Suppose you have a 200 MB hard disk with 100 MB of data on it. Uncompressed, this disk has 100 MB of free space. You can increase the amount of disk space in either of two ways:

Use DriveSpace 3 to compress both the data and the free space on the disk. Because DriveSpace 3 reports file sizes of compressed files as though they were uncompressed, the disk is now a 400 MB disk with 100 MB of data and 300 MB of free space.

Create a new compressed drive from free space on the hard disk. DriveSpace 3 will report that you have two drives, one with 200 MB of free space and the other with 100 MB of data and no free space. (You can also create an empty drive using only part of the available free space.)

The compression policies specified in the Compression Agent Settings dialog box control the policy used to compress files. However, you can also force or prevent a particular compression type on a particular file, or set of files, or folders, based on the following exceptions to the default compression policy:

  • Never compress.

  • Always compress with UltraPack format.

  • Always compress with HiPack format.

The following shows the Compression Agent command line syntax:

cmpagent [ drive : | /all] [/noprompt] 

The following list describes the parameters for this command:

Parameter

Description

drive:

Specifies drive to be recompressed.

/all

Specifies all local, fixed drives that are compressed.

/noprompt

Runs without waiting for the user to click Start, and without displaying a summary at the end. Errors are displayed. This switch can be shortened as /nop.

Fine-Tuning Compression

You typically use the default values for compression, which specify using standard or no compression when saving files. Set Task Scheduler to run Compression Agent when the computer is not busy. Compress seldom-used files into UltraPack format and all other files into HiPack format. While deciding which methods and formats to use, consider whether you want maximum disk space or maximum system performance.

Maximizing hard disk space on a computer 

Specify that UltraPack format be used to compress most files. (UltraPack format is recommended for Pentium-based computers.) Specify that files be compressed as they are saved. If your computer is fast, specify that HiPack format be used.

Maximizing system performance 

Files compressed in UltraPack format are slower to decompress—if you access a document or run an application that is compressed in UltraPack format, you must wait before you can begin to work again. For slower computers that require maximum performance, use Task Scheduler and Compression Agent to specify that all compression is done while the computer is idle instead of compressing files as they are saved.

Suggestions for defining maximum performance: Use DriveSpace 3 to specify that compression occurs only offline (when files are not being saved) or only when disk space is low. Specify a high threshold for UltraPack (for example, compress files not accessed for 30 days or more). Set exceptions for files that should not be compressed in UltraPack format (for example, do not compress executable files).

Note If you choose not to compress files as they are saved, or to compress files only when disk space is low (using Depends On Free Space), the system reports free space as though files will not be compressed. As a result, the computer appears to have less free space than when files are compressed as they are saved. However, if you use Compression Agent regularly, you will be able to store the same amount of data in this space.

Although the option to compress a drive provides more usable space, the process takes longer than creating a new compressed drive because DriveSpace 3 has to compress the data on the drive.

Important Before you use DriveSpace 3 to compress a drive, you should back up the files the drive contains.

To compress a drive
  1. Click Start, click Run, and then type drvspace

  2. In DriveSpace 3, click the drive you want to compress. 

    Cc768180.wrk0o12(en-us,TechNet.10).gif 

  3. Click the Drive menu, and then click Compress

    The Compress a Drive dialog box appears, listing the drive it is about to compress. 

  4. If you want to specify the drive letter or free space to leave available for the host drive, and whether the host will be hidden, click Options.

    Make modifications in the Compression Options dialog box as needed, and then click OK

    Note By default, DriveSpace 3 hides the host drive if the amount of free space is 2 MB or less.

  5. Click Start to continue. 

  6. DriveSpace 3 prompts you to create a Startup Disk. Click Yes or No

  7. DriveSpace 3 prompts you to back up your files. If you want to back them up at this time, click Back Up Files

  8. To start compression, click Compress Now.

DriveSpace 3 checks the drive for disk errors, and then it compresses the drive. This process can take from several minutes to several hours, depending on the speed of the hard disk and processor and on the amount of data the hard disk contains. Because DriveSpace 3 checks and rechecks the validity of the data as it compresses files, the process is very safe. In fact, if the compression process is interrupted accidentally (for example, by a power outage), DriveSpace 3 recovers and continues without losing any data.

If any files are open on the drive, DriveSpace 3 will prompt you to close them. For drives that always have files opened (such as the drive containing Windows 98 or the drive containing a swap file), DriveSpace 3 will restart the computer and use a limited version of Windows in place of Windows 98 while it compresses the drive. To do this, a directory named Failsave.drv is created that contains the system files required for this operation. After compression, your computer will restart again, this time with Windows 98. When the compression is completed, DriveSpace 3 shows how much free space is available on the drive.

To create a new compressed drive
  1. In DriveSpace 3, click the drive that has free space you want to use to create the new compressed drive. 

  2. Click the Advanced menu, and then click Create Empty

  3. If you want to leave some free space on the original drive, decrease the value in the Using box. 

  4. To start compression, click Start

To uncompress a drive
  1. In DriveSpace 3, click a drive to uncompress. 

  2. Click the Drive menu, and then click Uncompress

  3. To start uncompressing, click Start

    If there is not enough space on the host drive to contain the uncompressed files, DriveSpace 3 displays a warning. Otherwise, DriveSpace 3 prompts you to back up files and shows the status of the process as it progresses. 

Note If you try to change the size of a drive that was mounted with a real-mode DriveSpace 3 or DoubleSpace driver, you will be prompted to restart the computer so that the drive can be remounted under Windows 98. This will also occur for other operations using the real-mode DriveSpace 3 driver.

Fine-tuning Storage Space

On an uncompressed drive, free space indicates how much additional data you can store on that drive. For example, if a drive has 2 MB of free space, you can expect to fit 2 MB of data on it. However, the free space on a compressed drive is only an estimate of how much data you can fit on that drive.

When you store a file on a compressed drive, DriveSpace 3 compresses the file so that it takes up as little space as possible. Some files can be compressed more than others; for example, a text file can be compressed much more than a program file. DriveSpace 3 cannot detect the compressibility of files you have not stored yet, so it only estimates a compressed drive's free space.

DriveSpace 3 estimates a drive's free space by using the estimated compression ratio, which you can set to specify the compressibility of the files you plan to store. For example, if the estimated compression ratio is 3-to-1, DriveSpace 3 calculates the drive's free space based on the assumption that each file to be stored can be compressed to one-third its original size.

Usually, the best compression estimate to use is the actual compression ratio for the files already stored on the drive. Sometimes you might want to reset the estimated compression ratio of each drive to match that drive's actual compression ratio.

You might want to change the estimated compression ratio if it differs greatly from the actual compressibility of the files to be stored. For example, if you plan to store extremely compressible files, such as bitmap files, you might want to specify a higher estimated compression ratio.

Changing a drive's estimated compression ratio does not affect how much DriveSpace 3 actually compresses the files on that drive; it changes only the way DriveSpace 3 estimates the free space on the compressed drive.

To change the estimated compression ratio
  1. In DriveSpace 3, click the compressed drive you want to change.

  2. Click the Advanced menu, and then click Change Ratio.

  3. In the Compression Ratios area, type a new ratio box or drag the slider to the desired ratio. Click OK

You can also adjust the amount of free space for a compressed drive or its host drive. This is equivalent to changing the size of the compressed drive and its CVF. When you increase free space on a compressed drive, you decrease it on its host, and vice versa.

To change the amount of free space on a drive
  1. In DriveSpace 3, click the drive on which you want to change the amount of free space. 

  2. Click the Drive menu, and then click Adjust Free Space.

  3. In the Adjust Free Space dialog box, type a new value or use the slider to adjust the amount of free space available on the compressed and host drives. Click OK

Using Task Scheduler

Task Scheduler is an application for scheduling programs to run at specific times. Programs can be scheduled to run based on several criteria, such as time and date, or a range of times, or whether the computer is idle or is not running on batteries. Task Scheduler supports options for specifying when Compression Agent, Disk Defragmenter, ScanDisk, and other programs will run.

Example

You might use Task Scheduler to do the following:

  • Dial-in to an online service during off-peak hours, look for certain topics, download the results, and hang up. 

  • Run a spreadsheet application such as Microsoft Excel, and use one or more macros to perform extensive computations on worksheets. 

  • Designate that ScanDisk run a standard test nightly and a thorough test monthly. 

For more information about using Task Scheduler, see Chapter 27, "General Troubleshooting."

Technical Notes on Disk Device Support

Cc768180.spacer(en-us,TechNet.10).gif Cc768180.spacer(en-us,TechNet.10).gif

Win32 Driver Model (WDM) defines a device-driver architecture that provides a common set of I/O services understood by both Windows 98 and future versions of Windows NT. With WDM, developers can write a single bus driver or device driver for both operating systems.

The ability to have binary-compatible device drivers comes from the layered architecture. Each layer isolates portions of the services required of a device driver and lets hardware vendors contain all hardware-specific functionality into a single file. Before WDM, device drivers had to include hooks for a particular operating system in addition to the elements necessary to interact with a specific piece of hardware. The non-layered approach prevents device drivers from being supported across multiple operating systems.

The WDM layered architecture is based on the concept of driver classes. There are six layers to WDM.

  • Device Class Drivers 

  • Device Minidrivers 

  • Bus Class Drivers 

  • Bus Minidrivers 

  • OS Services (Ntkern.vxd) 

  • Virtual Device Drivers (legacy .vxd's) 

Windows 98 uses the layered block device drivers to manage input and output to block devices, such as disks and CD-ROM drives. A block device is a device such as a disk drive that moves information in groups of bytes (blocks) rather than one byte at a time. Layered block device drivers are 32-bit, flat-model device drivers that run in protected mode. These drivers support conventional and small computer system interface (SCSI) disk drives, plus partitioned and non-partitioned removable media. Windows 98 also uses layered block device drivers to manage Windows 3.x FastDisk drivers, MS-DOS-based real-mode device drivers, and Windows NT miniport drivers.

Each layered block device driver can be loaded dynamically, so the appropriate driver can be loaded or unloaded as needed without restarting the computer. Although the drivers are virtual device drivers (VxDs), they do not use the standard virtual device services and APIs. Instead, the I/O Supervisor provides the services and functions the device drivers need to complete their tasks.

Specifically, the block I/O subsystem in Windows 98 provides the following:

  • Architecture to support all Plug and Play features. 

  • Support for miniport drivers that are compatible with Windows NT. 

  • Compatibility support for Windows 3.1 FastDisk drivers and MS-DOS-based real-mode device drivers. 

  • Protected-mode drivers that take over real-mode MS-DOS-based device drivers when it is safe to do so. 

For more information about the block I/O subsystem, see Chapter 28, "Windows 98 Architecture." For more information about WDM, see Chapter 30, "Hardware Management."

Supported Disk Devices

Windows 98 provides better disk device support than Windows 95 and ensures compatibility with existing MS-DOS-based and Windows-based disk device drivers.

Windows 98 also provides enhanced support for large media using logical block addressing, including hard disks with more than 1024 cylinders. Extensions to the INT 13 disk controller support are provided in the protected-mode disk handler drivers for this support.

The following types of hard disk drives are supported under Windows 98:

IDE
IDE DMA

IDE LBA
SCSI

The following types of bus adapters are supported under Windows 98:

EISA
ISA
MCA

PCI
PCMCIA

SCSI 2
VL bus

The following sections describe support in Windows 98 for IDE, SCSI, high-speed floppy disk, and removable media devices. Information about SCSI and non-SCSI port drivers is also included.

IDE Drives and Controllers

Windows 98 provides improved support for integrated device electronics (IDE) drive configurations, as summarized in this section.

Alternate IDE controllers. Windows 98 provides protected-mode support for the use of one or more IDE controllers in a computer, or the combination of an IDE controller in a portable computer and an alternate controller in a docking station (available, for example, in some Compaq docking station products). IDE controllers provide support for multiple disk drives.

IDE-based CD-ROM drives. Windows 98 supports CD-ROM drives that connect to IDE-compatible disk controllers.

Large IDE disk drives. IDE drives that support a logical block addressing (LBA) scheme are available, allowing them to exceed the 0.5 GB (528 MB) size limitation. Windows 98 provides protected-mode support for IDE disk drives larger than 504 MB.

Note The BIOS must also support LBA, otherwise third-party partitioning software is required.

The cluster size for a drive is defined by the Format program, depending on the size of the local drive as shown in Table 10.2.

Bus mastering chip sets. Windows 98 provides support for bus mastering chip sets, such as Intel Triton and Opti Viper M.

Note Bus mastering should only be enabled for specific hard drive models that are certified by their manufacturer to work properly with a Windows bus master driver. The drives must indicate that they support direct memory access (DMA) in the drive ID data. Check properties in the disk drive to see if a check box for DMA appears, which indicates that the controller supports DMA. However, it is a good idea to check with the hard disk manufacturer to see if the hard drive supports DMA.

Self-monitoring analysis and reporting technology (SMART). Windows 98 provides support for SMART hard-drive fault prediction systems, which have been developed by several hard drive vendors.

Tape backup units. Windows 98 provides support for IDE, floppy, and SCSI tape backup units.

ATAPI-CD changers. Windows 98 provides support for ATAPI-CD changers with up to seven CD slots.

CD-ROM Disk Driver

The file Ppa3.mpd for the parallel Zip drive is included on the Windows 98 compact disc, in the drivers section of \Storage\Iomega\PPA3 (you can update the driver manually). The drivers Cdfs.vxd and Cdvsd.vxd are updated to include support for the following:

  • ISO-9660 format compact discs greater than 4 GB in size. 

  • CD-ROM file system (CDFS) read-ahead now supports slower hardware and applications that access the compact disc randomly. 

  • CDI disks with appropriate application software. 

DVD Storage

DVD-ROM drives as storage media are supported by Windows 98. To use a DVD-ROM drive, it must be compliant to the Mt. Fuji specification (also called SFF8090). The CD-ROM class driver in Windows 98 has been updated to support DVD-ROM drives as well.

All DVD-ROM drives are required to support DMA. To enable support for DMA, go to the Device Manager tab, select Properties for the drive, select the DMA check box, and reboot to run on DMA.

Windows 98 has a new read-only Universal Disk Format (UDF) system, which supports reading media formatted according to UDF specification 1.02. Most DVD movie discs today are authored with UDF bridge format, which contains both the ISO-9660 and the UDF file system structures. You can tell if a disc is mounted by UDF or CDFS by checking the properties of a drive in Explorer. In My Computer, right-click on a drive, and then click Properties. The File System line in the properties page tells you whether the disc is mounted by UDF or CDFS.

Unlike CDFS, UDF is a generic file system, but it is primarily used by DVD discs. UDF uses the main file system cache (vcache) and there are no performance settings for end users to change.

Some legacy third-party DVD movie player software may require MSCDEX functions, which are supported by CDFS only and not UDF. Use the following procedure to disable UDF for troubleshooting.

To disable UDF for troubleshooting
  1. Click Start, click Run, type MSConfig, and then click OK

  2. Click Advanced, and then select the Disable UDF file system check box. 

    When you are finished troubleshooting, clear the Disable UDF file system checkbox to enable UDF file system. 

For more information about the System Configuration Utility (MSConfig), see Chapter 27, "General Troubleshooting."

Although most DVD discs contain both ISO 9660 and UDF file system structures, UDF takes precedence in mounting such discs. If UDF is disabled using the above registry key, CDFS will try to mount. However, Microsoft DVD playback software requires UDF be mounted on DVD discs.

SCSI Devices and Drivers

Windows 98 provides support for SCSI disk devices. SCSI support in Windows 98 includes disk SCSI translator drivers, the SCSI Port Manager, and SCSI miniport drivers.

  • A disk SCSI translator driver (also called a SCSI'izer) is responsible for constructing SCSI command descriptor blocks for a specific device class and carrying out device-level error recovery and logging. There are two of these drivers (one for each class): one for SCSI hard disk devices and one for CD-ROM devices. 

  • SCSI Port Manager manages the interaction between the SCSI'izer and a SCSI miniport driver, initializes the miniport driver, converts the I/O request format, and provides other services for the miniport driver.

  • The SCSI miniport driver is responsible for detecting and initializing a specific set of SCSI adapters. The driver also handles interrupts, transmits I/O requests to the device, and carries out adapter-level error recovery and logging. Windows 98 supports the use of Windows NT miniport SCSI drivers without modification or recompiling. Compatibility with Windows NT–based miniport drivers ensures broad device support for disk devices under Windows 98, while simplifying the driver development efforts for hardware manufacturers. 

Windows 98 provides broad support for popular SCSI controllers. Windows 98 includes 32-bit disk device drivers for popular SCSI controllers from Adaptec, Future Domain, and other manufacturers. Windows 98 also provides compatibility support for the Advanced SCSI Programming Interface (ASPI) and Common Access Method (CAM), which allows application and driver developers to submit I/O requests to SCSI devices. This allows existing MS-DOS-based applications and drivers that use the ASPI or CAM specification to work properly under Windows 98. Windows 98 also includes 16-bit and 32-bit drivers to support Windows-based ASPI clients and applications.

Although Windows 98 can use Windows NT miniport drivers, the best choice for a SCSI driver is one that complies with Plug and Play. Most Windows NT miniport drivers ignore configuration information from the SCSI Manager and check I/O ports to identify hardware. Miniport drivers in Windows 98 must honor configuration information without scanning for other adapters if the configuration information is not the default configuration. This is because many adapters supported under Windows 98 have port ranges that conflict with other adapters and are affected adversely by scanning. For example, Artisoft LANtastic network adapters occupy a range of port addresses used by Adaptec 154X adapters, and accessing these ports will cause the system to lock up.

Windows 98 provides several .MPD files with Plug and Play capabilities, including the ability to transition from protected mode to real mode (to support MS-DOS-based applications that must run in MS-DOS Mode) and to accept configuration information from the SCSI Manager for dynamically loading and unloading drivers.

High-Speed Floppy Disk Driver

Windows 98 includes the Hsflop.pdr floppy disk driver. The driver provides significantly enhanced performance on many machines.

Windows 98 provides protected-mode support for communicating with floppy disk controllers. Windows 98 provides INT 13 hard disk controller support as 32-bit device drivers, which results in improved performance, stability, and system robustness.

Windows 98 provides floppy disk controller support as a 32-bit device driver, and offers improved performance for file I/O to floppy disk drives, plus improved reliability of the system. You can format a disk or copy files to and from a disk while performing other tasks.

Tip Windows 98 scans for floppy drives on each boot, which is helpful for laptops and other computers from which the floppy can be removed. If you are on a desktop with a floppy drive that is stationary, you can turn this option off to speed up boot time.

  1. From Control Panel, click System, and then click the Performance tab. 

  2. Click File System, and then click the Floppy Disk tab. 

  3. Uncheck the box next to Search for new floppy disk drives each time your computer starts

  4. Click OK.

Removable Media and Docking Devices

Windows 98 provides protected-mode support for removable media devices with MS-DOS-compatible partitions, including floppy disk drives and controllers, Bernoulli drives, and CD-ROM, plus docking stations for portable computers. Windows 98 allows the system to lock or unlock the device to prevent the media from being removed prematurely.

Windows 98 also supports an eject mechanism for devices that support it, so that users can use software control to eject media from a device (for example, new floppy disk drives that support software-based media ejection).

Docking refers to the insertion or removal of a device in the system. Devices that can be docked include almost anything, depending on the hardware—monitors, network access, removable hard disk drives, or any removable resource. A docking station is a base unit into which you can insert the portable hardware and that includes drive bays, expansion slots, and additional ports. Port replicators can also be used as docking station substitutes that provide extra functionality not available in the portable docking device.

If a docking change occurs in the computer configuration during operation, such as the insertion of a portable computer into the docking station, the system is notified so that the new device can be configured and applications can be notified of the change.

Windows 98 supports "hot" docking, where the device can be docked or undocked while running at full power, and "cold" docking, where the device must be powered off or restarted before the device can be docked or undocked. Legacy portable computers use cold docking.

In addition, some devices require certain preliminary steps before they can be docked or undocked. For example, if you have a file open and decide to remove the hard disk, the file must be closed. To handle these situations, Windows 98 supports different undocking systems, depending on the type of hardware:

  • Auto-ejection, which is a software interface that operates a VCR-type ejection mechanism, allowing Windows 98 to request user action to resolve any open resources. The user can save files, and so on, before the system ejects the dockable resource. 

  • Manual ejection, where the user undocks the resource without using any software interface. Because the system cannot be notified when this occurs, any closing of files or other actions must be performed manually to prevent loss of data. 

Hardware Profiles are used to set up multiple hardware configurations. This is especially useful for laptops that have docking stations or workstations with removable storage media.

Hardware Profiles are automatically created for portable computers when the system is docked or undocked. Furthermore, a new Hardware Profile would be created if the portable computer is placed in a different docking station.

LS-120 Support

The real mode MS-DOS kernel, protected mode, file system components, and the various formatting utilities are updated to support the LS-120 (120 MB) floppy drives built into some computers.

Non-SCSI Port Drivers

A non-SCSI port driver usually works with a specific adapter, so the driver is retained in memory only if the related adapter is present in the system. Windows 98 includes, for example, port drivers for IDE, ESDI, or floppy disk drives.

A port driver provides the same functionality as the SCSI Manager and miniport driver, but these drivers are monolithic and are not portable to Windows NT. A port driver manages and controls the adapter for a given block device. The port driver detects and initializes the adapter, handles interrupts, transmits I/O requests to the device, and carries out adapter-level error recovery and logging.

Important Do not use a device= entry in System.ini to load a port driver. Windows 98 loads appropriate drivers from the System\Iosubsys subdirectory in the \Windows directory.

Master Boot Record

When the computer is powered on, a mechanism is required to manipulate interrupts, find the hard disk(s), and launch code necessary to load drivers located on the boot drive. This mechanism is contained in the Master Boot Record (MBR). The MBR of a hard disk resides at the first physical sector of the disk: track 0, side 0, sector 1.

The MBR is divided into five sections: Jump Code, Error Messages, Free Space, the Partition Tables, and Ending Signature. Table 10.5 outlines some of the more important components of the MBR.

Table 10.5 Important components of the MBR 

Area

Functions or purpose

Jump Code: 139 bytes

Load MBR into memory
Enable interrupts
Scan disk characteristics
Find C: drive
Load boot sector from C: drive

Error Messages: 80 bytes

Invalid Partition Table
Error loading operation system
Missing operating system

Free Space: 227 bytes

 

Partition Tables: 64 bytes

Active partition
Starting head, sector, and cylinder
Partition Type
Ending head, sector, and cylinder
Total number of sectors on this partition

Ending Signature: 2 bytes

Define the MBR boundary

If one of the values becomes corrupted, the system probably will not boot. Likewise, if a new value is introduced by an operating system and an existing software utility does not understand the new value, there is a possibility of data corruption.

The area of the MBR that has changed for FAT32 is the Partition Table. The Partition Table is divided into four 16-byte entries. Inside the Partition Table is the Partition Type. This entry is important for identifying the partition structure for the operating system. In order for FAT32 to accomplish its new capabilities, the MBR contains the following two new Partition Types:

DOS32. Defines primary 32-bit FAT partitions of up to 2,047 GB. It is used when the primary partition does not require logical block addressing (LBA) to access that partition. LBA is a method of accessing hard disk drives based on the extensions of INT 13.

DOS32X. Defines 32-bit FAT partitions of up to 2,047 GB. It is used when any portion of either the primary or extended partition is beyond 1,024 cylinders, 63 sectors per track, and 16 heads, and requires LBA to access. These new 32-bit FAT partition types cannot be accessed through MS-DOS 6.x or earlier.

The Legacy Boot Sector

The Boot Sector is the first sector on every logical drive. The Boot Sector contains a table of that drive's characteristics and the code that boots the operating system. When the system starts, this code is loaded into memory where it loads the operating system files from the disk. The remainder of the Boot Sector is boot code and error messages.

The following is the first 64 bytes of a typical Boot Sector on a logical drive. Table 10.6 details some of the more important entries. All values are in hex, not decimal.

EB 3E 90 4D 53 57 49 4E-34 2F 31 00 02 04 01 00 .>.MSWIN4.1.....
02 00 02 00 00 F8 CA 00-23 00 0C 00 23 00 00 00 ........#...#...
B1 28 03 00 80 00 29 88-98 24 1D 20 20 20 20 20 .(....)..$.
20 20 20 20 20 20 46 41-54 31 36 20 20 20 F1 7D FAT16 .}

Table 10.6 Important characteristics of the Boot Sector 

Length

Contents

3 bytes

Jump to boot code.

8 bytes

Windows name and version.

2 bytes

Bytes per sector.1

1 byte

Sectors per cluster (always a power of 2).1

2 bytes

Number of reserved sectors before the first FAT.1

1 byte

Number of FATs.1

2 bytes

Number of root directory entries (max limit).1

2 bytes

Total number of sectors (00 00 if the drive is greater than 32 MB).1

1 byte

Media descriptor; here it is F8, which identifies this disk as a hard drive of any capacity.1

2 bytes

Number of sectors per FAT.1

2 bytes

Number of sectors per track.1

2 bytes

Number of heads.1

4 bytes

Number of hidden sectors.1

4 bytes

Number of sectors if drive is greater than 32 MB.1

1 byte

Drive number; here it is 80, which means primary partition.

1 byte

RESERVED.

1 byte

Extended boot signature (always 29h).

4 bytes

Volume ID number.

11 bytes

Volume label.

8 bytes

Type of file system (12-bit FAT or 16-bit FAT).

1 This portion of the Boot Sector is known as the BIOS Parameter Block (BPB). It offers physical disk characteristics that MS-DOS/Windows use for finding specific disk locations. For example, by adding or multiplying values together, it gives details as to where the FAT, root directory, and data area begin and end.

For more information about the Boot Sector, see the Microsoft Programmer's Reference. It contains detailed information about each of the values previously mentioned.

Changes to the Boot Sector

The number of reserved sectors before the first FAT is 1. This is the Boot Sector itself. FAT32 drives usually contain 32, but can vary based on how the drive is set up.

New Boot Sector BIOS Parameter Block

A FAT32 BIOS Parameter Block (BPB) is larger than a standard BPB and is referred to as Big FAT BIOS Parameter Block (BF_BPB). With this additional information, the Boot Sector is now two sectors since it is not possible to fit the boot code into 512 bytes. This additional sector is located in one of the 32 reserved sectors.

The BF_BPB is an extended version of the 12-bit and 16-bit FAT BPB. It contains an identical structure to a standard BPB, but also includes several extra fields for FAT32-specific information. Changes in the BPB for FAT32 include the following:

Root Directory Field. This entry contains the number of root directories. For hard drives this has always been 512 (00 02h). This field is changed to 00 00 and is ignored on FAT32 drives.

Sectors Per FAT. The number of sectors per FAT entry in the original BPB is changed to zero. This acts as a pointer to the entry in the BF_BPB as the boot process moves to the BF_BPB.

Drive Description. New to FAT32 is a 2 byte field called Drive Description that determines the number of FATs on a drive. These 2 bytes set the flags to determine whether there is one or two FATs on the drive. If set, there is only one FAT. If the flag is clear, there are two FATs. FAT32 created by the FORMAT command will always create two FATs.

First Root Directory Cluster. The root directory size is now limited to 65,535 entries, can grow just like a sub-directory, and its location is flexible. This value points to the cluster number of the first cluster of the root directory of the FAT32 drive.

File Information Sector. This entry points to the second sector of the Boot Sector that contains the total free and most recently allocated cluster on the drive. This allows a FAT32 volume to obtain the quantity of free clusters on a volume as well as the most recently allocated cluster without having to read the entire FAT.

Backup Copy of Boot Sector. Another important change to Boot Sector processing is a backup copy of the Boot Sector. With previous versions of the FAT file system, users worked in a "single point of failure" scenario. That is, if the Boot Sector became corrupted or unreadable, the volume would stop working. FAT32 has made adjustments to offset this potential problem.

When Fdisk writes to the boot volume that has a change, and that volume is using a FAT32 partition ID, Fdisk will write a backup Boot Sector to sector 6 of that volume. If the new MBR receives a read error, or has a signature validation problem with reading the Boot Sector, it will search sector 6 and try reading the rest of the bootstrap loader.

32-bit File Allocation Table

The purpose of the FAT has not changed. It still acts as a table for linking the clusters of a file together. File/Directory entries point to the first cluster in the file which the operating system uses to find the first entry in the FAT. The FAT then tracks the location of the remaining clusters in the file. The entries are twice the size (4 bytes) and you can hold many more clusters on a FAT32 drive.

With the 16-bit FAT, the quantity of clusters on a drive is 65,525 (216 with 10 reserved). With a 32-bit FAT, the highest 4 bits of the 32-bit values are reserved and are not part of the cluster number. Therefore, the maximum amount of clusters on a 32-bit FAT is: 268,435,445 (228 with 10 reserved).

Stepping Through a FAT32 Entry

The starting cluster given in the file/directory entry tells the operating system where to find the first piece of that file. The starting cluster also tells the operating system where to look in FAT32 for the next cluster number. The entry for a starting cluster in a file entry is in bold below.

49 4F 20 20 20 20 20 20-44 4F 53 07 00 00 00 00 IO SYS.....
00 00 00 00 00 00 80 32-3E 1B 02 00 46 9F 00 00 .......2....F...

Two additional entries are used in the 32-bit directory entry. These two entries are taken from a reserved area and in this example are shown above as 00 00. Together with the existing 2 byte entry (02 00), there is a four-byte entry (00 00 00 02) to search the FAT. The following is a sample tracing of the file in a 32-bit FAT:

F8 FF FF 0F FF FF FF 0F-03 00 00 00 04 00 00 00
05 00 00 00 06 00 00 00-07 00 00 00 08 00 00 00
09 00 00 00 0A 00 00 00-0B 00 00 00 0C 00 00 00
0D 00 00 00 0E 00 00 00-0F 00 00 00 10 00 00 00
11 00 00 00 12 00 00 00-13 00 00 00 14 00 00 00
15 00 00 00 16 00 00 00-17 00 00 00 18 00 00 00
19 00 00 00 1A 00 00 00-1B 00 00 00 FF FF FF F8

As with FAT16, F8 is the media descriptor byte. The next 7 bytes, FF FF 0F FF FF FF 0F, are reserved. The clusters are grouped in 4 byte numbers as:

03 00 00 00, 04 00 00 00, 05 00 00 00, 06 00 00 00 

And so on. Invert the numbers to read:

00 00 00 03, 00 00 00 04, 00 00 00 05, 00 00 00 06 

And so on, to trace the file through the FAT. (The contents in the second entry is 00 00 00 03. F8 FF FF FF, and FF FF FF 0F are grouped as entries 0 and 1 respectively.) The new end of file marker is FF FF FF F8.

How Win.com Determines Improper Shutdown

Of the first 112 bytes of the FAT32, the first 8 bytes are reserved. The eighth byte of the reserved area, by default, is 0F. The virtual file allocation table (VFAT) and the Windows 98 shutdown process manipulate the fourth bit of this byte to 1 or 0.

  • 0 = VFAT has written to disk

  • 1 = Windows has properly shutdown 

When you write a file to the disk, VFAT handles the write. During the write, VFAT clears the fourth bit to 0 (07h). When Windows 98 exits properly, this bit is reset to 1. During reboot, Win.com reads that bit. If it is set to 0, it runs ScanDisk to check the drive for errors.

Hard Sector Error. Windows 98 detects a hard sector error during startup. This process toggles the third bit to zero (0Bh). When detected during startup, Windows 98 automatically launches ScanDisk with a surface scan test.

Disabling ScanDisk at Boot. There is a way to disable the improper shutdown check. It is in the Msdos.sys file under [OPTIONS]. The parameters for AutoScan are as follows:

Value

Definition

AUTOSCAN = 0

Ignore the bits in the reserved FAT entry

AUTOSCAN = 1

Default behavior, run ScanDisk

Mirroring

On all FAT drives, historically, there are two copies of the FAT. If an error occurs reading the primary copy, the file system will attempt to read from the backup copy. On 12-bit and 16-bit FAT drives, the first FAT is always the primary copy and a modification is automatically written to the second copy. When a second FAT is written to as a backup, the process is called mirroring.

On new FAT32 drives, mirroring a secondary FAT can be disabled. This means that a read/write is quicker using one FAT, or if the first FAT is sitting on corrupted sectors, the second FAT can be used as a primary with the first FAT ignored.

Note On FAT32 drives, a FAT can be very large. Disabling duplicate FAT writes can make FAT access quicker. Windows 98 does not provide a mechanism for eliminating the use of a second FAT. Mirroring is always enabled. Third-party utilities, however, might include this ability as users with larger hard disks might want to disable a second FAT to speed disk access. Any issues about mirroring should be directed to that third-party utility.

Root Directory

With FAT32, the limitation is now 65,535 root directory entries.

There is a new entry in the Boot Sector that points to the first cluster of the root directory. The root directory is no longer forced to reside at a specific location after the second FAT and it can grow just like a subdirectory.

There is a trade off in performance when you have a large number of directory entries to pass across when searching for actual data. For this reason, it is recommended that you limit the number of root directory entries to a small, manageable number. There is no actual recommended size for the same reasons as there is no optimal cluster size to choose from.

Extensions Changed, Superseded, or No Longer Supported

The following list presents some areas where FAT32 may be incompatible with legacy software:

  • Share services are a part of the installable file system (IFS) manager. VFAT uses them to provide full file sharing functionality. All MS-DOS-based, Win16-based, and Win32-based applications have full file sharing services available to them. As a consequence, the MS-DOS utility Share.exe is no longer necessary and is not provided in Windows 98. 

  • VFAT implements an enhanced version of FASTOPEN. As such, the MS-DOS FASTOPEN utility is no longer necessary, but can install without error. 

  • Windows 3.x File Manager is not supported since it may misreport free or total disk space. 

  • File Control Block (FCB) has limited support but this should not be a problem. 

  • Dealing with files larger than 2 GB (opening, creating, writing) may cause problems on non-FAT32-aware programs. 

  • Absolute disk reads and write utilities should be upgraded to recognize FAT32. 

  • Users should not dual-boot Windows 98 with FAT32 and Windows NT 4.0.

  • Interlink does not work on FAT32. 

VCACHE and CDFS Supplemental Cache

The 32-bit VFAT works in conjunction with a 32-bit, protected-mode cache driver (VCACHE), and replaces and improves on the 16-bit, real-mode SMARTDrive disk cache software provided with MS-DOS and Windows 3.1.

The VCACHE driver uses an improved caching algorithm over SMARTDrive to cache information read from or written to a disk drive, and results in improved performance for reading information from the cache. Also, the VCACHE driver is responsible for managing the cache pool for the Universal Disk Format (UDF) system, and the 32-bit network redirectors.

Another big improvement in VCACHE over SMARTDrive is that the memory pool used for the cache is dynamic and is based on the amount of available free system memory. Users no longer need to allocate a block of memory to set aside as a disk cache; the system automatically allocates or deallocates memory used for the cache based on system use. The performance of the system also scales better than earlier versions of Windows, due to the intelligent cache use.

The 32-bit, protected-mode CDFS implemented in Windows 98 provides improved CD-ROM access performance over the real-mode MSCDEX driver in Windows 3.1 and is a full 32-bit ISO 9660 CD file system. The CDFS driver replaces the 16-bit, real-mode MSCDEX driver, and it features 32-bit, protected-mode caching of CD-ROM data. If MSCDEX is specified in the user's Autoexec.bat when Windows 98 is installed, the 32-bit CDFS driver is used instead.

CDFS has a larger and smarter cache than MSCDEX, optimized just for CD-ROMs and separate from VCACHE. The CDFS driver cache is dynamic and requires no configuration or static allocation on the part of the user.

CDFS reads ahead in parallel with the application so that multimedia presentations play back more smoothly than with earlier versions of Windows. Because CDFS uses a separate cache, the cache memory can be swapped out to the hard disk when CD-ROM activity pauses. This gives applications more room to run and protects the main hard disk cache from being flushed out whenever a very large multimedia stream is played back.

The supplemental cache size for CDFS is used to hold path, table, directory, and file information. This particular cache is used to improve CD streaming and to reduce seek latency as effectively as possible with a moderately sized cache. This means that the cache is more complex, using smart priority-based caching schemes to achieve results optimized for CD-ROMs.

For more information about configuring the CD-ROM cache to match the characteristics of CD-ROM drive types, see Chapter 26, "Performance Tuning."

Command-Line Switches for Disk Utilities

This section describes the commands that can be used from the command line to run ScanDisk, DriveSpace, and Disk Defragmenter disk utilities. These commands are provided to allow these disk utilities to be run from batch files.

Note To provide compatibility with existing batch files, Windows 98 provides a start command to allow synchronous use of Windows-based programs from the command-line. To run a Windows-based program from the command-line and wait for it, use this syntax:

start /W "program_name arguments" 

Defrag

This command controls Windows 98 Disk Defragmenter.

Syntax 

defrag [drive: | /all] [/F | /U | /Q] [/noprompt] [/concise | /detailed]

Parameters 

drive: 

Drive letter of the disk to be optimized.

/all 

Defragment all local, nonremovable drives.

/F 

Defragment files and free space.

/U 

Defragment files only.

/Q 

Defragment free space only.

/concise 

Display the Hide Details view (default).

/detailed 

Display the Show Details view.

/noprompt 

Unattended mode; do not stop and display confirmation messages.

DrvSpace

This command controls Windows DriveSpace at the command line, and can be used with either DblSpace or DrvSpace drives. These command switches are maintained for use in batch files and for compatibility with the compression utilities provided in MS-DOS version 6 and higher. Each switch performs the indicated operation, without asking for any additional input before beginning.

Additionally, the /interactive switch can be added to any command line to have DriveSpace ask for any missing parameters, and the /noprompt switch can be added to any syntax except the /info and /settings command-lines. The /noprompt switch prevents any confirmation dialog boxes from appearing (except for error messages). Notice that there is no way to prevent error messages from being displayed.

When you run DriveSpace without command-line arguments, the DriveSpace Manager appears, with menu commands for selecting the operations to perform.

Syntax 

drvspace /compress d: [/size=n| /reserve=n] [**/new=e:]
drvspace /create d: [
/size=**n | **/reserve=n] [/new=e:] [/cvf=*nnn]
drvspace /delete d:\d
??***space.*nnn 
drvspace /format d:\d
??space.nnn
drvspace /host=e: d:
drvspace [
/info
] d:
drvspace /mount {[=nnn] d: | d:\d
?
?*space.nnn} [/new=**e:]
drvspace /move d: **/new=**e:
drvspace /ratio[=n] d:
drvspace /settings
drvspace /size[=n| **/reserve=**n] d:
drvspace /uncompress d:
drvspace /unmount d: 

Parameters 

d ?? space.nnn 

The file name of the hidden compressed volume file on the host drive, which can be either Drvspace.nnn or Dblspace.nnn, where nnn represents the actual file name extension.

The following sections provide details about these parameters.

If you add switches or parameters to the drvspace command, the operating system carries out the requested task without starting the DriveSpace program. The command syntax differs from task to task, as summarized in the following list.

Action

Command

Compress a hard disk drive or floppy disk.

drvspace /compress

Create a new compressed drive in the free space on an existing drive.

drvspace /create

Delete a compressed drive.

drvspace /delete

Format a compressed drive.

drvspace /format

Display information about a compressed drive.

drvspace /info

Mount a compressed volume file (CVF). When DriveSpace mounts a CVF, it assigns it a drive letter; you can then use the files that CVF contains.

drvspace /mount

Change estimated compression ratio of a compressed drive.

drvspace /ratio

Change the size of a compressed drive.

drvspace /size

Uncompress a compressed drive.

drvspace /uncompress

Unmount a compressed drive.

drvspace /unmount

Dblspace.bin, Drvspace.bin, and Drvspace.sys

Dblspace.bin or Drvspace.bin is the part of the system that provides access to the compressed drives. When you start the computer, the operating system loads D??space.bin along with other operating system functions, before carrying out the commands in Config.sys and Autoexec.bat. D??space.bin initially loads in conventional memory, since it loads before device drivers that provide access to upper memory. Normally, if the hard disk drive has been compressed using DriveSpace, D??space.bin is loaded even if you press F8 and choose an alternate startup option.

Drvspacx.vxd is the protected-mode driver for DriveSpace. This driver takes over from the real-mode D??space.bin driver when Windows 98 switches to protected mode. The real-mode driver is required for starting the computer, but after the system switches to protected mode, DRVSPACX ensures that you have 32-bit, protected-mode performance, and the memory used by the real-mode driver is reclaimed.

The Dblspace.sys device driver does not provide access to compressed drives; instead it determines the final location of D??space.bin in memory. When loaded with a device command, the Dblspace.sys device driver moves D??space.bin from the top to the bottom of conventional memory. When loaded with a devicehigh command, Dblspace.sys moves D??space.bin from conventional to upper memory, if available. Whenever possible, Dblspace.sys moves a portion of D??space.bin into the HMA.

How DriveSpace Assigns Drive Letters

When you compress a drive using DriveSpace, it creates a new drive and assigns a drive letter to that drive. DriveSpace skips the first four available drive letters and assigns the next available drive letter to the new drive. For example, if the computer has only drives A, B, and C, DriveSpace skips letters D, E, F, and G, and assigns drive letter H to the new drive.

When assigning letters to additional drives (for example, if you compress another drive), DriveSpace works backwards from the first drive letter it assigned. In the example above, DriveSpace would next assign the letter G.

DriveSpace attempts to avoid drive-letter conflicts with drives created by fdisk, RAMDrive, networks, or other installable device drivers that assign drive letters. However, if a drive-letter conflict does occur, DriveSpace resolves the conflict by reassigning its drive letters.

Drvspace /Compress

Compresses the files and free space on an existing hard disk drive, floppy disk, or other removable media. Compressing an existing drive makes more space available on that drive.

Note DriveSpace cannot compress a drive that is completely full. To compress the startup hard disk drive, the drive must contain at least 2 MB of free space. Other hard disk drives and floppy disks must contain at least 768 KB of free space. (DriveSpace cannot compress 360 KB floppy disks.)

Syntax 

drvspace /compress drive1: [/new=drive2:] [/reserve=size]

Parameters 

drive1:

Specifies the existing drive you want to compress.

Switches 

/compress 

Compresses the hard disk drive or floppy disk specified by the drive parameter. This switch can be abbreviated to /com.

/new=drive2:

Specifies the drive letter for the uncompressed (host) drive. After DriveSpace compresses an existing drive, the system will include both the existing drive (now compressed) and a new uncompressed drive. If you omit the /new switch, DriveSpace assigns the next available drive letter to the new drive.

/reserve=size 

Specifies how many megabytes of space to leave uncompressed. Because some files do not work properly when stored on a compressed drive, you may want to reserve some uncompressed space. The uncompressed space will be located on the new uncompressed drive. This switch can be abbreviated to /reser.

Drvspace /Compress Examples 

To compress drive D, type the following command:

drvspace /compress d: 

On drives larger than 256 MB, more space will be left on the host (because D??space drives cannot be larger than 512 MB). Because this command does not specify how much space to leave uncompressed, DriveSpace leaves 2 MB of uncompressed space (the default). Because the command does not specify a drive letter for the uncompressed drive, DriveSpace assigns the next available drive letter to the new uncompressed drive (the host drive).

To direct DriveSpace to compress drive E, assign the drive letter F to the new uncompressed drive (the host drive), and leave 4 MB of uncompressed space on drive F, type the following command:

drvspace /compress e: /new=f: /reserve=4 
Drvspace /Create

Creates a new compressed drive by using free space on an uncompressed drive. The new compressed drive will provide more storage capacity than the amount of space it uses.

Syntax 

drvspace /create drive1: [/new=drive2:] [/size=size | /reserve=size] [/cvf=nnn]

Parameters 

drive1:

Specifies the uncompressed drive that contains the space you want to use to create the new drive.

Switches 

/create 

Creates a new compressed drive by using free space on the uncompressed drive specified by drive1. This switch can be abbreviated to /cr.

/new=drive2:

Specifies the drive letter for the new compressed drive. The /new switch is optional; if you omit it, DriveSpace assigns the next available drive letter to the new drive.

/reserve=size 

Specifies how many megabytes of free space DriveSpace should leave on the uncompressed drive. To make the compressed drive as large as possible, specify a size of 0. You can include either the /reserve switch or the /size switch, but not both. If you omit both switches, DriveSpace uses all but 2 MB of free space. The /reserve switch can be abbreviated as /reser.

/size=size 

Specifies the total size, in megabytes, of the compressed volume file. (This is the amount of space on the uncompressed drive that you want to allocate to the compressed drive.) You can include either the /reserve switch or the /size switch, but not both.

/cvf=nnn 

Reports extension of the CVF file.

Drvspace /Create Examples 

To create a new compressed drive that uses all available space on uncompressed drive E, type the following command:

drvspace /create e: /reserve=0 

To create a new compressed drive by using 10 MB of space on uncompressed drive E, type the following command:

drvspace /create e: /size=10 

To create a new compressed drive by using space on uncompressed drive D, and to direct DriveSpace to leave 2.75 MB of free space on drive D, type the following command:

drvspace /create d: /reserve=2.75 

The following command creates a new compressed drive by using all but 2 MB of the space on drive D:

drvspace /create d: 

Because the command includes neither the /reserve switch nor the /size switch, DriveSpace uses the default value for the /reserve switch and leaves 2 MB of space on drive D.

Drvspace /Delete

Deletes the selected compressed drive and erases the associated compressed volume file.

Caution Deleting a compressed drive erases the entire drive and all the files it contains.

Syntax 

drvspace /delete d**:\d??space.**### 

Parameters 

d :\d??space. ### 

Specifies the drive you want to delete. (DriveSpace will not allow you to delete any drive containing open files, including the drive containing Windows 98.)

Switch

/delete 

Deletes the specified drive. This switch can be abbreviated as /del.

Drvspace /Delete Example 

The following command directs DriveSpace to delete the compressed volume for drive C:

drvspace /delete h:\dblspace.### 

DriveSpace then deletes the compressed volume file for drive C. This completely erases the compressed drive and all the files it contains.

Drvspace /Format

Formats the selected compressed drive.

Caution Formatting a compressed drive deletes all the files it contains. You cannot unformat a drive that has been formatted by using drvspace /format.

Syntax 

drvspace /format d**:\d??space.**### 

Parameters 

d :\d??space. ### 

Specifies the drive you want to format. (DriveSpace will not allow you to format any drive containing open files, including the drive containing Windows 98.)

Switch

/format 

Directs DriveSpace to format the specified compressed drive. This switch can be abbreviated as /f.

Drvspace /Format Example 

The following command directs DriveSpace to format compressed drive E:

drvspace /format h:\dblspace.### 

DriveSpace then formats compressed drive E, which completely erases all the files on it.

Drvspace /Info

Displays information about the selected drive's free and used space, the name of its compressed volume file, and its actual and estimated compression ratios. You can use this command while Windows is running.

Syntax 

drvspace [/info] | [drive**:**]

Parameters 

drive : 

Specifies the compressed drive about which you want information. If you do not specify a drive letter, DriveSpace displays information about the current drive.

Switch

/info 

Directs DriveSpace to display information about the selected drive. This switch is optional and can be omitted as long as you specify a drive letter.

Drvspace /Info Examples 

The following command displays information about the current drive:

drvspace /info

The following command displays information about drive C:

drvspace /info c: 

The following command displays information about drive E:

drvspace e: 
Drvspace /Mount

Establishes a connection between a compressed volume file (CVF) and a drive letter so that you can use the files the CVF contains. DriveSpace usually mounts CVFs automatically. You need to mount a CVF only if you previously unmounted it.

Syntax 

drvspace /mount[=nnn] drive1: [/new=drive2:]
drvspace /mount d**:\d??space.###** [/new=drive2:]

Parameters 

drive1:

Specifies the drive that contains the compressed volume file you want to mount. You must specify a drive letter.

Switches 

/mount=nnn 

Directs DriveSpace to mount the compressed volume file with the file name extension specified by the nnn parameter. For example, to mount a CVF named DBLSPACE.001, you would specify /mount=001. If you omit the nnn parameter, DriveSpace attempts to mount the compressed volume file named DBLSPACE.000.

/new=drive2:

Specifies the drive letter to assign to the new drive. This switch is optional; if you do not specify a drive letter, DriveSpace assigns the new drive the next available drive letter.

Drvspace /Mount Examples 

To mount a compressed floppy disk in drive A, type the following:

drvspace /mount a: 

To mount the compressed volume file DBLSPACE.001 located on uncompressed drive D, type the following:

drvspace /mount=001 d: 
Drvspace /Ratio

Changes the estimated compression ratio of the selected drive. DriveSpace uses this ratio to estimate how much free space the drive contains. You might want to change the estimated compression ratio if you plan to store new files with a compression ratio that differs greatly from the current ratio.

Syntax 

drvspace /ratio[=r.r] [drive**:**]

Parameters 

drive : 

Specifies the drive for which you want to change the estimated compression ratio. If you do not specify a drive, DriveSpace changes the estimated compression ratio for the current drive.

Switch

/ratio=r.r 

Changes the estimated compression ratio of the specified drive. To change the ratio to a specific number, specify the ratio you want. You can specify a ratio from 1.0 to 16.0. However, not all drives can accept values in this entire range. If you do not specify a ratio, DriveSpace sets the drive's estimated compression ratio to the average actual compression ratio for all the files currently on the drive. This switch can be abbreviated as /ra.

Drvspace /Ratio Examples 

To change the estimated compression ratio of the current drive to match that drive's actual compression ratio, type the following command:

drvspace /ratio 

To change the estimated compression ratio for drive D so that it is 3.2 to 1, type the following:

drvspace /ratio=3.2 d: 

To change the estimated compression ratio of the current drive to 6 to 1, type the following:

drvspace /ratio=6 
Drvspace /Size

Enlarges or reduces the size of a compressed drive. You might want to enlarge a compressed drive if its host drive contains plenty of free space. You might want to reduce its size if you need more free space on the host drive.

Syntax 

drvspace /size[=size1 | /reserve=size2] drive**:** 

Parameters 

drive : 

Specifies the drive you want to resize.

Switches 

/size=size1 

Changes the size of the specified drive. You can specify the new size of the drive by using the size1 parameter. The size of the drive is the number of megabytes of space that the drive's compressed volume file uses on the uncompressed (host) drive. You can specify the drive's new size by using either the size1 parameter or the /reserve switch, but not both. If you include neither the size1 parameter nor the /reserve switch, DriveSpace makes the drive as small as possible.

/reserve=size2 

Specifies how many megabytes of free space you want the uncompressed (host) drive to contain after DriveSpace resizes the drive. The /reserve switch can be abbreviated as /reser. You can specify the drive's new size by using either the /reserve switch or the size1 parameter of the /size switch, but not both. If you include neither the /reserve switch nor the size1 parameter, DriveSpace makes the drive as small as possible.

Drvspace /Size Examples 

To change the size of drive C so that its compressed volume file uses 60.5 MB of space on drive D, type the following command:

drvspace /size=60.5 c: 

To change the size of drive E so that its host drive, drive D, contains 20 MB of free uncompressed space, type the following command:

drvspace /size /reserve=20 e: 

To change the size of drive C so that it is as large as possible, type the following command:

drvspace /size /reserve=0 c: 
Drvspace /Uncompress

Uncompresses a drive that was compressed by using DriveSpace.

Syntax 

drvspace /uncompress drive:

Parameter 

drive:

Specifies the drive you want to uncompress.

Switch 

/uncompress 

Uncompresses the specified drive.

Notes on Drvspace /Uncompress 

Backing up before uncompressing. Before uncompressing the drive, you should back up the files it contains. If you include the /interactive switch, DriveSpace will prompt for this.

Invalid pathnames after uncompressing. When you uncompress a drive, DriveSpace either changes that drive's letter or the letter of its host drive (depending on how the compressed drive was originally created). DriveSpace shows how the drive letters will change when it decompresses the drive. Some programs have settings that include explicit pathnames and drive letters. If a program's settings specify a drive that is no longer valid after uncompressing, the program will probably display an error message or be unable to find one of its components or data files. In that case, you need to correct the drive letter specified by that setting.

Disk space. You can uncompress a drive only if the data it contains will fit on the host drive. If you use the drvspace /uncompress command, and DriveSpace indicates the drive will not have enough free disk space, delete unnecessary files or move them to another drive.

Duplicate file names on compressed and host drives. If the root directories of the compressed and host drives contain files or directories with identical names, DriveSpace cannot uncompress the compressed drive. If this happens, DriveSpace displays an error message. Remove or rename one copy of each file, and then try uncompressing the drive again.

Uninstalling DriveSpace. When you uncompress the last mounted compressed drive, DriveSpace first decompresses the drive, and then prompts you to remove the DrvSpace driver from memory.

Drvspace /Uncompress Example 

To uncompress drive E, type the following command:

drvspace /uncompress e: 

Drvspace /Unmount

Breaks the connection between the selected drive's compressed volume file and its drive letter. Unmounting a drive makes it temporarily unavailable.

You cannot unmount a drive containing open files, including the drive containing Windows 98.

Syntax 

drvspace /unmount [drive**:**]

Parameters 

drive : 

Specifies the drive you want to unmount. This parameter is optional; if you omit it, DriveSpace unmounts the current drive.

Switch

/unmount 

Unmounts the specified compressed drive.

Drvspace /Unmount Example 

To unmount compressed drive E, type the following command:

drvspace /unmount e: 
ScanDisk

This command syntax controls Windows ScanDisk.

Note At the command prompt (for example, when you use F8 to start only the command prompt), you can use scandisk with the same switches to run the MS-DOS-based equivalent for this command. At the command prompt, type scandisk /? for more information.

Syntax 

scandskw [drive**:] [/A**] [/N] [/P]
scandisk drive**:\dblspace.nnn
scandisk drive
:\drvspace.**nnn 

Parameters 

drive: 

Specifies one or more drives to be checked.

/A or /All 

Checks all local, nonremovable hard disk drives.

/N or /NonInteractive 

Starts and closes ScanDisk automatically. However, this switch does not prevent ScanDisk from stopping to report errors found on the drive.

/p or /Preview 

Runs ScanDisk in Preview mode, where it reports and seems to correct errors that it finds, but it does not actually write changes to the disk. Important When running scandskw in Preview mode, it appears as though ScanDisk is fixing errors, but it is not. Also, notice that unlike other settings in ScanDisk, the /Preview switch is not saved in the registry, so the next time you run ScanDisk, it is no longer in Preview mode.To determine whether ScanDisk is running in Preview mode, look for the tag "(Preview)" in the caption of the main ScanDisk window.

Dblspace. nnn or **Drvspace.**nnn 

Checks the specified unmounted DoubleSpace or DriveSpace compressed volume file, where nnn is the file name extension for the hidden host file.

Table 10.7 describes the codes provided when ScanDisk finished running.

Table 10.7 Exit codes after ScanDisk has finished 

Exit code

Description

0x00

Drive checked, no errors found.

0x01

Errors found, all fixed.

0xFA

Check could not start — cannot load or find Dskmaint.dll.

0xFB

Check could not start — insufficient memory.

0xFC

Errors found, but at least some were not fixed.

0xFD

At least one drive could not be checked.

0xFE

Check was canceled.

0xFF

Check was terminated because of an error.

You can capture the exit code in a batch file to define an action to take in the event of particular exit code. For example:

start /w scandksw c: d: /n
if errorlevel exitcode goto command
...

In this sample, start /w forces the batch file to stop and wait for scandskw to finish (otherwise, because it is a Windows-based program, the batch file would continue as soon as scandskw had been launched). Also in this example, if the actual exit code is greater than or equal to the exit code specified by exitcode, the batch file runs the specified command; otherwise, it continues to the next line in the batch file. The goto command entry could specify any command you want.

File System Management

Cc768180.spacer(en-us,TechNet.10).gif Cc768180.spacer(en-us,TechNet.10).gif

With the Windows 98 installable file system, multiple file systems can coexist on the computer. Windows 98 includes the file systems described in Table 10.8.

Table 10.8 Windows 98 file systems 

File System

Description

Virtual File Allocation Table

In Windows 98, the 32-bit virtual file allocation table (VFAT) file system is the primary file system and cannot be disabled. VFAT can use 32-bit, protected-mode drivers or 16-bit, real-mode drivers. Although VFAT will function correctly when 16-bit disk drivers are being used by IO Supervisor (IOS), its performance is compromised. Many new performance enhancements in VFAT are unavailable when using 16-bit disk drivers. Typically, a 16-bit disk driver is used when MS-DOS terminate-and-stay-resident programs (TSRs) have chained themselves into the MS-DOS kernel. For optimal performance, remove MS-DOS TSRs. Actual allocation on disk is still 12-, 16-, or 32-bit (depending on the size of the volume), so FAT on the disk uses the same structure as previous versions of this file system. VFAT handles all hard disk drive requests, using 32-bit code for all file access for hard-disk volumes.

Network Redirectors

A network redirector (such as Microsoft Client for NetWare Networks or Client for Microsoft Networks) is a file system driver that accesses the network file system. Windows 98 supports multiple network redirectors simultaneously, as described in Chapter 29, "Windows 98 Network Architecture."

UDF

Universal Disk Format system. DVD disks use UDF.

CD-ROM File System

The virtual CD-ROM file system (CDFS) has the same responsibilities for a CD-ROM device as VFAT has for a standard hard disk. If a CD-ROM device is detected, the CDFS driver loads dynamically. When CDFS is installed, the standard disk type-specific device and Disk SCSI translator are replaced with CD-ROM versions. The CDFS driver is a protected-mode version of MSCDEX.EXE, providing the interface from the CD-ROM device to the operating system, as described in "VCACHE and CDFS Supplemental Cache" earlier in this chapter and in Chapter 28, "Windows 98 Architecture."
If the CD-ROM drive and its drivers support the multisession command, CDFS can support multisession capabilities, which provide a method for adding data to a CD-ROM (this is most applicable to CD-recordable media). The multisession command returns a number that identifies the first sector of the last session on the media so that CDFS can recognize the media.

All these file systems support long file names and can use the protected-mode cache (VCACHE) for read-ahead (except CDFS). VFAT also supports lazy-write throughput, so applications can write immediately to the cache, and VFAT can write the information to disk later. For more information, see "VCACHE and CDFS Supplemental Cache" earlier in this chapter.

Other software vendors can also implement file systems. For example, a vendor might provide a file system that allows a computer running Windows 98 to connect to a different operating system (for example, Apple Macintosh or UNIX) to share files.

The Installable File System Manager (IFSMGR) receives all INT 21 calls and determines which file system driver should receive the call to process it. IFSMGR uses a real-mode stub named Ifshlp.sys to send INT 21 calls back to IFSMGR, as described in Chapter 28, "Windows 98 Architecture."

File system drivers manage the high-level I/O requests from applications. The file system driver processes requests from applications and initiates low-level I/O requests through the I/O Supervisor.

Protected-mode disk compression is not integrated into the file system, but is supported by a layer in the I/O subsystem.

System File Checker

System File Checker verifies the integrity of your operating system files and offers to restore missing, corrupted, or replaced files. System File Checker can be configured to back up existing files before restoring the originals. A log file (Sfclog.txt) is generated by default. Additional options include the ability to customize search criteria based on folder and/or file extension, choose a different verification data file, create a new verification file, or restore the default verification data file (Default.sfc).

For more information about System File Checker, see Chapter 27, "General Troubleshooting."

Using Long File Names

For MS-DOS version 6.22 and earlier, file names cannot exceed eight characters and file name extensions cannot exceed three characters in length (referred to as "8.3 file names"). The period character (.) is used only to separate the file name from the file name extension. With long file name support in Windows 98, these 8.3 file name constraints are gone.

For all Windows 98 file systems, users can specify file names that are up to 255 characters long and that can contain more than one period. These long file names are any names that exceed 8.3 characters in length or contain any lowercase character or most characters that are not valid in the 8.3 name space.

The following sections present information about long file name support in Windows 98, including information and recommendations for supporting long file names in a mixed network environment.

Long File Name Support in Windows 98

For every long file name, an alias entry is generated automatically that complies with the 8.3 file name rules for backward compatibility. Automatically generated aliases are composed of the first six characters of the file name plus ~n (where n is a number) and the first three characters after the last period. So the file name ThisIsALong.File.Name is associated with the automatically generated alias THISIS~1.NAM. If the alias name already exists, the algorithm will generate a unique value for n.

Note Neither the user nor an application can control the name created by the automatic alias process. Related issues are discussed in "Long File Names and Network Compatibility" later in this chapter.

For the file name to comply with the 8.3 file name rules, it must use only the valid characters for an alias and it must be all uppercase. Valid characters for 8.3 file names (and aliases) can be any combination of letters and numbers, a space (ASCII 20H), ASCII characters greater than 127, and the following special characters:

$ % ' - _ @ ~ ` ! ( ) ^ # &

The following additional characters are valid in long file names, but are not valid in alias names or 8.3 file names:

+ , ; = [ ]

The following rules also apply for Windows 98 file systems:

  • Maximum file name component length is 255 characters, including NULL. 

  • Maximum path length is 260 characters, including NULL (compared to 80 characters for a short name). 

  • The OEM character set used by the installable file system (IFS) is determined by the registry and the contents of the file Unicode.bin. 

  • The long file name directory entries use the Unicode character set to store the names. 

The file name and the alias are the same if the file name meets 8.3 file name rules (that is, if it contains only valid characters for an alias and it is all uppercase). This means that a file name using only valid characters for an alias and following the 8.3 file name format is still not the same as the alias name if it contains lowercase characters. However, in this case the alias is the uppercase version of the file name. For example, if the long file name is Examples.txt, its alias is EXAMPLES.TXT. The case is preserved in the long file name. (Note, though, that path-based APIs in the Windows 98 file system are not case-sensitive. So a search of the form "EXAMPLES.TXT" or "Examples.txt" will find the same files.)

Tip To see the alias for a file, right-click the file in any shell program such as Windows Explorer, and then select Properties from the context menu. The value for MS-DOS Name in the General Properties dialog box shows the alias assigned to this file. Also, the dir command at the command prompt shows the long file name.

Long File Names and Network Compatibility

By using a process called tunneling, Windows 98 preserves long file names for files that are opened and saved using an application that does not recognize long file names. Tunneling preserves long file names on the local computer as well as files accessed across the network.

Tunneling is supported for any file system that IFSMGR recognizes. The file system in turn must "authorize" tunneling to allow its use in that file system. Tunneling is authorized automatically with VFAT.

Correct network tunneling is the responsibility of the server—that is, the server must be configured to support long file names. A server running any edition of Windows NT 3.5 or Windows 98 file and printer sharing services will preserve long file names. For example, a user who is running Windows for Workgroups might open and save a file on a peer server that is running file and printer sharing services (for either Microsoft networks or NetWare networks). In this case, the long file name will be preserved by the file system on the peer server, because the peer server uses IFSMGR and VFAT to store the data.

  • Windows NT file system (NTFS) supports long file names, but includes architecture for security that Windows 98 does not use. Windows NT 3.5 supports long file names on FAT drives and uses the same algorithm for aliases as used in Windows 98. However, Windows NT 3.1 does not recognize long file names on FAT drives and removes them. 

  • HPFS supports long file names with aliases similar to the method used in Windows 98. 

  • The UDF file system supports long file names. 

  • The CD-ROM file system (CDFS) also supports long file names. 

The following sections provide details about long file name support on various networks.

Long File Names with Windows 98 Protected-Mode Clients

Windows 98 protected-mode network clients (Client for Microsoft Networks and Client for NetWare Networks) support long file names. If the network server that the computer is connected to supports long file names, then Windows 98 can read, create, and copy local long file name files on the network share. On some servers, the length of file names, restricted characters, and the algorithm for creating 8.3 file names from long file names might differ from those under Windows 98.

Client for Microsoft Networks does not authorize tunneling, so tunneling is not used to preserve long file names on down-level servers connected through the Windows 98 client (for example, a computer running Windows for Workgroups or LAN Manager Services). However, Microsoft Client for NetWare Networks does authorize tunneling, so tunneling can preserve long file names in connections to older NetWare servers when running Client for NetWare Networks.

Windows 98 can access files on HPFS or NTFS partitions on remote drives. However, there is no built-in support in the release of Windows 98 for adding either of these file systems as another installable file system under Windows 98. Therefore, Windows 98 cannot access either an HPFS or NTFS partition on a local disk drive by using the file system drivers provided with Windows 98. (Other vendors, however, can add HPFS support.)

Please note the following interoperability exceptions for other file systems:

Long file names can be used on computers running file and printer sharing services and can be viewed on computers using protected-mode Windows 98 network clients. Real-mode network clients running under Windows 98 can see only the 8.3 version file name aliases.

If Windows 98 has been configured with File and Printer Sharing for NetWare Networks, any MS-DOS-based NetWare clients using NETX or VLM will see 8.3 file names when browsing resources on the computer running Windows 98. Computers using Client for NetWare Networks can see long file names.

Long file names are supported for NetWare servers if the server is configured to use the OS/2 name space. For information, see Chapter 17, "Windows 98 on Third-Party Networks."

Note Older Microsoft or Microsoft-compatible clients (for example, LAN Manager, Workgroup Add-on for MS-DOS, Windows for Workgroups, and so on) cannot use shared folders that have long file names. These older network clients might have problems connecting to and using a shared directory with a long file name as the directory name. Defining a short share name does not correct this problem.

LAN Manager with HPFS and HPFS/386 Volumes

HPFS and HPFS/386 partitions on LAN Manager OS/2-based computers have a maximum file name length of 254 characters and use the 8.3 file name alias on the first instance. For example:

longfilenameold.tst --> LONGFILE.TST
longfilenamenew.tst --> LONGFIL0.TST

Long file names on a LAN Manager server with HPFS or HPFS/386 partitions are supported and viewable by Windows 98 protected-mode network clients. Real-mode network clients can see only the 8.3 file name aliases.

LAN Manager workstations with HPFS or HPFS/386 cannot see Windows 98 long file names. The LAN Manager workstation software has no awareness of the long file name-over-FAT file scheme used by Windows 98.

Windows NT 3.1 with HPFS or NTFS Volumes

Support for long file names on FAT volumes is identical in Windows NT 3.5 and Windows 98. Therefore, a computer with dual-boot capabilities for Windows NT 3.5 and Windows 98 can see long file names on local FAT volumes by using both operating systems.

HPFS partitions exist on Windows NT computers only in the case of an upgrade over OS/2. File names on Windows NT 3.1 HPFS partitions have a maximum file name length of 254 characters and use the 8.3 file name alias on the first instance. For example:

longfilenameold.tst --> LONGFILE.TST
longfilenamenew.tst --> LONGFIL0.TST

File names on Windows NT 3.1 NTFS partitions have a maximum file name length of 255 characters and use the 8.3 file name alias on the first instance. For example:

longfilenameold.tst --> LONGFI~1.TST
longfilenamenew.tst --> LONGFI~2.TST

Long file names on shared Windows NT 3.1 HPFS and NTFS partitions are supported and viewable by Windows 98 protected-mode network clients. Real-mode network clients can see only the 8.3 file name aliases.

Windows NT 3.1 computers cannot see Windows 98 long file names. Windows NT 3.1 has no awareness of the long file name-over-FAT file scheme used by Windows 98.

Administering Long File Names

If you are supporting long file names at a site with many users, consider the issues in this section.

If you back up files to a server that does not support Windows 98 long file names, use the LFNBK utility to save and restore long file names.

For information, see "Using the LFNBK Utility for Temporary Compatibility" later in this chapter.

Be aware of utilities that will not work with the Windows 98 directory entries for long file names. Some virus scanning programs, disk repair utilities, disk optimizers, and other programs depend on the FAT file system and might not work with long file names. If you are unsure whether a utility is compatible with the long file name system, check with the manufacturer. If you must use an incompatible program, be sure to turn off long file names by using the LFNBK utility before proceeding.

Do not use file names that are more than 50 to 75 characters long. Although file names can be up to 255 characters, the full path name cannot be more than 260 characters. To save room for moving a file from one directory to another, use file names shorter than the limit. Besides, file names that are too long can make browsing a list difficult.

Publish a naming convention for your site so that users are aware of naming considerations and can prevent problems with the long file names they use.

For example, your policy could recommend making the first three or four letters significant, so that the 8.3 file name aliases can be distinguished from each other. The following example shows the alias names for some long file names:

Status Report for Oct -> STATUS~1.TXT
Status Report for Nov -> STATUS~2.TXT
Status Report for Dec -> STATUS~3.TXT

Using the following alternate file names, you can distinguish between the 8.3 file names:

Oct Status Report -> OCTSTA~1.TXT
Nov Status Report -> NOVSTA~1.TXT
Dec Status Report -> DECSTA~1.TXT

You could also recommend that users give files a short file name as part of the long file name. For example:

Mktg_rpt-Marketing Report for our new project -> MKTG_R~1.TXT

As part of the naming convention, recommend that users check the properties for files to ensure that the alias (the MS-DOS Name in the Properties dialog box) is what they expect it to be.

Tip On FAT16 drives, it is usually best to store files in a directory beneath the root directory. This is especially true for files with long file names. Files with long file names use more directory entries than files with 8.3 file names. Because the number of entries in the root is limited to 512, the root directory can fill up with fewer files if long file names are used.

Notice that typing the command mkdir Examples creates a long file name directory entry that contains the name Examples to preserve the case, plus an 8.3 file name alias entry with the name EXAMPLES for compatibility. In this example, two directory entries are used.

Using the LFNBK Utility for Temporary Compatibility

Most hard disk utility programs released before Windows 98 require updating to work correctly with Windows 98. If you use a hard disk utility that was not created especially for use with Windows 98, you might lose long file names and you are at risk of losing data. Examples of such programs include the following:

  • Older MS-DOS versions of Norton Utilities by Peter Norton Computing 

  • PC Tools by Central Point Software, Inc. 

  • Microsoft Defragmenter for MS-DOS version 6.0, 6.2, 6.21, or 6.22 

  • Stacker 4.0 by STAC Electronics 

In special cases, you might need to run backup or disk management utilities created for older versions of Windows or MS-DOS that are not compatible with the extended file system capabilities of Windows 98. Or you might need occasionally to run an application that is not compatible with long file names. In such cases, you can use the LFNBK utility to remove (and later restore) long file names on a disk.

To install the LFNBK utility
  • From the Windows 98 compact disc, copy Lfnbk.exe to the \Windows directory on your computer. 

Caution The LFNBK utility is intended for use only by experienced Windows 98 users with special needs for compatibility with older disk utilities. It is not intended for everyday use by average users.

Microsoft recommends that users rely on the disk management utilities included with Windows 98 or use Windows 98-compatible utilities from other vendors, rather than attempting to use older utilities that are not compatible with Windows 98.

Notice also that the DriveSpace 3 utility included with Windows 98 is compatible with long file names and can be used without LFNBK to manage compressed disks created with older versions of DriveSpace 3 or DoubleSpace.

The following shows the syntax for LFNBK:

lfnbk [/v] [/b | /r | /pe] [/nt] [/force] [/p] [drive]

Table 10.9 lists and describes the parameters for this command.

Table 10.9 LFNBK parameters 

Parameter

Description

/v

Reports actions on the screen.

/b

Backs up and removes long file names on the disk.

/r 

Restores previously backed-up long file names.

/pe

Extracts errors from backup database.

/nt

Does not restore backup dates and times.

/force

Forces LFNBK to run, even in unsafe conditions.

/p

Finds long file names but does not convert them to 8.3 file name aliases. This reports the existing long file names, along with the associated dates for file creation, last access, and last modification of the file.

To preserve long file names with disk utilities that do not recognize them
  1. Turn off tunneling. 

    In the System option in Control Panel, click the Performance tab, and then click File System. In the File System Performance dialog box, click the Troubleshooting tab, and check the option named Disable Long Name Preservation for Old Programs

  2. Close all other applications. LFNBK cannot rename open files. 

  3. At the command prompt, type lfnbk /b [drive] to back up and remove long file names. 

  4. Restart the computer, and then run the disk utility. If it is an MS-DOS-based utility, run it in MS-DOS Mode. For a Windows-based utility, run it in the usual way. 

  5. At the command prompt, type lfnbk /r [drive] to restore long file names. 

  6. Turn tunneling on again, and then restart the computer.

The LFNBK utility actually renames each file with a long file name to its associated alias. The file name changes are stored in the Lfnbk.dat file in the root of the drive where you are running LFNBK. This file is used to restore long file names (when you run LFNBK with the /r switch).

The following list provides some brief notes for using the LFNBK utility:

  • You cannot use LFNBK to repair long file name problems. 

  • LFNBK might not be able to rename files with exact matches to long file name aliases, and the related alias is not guaranteed to be the same as before running LFNBK. 

  • After you run LFNBK and then restart Windows 98, the default Start menu will appear, rather than your custom Start menu. After you run lfnbk /r to restore long file names, your custom Start menu will also be restored. 

  • If the directory structure changes after you run lfnbk /b, then long file names cannot be restored with lfnbk /r. For example, if you run a disk utility that prunes or removes subdirectories, LFNBK cannot restore the long file names within those subdirectories. 

Creating Long File Names at the MS-DOS Prompt

At an MS-DOS prompt or when Windows 98 is started only at the command prompt (from the F8 Startup menu), the keyboard buffer's ability to create long file names is limited to 127 characters. This is because the default command-line character limitation is 127 characters. In the default configuration, the MS-DOS environment will not allow more than 127 characters in a given command line. (However, in batch files, or for environment variables and other virtual machine (VM) elements, the long file name support is 244 characters.)

You can increase the global command-line character limit for the keyboard buffer to its maximum by placing the following line in Config.sys:

shell=c:\windows\command.com /u:255

If the shell command is already present with the /u switch, increase the value to 255.

This command will affect all VMs and the Windows 98 command line.

With the command-line character limit set to its maximum of 255 characters, file names are limited to 255 characters minus the contents of the command line. For example, the command line might contain the following:

copy con "long filename"

In this case, the maximum length of the long file name is 244 characters (255 minus the 11 characters of the command including spaces and quotation marks).

Note It is necessary to put the file name in quotation marks on the command line only if the file name contains special characters, such as spaces.

Notice, however, MS-DOS-based applications configured to run in MS-DOS Mode use only the real-mode FAT file system. Because of this, long file names created in a Windows environment are not visible when the system runs in MS-DOS Mode; only the 8.3 file name aliases are visible.

The same is true of files with long file names that are copied to a floppy disk subsequently used by a down-level FAT file system such as MS-DOS 6.0, Windows 3.1, OS/2 2.11, Windows NT 3.1, and so on.) On down-level file systems, only the 8.3 file name alias is visible on the floppy disk, even if it contains long file names created in Windows 98.

Technical Notes on Long File Names

Cc768180.spacer(en-us,TechNet.10).gif Cc768180.spacer(en-us,TechNet.10).gif

This section summarizes some technical points with regard to long file names. This information will be helpful to you if you experience problems with long file names.

Using long file names on SUBST drives. Windows 98 supports long files names on SUBST drives.

File Names and Extensions. The following are valid file names for Windows 98 applications:

  • 12345678.abc (MS-DOS name) 

  • 12345678.abcdef (no limit on extensions) 

  • 123456789012345678901234567890123456789.abc (long file name) 

  • 1234567890123456789012345678901234567890.abcdef (long file name and long extension) 

  • This is a valid file name (long names with spaces that mean something) 

To see the MS-DOS name associated with a long file name, use the right mouse button to click the file, and then click Properties.

Troubleshooting Disks and File Systems

Cc768180.spacer(en-us,TechNet.10).gif Cc768180.spacer(en-us,TechNet.10).gif

This section provides information for troubleshooting disk and tape drive problems, FAT32 problems, and file system problems.

For more information about using the Troubleshooting dialog box for File System Properties in the System option in Control Panel, see Chapter 26, "Performance Tuning."

Disks and Tape Drives

The system did not shut down cleanly, or the disk suffers a hard error. 

ScanDisk will be run automatically when your system restarts. By default, a message will be displayed before ScanDisk starts. You can override this behavior by setting the AutoScan variable in the [Options] section of the Msdos.sys file:

  • AutoScan = 0 will disable this feature entirely. 

  • AutoScan = 1 is the default, ScanDisk will run automatically. 

There are performance problems with the floppy disk drive. 

You can try preventing the floppy disk device driver from attempting to use first-in, first-out (FIFO). To do this, add the value ForceFIFO=0 to the following registry key:

HKEY_LOCAL_MACHINE \System \CurrentControlSet \Services\Class\FDC \0000 

Windows 98 cannot access the drive or reports 2 GB disk space on a larger drive. 

Microsoft does not recommend using Windows 98 with a FAT16 volume larger than 2 GB created in Windows NT. On a dual-boot computer with both Windows 98 and Windows NT installed, you can read from and write to the drive, but you might experience strange results, such as programs reporting 0 bytes free space on the drive. However, you should not experience data loss when accessing a 4 GB drive.

Hard disk drive limited to 8 GB partition. 

When you try to partition a drive that is larger than 8 GB in size, the maximum partition size may be 8 GB. This can occur if the hard disk controller does not fully support the interrupt 13 extensions. This information applies to both IDE and SCSI hard disk drives. For a hard disk that is larger than 8 GB and uses the FAT32 file system to be fully addressed, it must support interrupt 13 extensions. Io.sys tests for the presence of interrupt 13 extensions. If interrupt 13 extensions are not detected, the default CHS LBA limit of 7.9 GB is used.

To determine whether your BIOS supports interrupt 13 extensions, please refer to the drive's documentation or manufacturer. Contact the drive controller's manufacturer for information about a possible BIOS upgrade to a version of the BIOS that fully supports interrupt 13 extensions.

Disk utilities fail on a Windows 98 volume. 

Disk utilities that were not designed for the Windows 98 VFAT file system can find unexpected values in fields that were once reserved for MS-DOS. Use disk utilities designed for Windows 98 instead. You might be able to use some earlier utilities by first running LFNBK, as described in "Using the LFNBK Utility for Temporary Compatibility" earlier in this chapter.

Problems occur after compressing the Windows 98 volume with Stacker. 

Stacker version 4.0 and earlier does not recognize or accommodate long file names. If you compress your Windows 98 volume by using the Stacker DOS compression program, your desktop shortcuts will need to be repaired manually and you will also need to move User.dat from the host volume to your compressed volume. If you are using Stacker, do not run DriveSpace 3 or DoubleSpace.

Parameter value not in allowed range for Format. 

If you specify a value that is not 1 or an exponent of 2, or if you specify a value that is larger than 64, Format returns this message:

Parameter value not in allowed range.

Specify a value in the correct range.

Backup does not detect your tape drive. 

Microsoft Backup does not work with all tape drives. If you install Backup and get a message that your tape drive has not been detected, click the Help button and connect to Seagate's Web site using the provided URL to see a list of supported tape drives.

Tape drive detection. 

Plug and Play software does not detect tape drives. This is a function of the drivers provided with the Windows 98 Backup program, or the software that came with the drive. As a result, the tape drive may appear as an unknown device in Device Manager. If your backup software does not detect your tape drive, contact the company that wrote the software.

Tape drive compatibility. 

If your tape drive does not appear in the list of supported drives located on Seagate's Web site (click the Help button and connect to Seagate's Web site using the provided URL), contact your tape drive manufacturer for information about backup software that you can use with Windows 98.

Running Zip Tools on an Iomega Parallel Zip Disk. 

From within My Computer or Windows Explorer, if you right-click the Zip disk and then click Format, the Format window displays an option for you to do a full format of the drive. If you select this option, the following blue-screen fatal-exception error might occur:

A fatal exception 0E has occurred at 0028:C3C64C51 in VXD IOMEGA (01) + 00000CB5. The current application will be terminated. 

Pressing any key closes the Windows Explorer window.

To correct this problem, contact Iomega and obtain a new Iomega.vxd file. Using the Find command on the Start menu, find the old Iomega.vxd file and replace it with the newer version.

ScanDisk reports errors on files or folders made with different code pages. 

If you have created or named files or folders while using different code pages, ScanDisk may report errors about these files or the folders they reside in. If you are affected by this, open ScanDisk's Advanced dialog box and make sure Check Files For Invalid File Names is not checked. Note that turning off this option may inhibit ScanDisk's ability to detect or repair seriously damaged folders.

The Drvspace or Dblspace /mount command in Autoexec.bat does not work. 

This occurs because Windows 98 Setup deletes or renames the MS-DOS-based versions of Drvspace.exe and Dblspace.exe. To solve this problem, use scandisk /mount as the replacement command line in Autoexec.bat. The version of ScanDisk provided with Windows 98 has been enhanced for this purpose.

Installing program requiring specific drive letter. 

Use the SUBST command to associate the required drive letter with the program's installation folder. For example:

subst <drive>: <C:\dir>

FAT32

This section discusses problems and potential support issues that exist with FAT32. The list below summarizes some points to remember about FAT32:

  • You cannot boot to a previous operating system and access a FAT32 volume. 

  • Windows NT 4.0 cannot access a FAT32 volume. 

  • DriveSpace 3 is not supported on a FAT32 volume. However, you can have one drive FAT32 and the other a FAT16 and use DriveSpace 3 on the 16-bit FAT volume. 

  • Disk Manager users should upgrade to 7.04 or higher. 

  • CHKDSK will not fix errors on FAT32 drives; instead, use ScanDisk. 

  • Applications having problems with a program set up on a FAT32 drive should have their program upgraded. 

  • Legacy versions of ScanDisk will not work on FAT32.

  • DrivParm has been updated to recognize FAT32. 

  • File Control Blocks (FCBs) has limited support. 

  • Dealing with files larger than 2 GB may cause problems on non-FAT32-aware programs. 

  • Absolute disk read and write utilities should be upgraded to recognize FAT32. 

  • Interlink will not work on FAT32. 

Booting from a previous operating system. 

The new file system is not backward compatible. You cannot access a FAT32 volume from any MS-DOS version before 7.1. Attempting to access a FAT32 volume with a previous version of MS-DOS will initiate a "Non-DOS Partition" error message. If you boot from a floppy with a previous version and all the drives are FAT32, you will not be able to access the drives. There is no problem accessing the C drive if the C drive is a 12-bit or 16-bit FAT.

You must have a Startup Disk from the new operating system.

Windows NT (version 4.0 or earlier) and FAT32. 

Currently, Windows NT cannot access a FAT32 drive. You will get one of two messages.

If the capacity of the drive is greater than 4 GB:

The drive is not a valid partition.

If the capacity of the drive is less than 4 GB:

The drive is not formatted.

DriveSpace 3. 

DriveSpace 3 and FAT32 are incompatible. DriveSpace 3 is included with Windows 98, and it has been modified to detect FAT32 drives, but it will not compress them. You can still compress FAT16 drives even if another drive is FAT32. DriveSpace 3 components are included in Windows 98.

DriveSpace 3 and Cluster Allocation Granularity. 

Do not assume that since you reduce the amount of slack space at the end of the clusters, the capacity of a FAT32 drive should increase as much as if you were using DriveSpace 3. There are two components in DriveSpace 3 compression — tokenization and reduction of the cluster size.

There are no compression features in FAT32; just smaller clusters. Gained space is not a function of compression, but more a function of the files sizes on the drive and how many files are on that drive. If you do not have many files on the drive, there will not be a significant improvement in space. The point and advantage of FAT32 is efficiency.

Disk Manager. 

Using Ontrack Systems Disk Manager product on a system that is booting from a FAT32 drive may result in a long pause at boot time and/or that the drive will be set to run in compatibility mode. With version 7.0x, you can use the /L=0 option with Disk Manager to avoid this pause.

If you are using an earlier version of Disk Manager, you should update to version 9.0 and use the /L=0 switch if you use FAT32. Contact Ontrack for an upgraded driver, or check their site on the World Wide Web.

Io.sys floppy disk support. 

Io.sys floppy disk support had some problems that have been fixed. When Io.sys copied the BIOS Parameter Block (BPB) from a floppy disk into memory, some data structures were truncated and some fields were ignored based on assumptions that the media was a floppy disk. Also, initializing a drive as "other" (such as an external floppy) would always set up as a 12-bit FAT and discard bits identifying the total sectors or not examine the number of read/write heads.

The problems in building the BPB have all been fixed so that Io.sys now correctly copies all of the BPB fields out of the boot sector on the disk inserted in the drive. Also, Io.sys has increased less than 5 KB in size in conventional memory because of the changes in the real-mode kernel that accommodate FAT32 drives.

If a program was written to work around these problems on its own, you may need to obtain an update that recognizes FAT32. If you begin to experience external drive problems from an application or driver, test with Windows, not the application in question. You can obtain an update that recognizes FAT32 from the vendor.

Making sure a disk is formatted for a FAT32 system. 

When you try to defragment a FAT32 file system drive, you may receive the following error message:

Windows cannot defragment this drive. Make sure the disk is formatted and free of errors. Then try defragmenting the drive again. 
ID No: DEFRAG0026

This can be caused by running an earlier version of Defrag.exe than the version included with Windows 98.

Invalid media error message when formatting a FAT32 partition. 

When you try to format a FAT32 file system partition larger than 8,025 MB from within Windows 98, you may receive the following error message:

Verifying <xxx.xx>M
Invalid media or track 0 bad-disk unusable
Format terminated

where <xxx.xx> is the size of the partition.

This error occurs if there is a non-MS-DOS partition preceding the extended MS-DOS partition and the primary MS-DOS partition has been formatted using the real-mode Format.exe command. To resolve this issue, format the volume using the following steps.

To format the volume
  1. Click Start, click Shut Down, click Restart in MS-DOS mode, and then click OK.

  2. Type the following command

    format <drive>:
    
where \<*drive*\> is the drive letter for the partition you want to format.
  1. Press ENTER. 

  2. When the partition is formatted, type Exit to restart Windows 98. 

You must run CVT1 to convert a drive to FAT32. 

When you attempt to convert a drive to the FAT32 file system, you may receive the following error message:

You must run CVT1 to convert a drive to FAT32. In Windows, click the Start button, point to Accessories, point to System Tools, and then click the Drive Converter (FAT32) icon. The conversion was canceled.

This error message can occur if you attempt the conversion when in an MS-DOS window. When the computer is booted to a command prompt, run Cvt.exe by typing the following command:

cvt <drive> /cvt32

where <drive> is the drive to be converted.

Windows 98 partition types not recognized by Windows NT. 

When you set up Windows NT on a computer that has Windows 98 preinstalled, the FAT partitions may be shown as unknown.

Windows NT cannot recognize primary partitions using the FAT32 format. Backup any data that you might need to save and then delete the partition(s) using Fdisk from either MS-DOS or Windows 98.

Windows 98 supports four partition types for FAT file systems that Windows NT cannot recognize. The partition type can be identified by the System ID byte in the partition table. This byte is located at the following offsets:

0x1C2 = Partition 1
0x1D2 = Partition 2
0x1E2 = Partition 3
0x1F2 = Partition 4

The four values used by Windows 98 that Windows NT does not recognize are as follows:

0x0B Primary Fat32 Partitions up to 2047 GB
0x0C Same as 0x0B, uses Logical Block Address Int 0x13 extensions
0x0E Same as 0x06, uses Logical Block Address Int 0x13 extensions
0x0F Same as 0x05, uses Logical Block Address Int 0x13 extensions

The FAT partition types that Windows NT version 3.x and 4.0 can recognize are:

0x01 Fat12 < 10 megabytes
0x04 Fat16 < 32 megabytes
0x06 Fat16 > 32 megabytes
0x05 Extended (may be FAT, HPFS or NTFS)

CHKDSK. 

CHKDSK will not find or repair errors on FAT32. CHKDSK is not being updated to repair the new file system, but it will display the file system statistics. Use the real-mode ScanDisk if you cannot get into Windows 98.

Application setup. 

The standard API for determining the free space on a drive is being intercepted by shell32.dll. When installing to a drive larger than 2 GB or with more than 2 GB free, shell32.dll readjusts the values for 16-bit programs to run properly.

All properly coded programs should call the correct API for determining free space and existing disk space. There should be no problem installing 16-bit applications on a FAT32 volume. If the program hangs during installation or displays an error message indicating not enough space to install, the application is using a different API and you should obtain an update from the vendor.

ScanDisk. 

Legacy versions of ScanDisk will not work on FAT32. You can receive a variety of error messages, but the following is the most common on that Windows 98 displays:

This version of Microsoft ScanDisk will work only with MS-DOS versions 5.0 and later.

With an old version of Scandskw.exe, Scandisk.exe, or Dskmaint.dll on the drive, you will also receive errors.

In both cases, you should use the file versions that come with Windows 98.

DRIVPARM. 

DRIVPARM is a Config.sys command. The numbers entered for the /f, /h, /s, and /t switches were not checked to see if they were too large, now they are. The /f number must be < 10; the /h number must be < 256; the /s number must be < 64; and the /t number must be <= 1024.

Check Help for assistance with these parameters. There are three new switches that allow the setting of other device parameters. If none of these new flags is present, the call continues to do exactly what it did in previous versions.

/a:# - sectors/cluster, must be 1, 2, 4, 8, 16, 32, or 64
/v:# - number of reserved sectors
/r:# - number of root directory entries, must be a multiple of 16

A value of 0 means use the default value.

The new switches allow media of any type to be set, including 12-bit, 16-bit, and 32-bit FAT.

Important It is strongly recommended that you specify /f:7 whenever using any of these new switches so that the media defined will have the 0F0h media byte value. /f:5 will give an error. The other /f:# are allowed, but may not work properly if their default media byte value is not 0F0h.

FAT32 Extension Changes

With the significant changes to the new file system, some previous extensions are no longer supported or have changed. The following list are extensions no longer supported.

SHARE. 

SHARE is no longer supported in real mode under MS-DOS 7.1. Share services are a part of the IFS manager. VFAT uses them to provide full file sharing functionality. All MS-DOS-, Win16-, or Win32-based applications have full file sharing services available to it. As a consequence, the MS-DOS utility Share.exe is no longer necessary and is not provided in Windows 98.

FASTOPEN. 

FASTOPEN support has been removed from the Io.sys. As with SHARE, it can be installed without error, but Io.sys never calls it.

Windows 3.1 File Manager. 

Winfile.exe (the old Windows 3.1 File Manager) does not show accurate free drive space on FAT32 drives that are over 2 GB in size, nor will it display long file names.

Extensions Changed or Superseded

The following functions/extensions have new limitations on FAT32 media.

FCBs. 

Support for File Control Blocks (FCBs) is reduced. The Open and Create functions only work for creating a volume label on a FAT32 drive. Programs still using FCBs for finding, deleting or renaming a file will still perform as expected.

Writing to a large file. 

To increase a file to a size greater than 2 GB in size, the file must be opened with a new Extended Size flag. If such a file is not opened using this flag, write functions fail and you receive an "Error Access Denied" message.

Opening and creating a large file. 

To open a file to a size greater than 2 GB in size, the file must be opened with a new Extended Size flag.

Errors arise from opening or changing files greater than 2 GB from non-FAT32 aware programs. You will need to obtain an upgrade from the application vendor.

Interrupts 25h/26h absolute disk read/write. 

Many utilities use absolute disk reads and writes to function. Utilities include disk editors, backup programs, defragmenters, virus scanning software (especially Master Boot Record [MBR] and Boot Sector [BS] scanning), and repair utilities. These utilities can cause problems accessing a drive where the underlying foundation is unknown.

Int 25h/26h is superseded by Int 21h Function 7305h Ext ABSDiskReadWrite for FAT32 drives. As with Windows 95, Int 25h/26h is designed to fail by displaying a blue screen and informing the customer not to read/write to the disk. Programs designed for Windows 98 that invoke volume locking will need to be upgraded for FAT32. These utilities should continue to work properly on FAT16 drives. Also, Windows 95 utilities, including ScanDisk and Defrag, do not work on FAT32 volumes.

Free disk space. 

If total or free disk space is greater than 2 GB, then 2 GB is returned. This function, GetDiskFreeSpace, is superseded by GetDiskFreeSpaceEx. GetDiskFreeSpace, for compatibility reasons, now never reports more than 1.999999 GB free under Windows 98.

The only time you might have a problem is if the program does not use GetDiskFreeSpace when determining free space on a volume. If a program has a problem with a drive larger than 2 GB, then it is probably using some other method to determine the free space. You should contact the manufacturer to update the program to FAT32.

Drive parameters. 

MS-DOS and Windows keep track of drive characteristics in memory. For example, if you are copying a file to a floppy disk from Microsoft Excel, the application goes to this area to identify the media type. The information here is identical to the BIOS Parameter Block (BPB) in the Boot Sector. Properly written programs use this area of memory for that drive's information instead of going to the BPB. This area of memory is called the Drive Parameter Block (DPB).

When applications need to know about a drive, such as drive letter, or size of its sector, they access the DPB and use its information accordingly. The functions used to get that information have been superseded. The new DPB contains the FAT32 values by extending the existing DPB to include new 32-bit values while keeping the existing 16-bit fields for compatibility.

On drives larger than 2 GB (or if there is more than 2 GB free), if an application is displaying strange behavior anytime a drive or disk is accessed, it could be getting incomplete information from the old DPB. Also, some programs assume the size of internal Windows data structures. For example, some applications assume that a DPB is 33 bytes long and will never change in size. Programs like this will need to be upgraded to recognize the new ExtDPB. Also, third-party drivers that depend on the old DPB to load will hang if they do not have an error handler in place to terminate the driver.

Dual boot and FAT32. 

You cannot use FAT32 on a machine that you need to dual boot to the original release of Windows 95, Windows NT 4.0 (or earlier), Windows 3.1, or MS-DOS 6.x. These operating systems are unable to access a FAT32 partition. However, it is still possible to use dual boot where there are multiple hard disks installed.

InterLink. 

The InterLink networking product contained in MS-DOS 6.x will not function properly in MS-DOS mode if you are using FAT32. If you are running InterLink as a server on a FAT32 drive, all connections and inquiries (such as DIR) result in the following error message:

"File allocations table bad, Drive X" 

Also, the InterLink Manager shows the incorrect total drive size. This problem does not occur on FAT16 drives. To see your FAT32 server, start your computer in protected mode with InterLink running.

You will need to use Direct Cable Connection to get connectivity.

Save to File (Hibernate) feature may be incompatible with FAT32. 

On computers containing a BIOS made by Phoenix Technologies, you might not be able to use the Save to File feature if your primary (boot) drive is formatted using FAT32. If your PhDISK utility is earlier than version 5.0, you must obtain an updated version of the utility and an updated ROM BIOS from your computer manufacturer in order to use a Save to Disk file. With older versions of the ROM BIOS, your computer may be unable to start if it tries to read a Save to Disk file from a FAT32 drive. If this occurs, you must disable the Save to File feature in your ROM BIOS. This does not affect computers using a disk partition to store the Save to Disk data.

Ontrack Systems Disk Manager. 

If you use the Ontrack Systems Disk Manager program on a computer with FAT32 drives, there might be a long pause when you start your computer and/or the drive will be set to run in compatibility mode. If you use version 9.0x, you can avoid this pause by using the /L=0 option with Disk Manager. To do this, carry out the following steps:

To use the /L=0 option with Disk Manager
  1. Start Disk Manager. 

  2. Click the Maintenance menu, and then click Update Dynamic Drive Overlay

  3. Add /L=0 to any other options that are already present. 

  4. Save the settings, and then restart your computer. 

    If you are running an earlier version of Disk Manager and you want to use FAT32, you should update to version 7.04 or later and use the /L=0 switch. 

V Communications System Commander. 

Versions 2.28 and earlier of V Communications System Commander are incompatible with FAT32. If your primary (boot) hard disk uses FAT32 exclusively, you must obtain version 3.0 or later of System Commander.

Iomega Jaz tools may be incompatible with FAT32. 

If you format an Iomega Jaz disk using FAT32, you may need to obtain updated versions of the Jaz tools. Older versions of the tools do not support FAT32 Jaz disks properly. As a result, the eject, write-protection, and password-protection options will be disabled. Updated versions of these tools that are compatible with FAT32 are available from Iomega, and from the Microsoft Windows Driver Library contained on the Windows CD-ROM disk and available for download from various online services.

Syquest Techology, Inc. device drivers. 

Older versions of the Squatdvr.sys and Sqdriver.sys device drivers are incompatible with this version of Windows and will hang when your computer starts if your primary (boot) hard disk uses FAT32. You must remove the associated DEVICE= line from your Config.sys file in order to start your computer from a FAT32 drive. Updated versions of these drivers that are compatible with FAT32 are available from Syquest, and from the Microsoft Windows Driver Library contained on the Windows compact discand available for download from various online services.

File Systems

Troubleshooting using the File System property sheet. 

If you have programs that do not respond properly to the Windows 98 file system, there are settings you can use to isolate the problem areas.

Caution It is strongly recommended that only advanced users and system administrators change the settings in this procedure.

To change the settings of the File System Troubleshooting property sheet
  1. In the Control Panel, double-click System, and then click the Performance tab. 

  2. Click Advanced, and then click File System

  3. Click the Troubleshooting tab. 

  4. Click the setting you want to test. The switch settings are described in Table 10.10. 

  5. Click OK and test to determine whether the setting selected solves the problem. 

If the problem is not solved, repeat the prior steps, choosing a different setting, until the problem is identified.

Table 10.10 Debugging switch settings for file systems 

Switch

Description

Disable protected-mode hard disk interrupt handling

Windows 98 captures the Int13h interrupts and processes them with a 32-bit virtual driver. If your program is having intermittent disk access problems, you may want to turn off this functionality. The program may then handle the Intl3h interrupts. This usually results in slower hard disk access, but it may solve problems with certain programs.

Disable synchronous buffer commits

This setting changes the behavior of the Commit File call. This setting should only be used when requested by the vendor of a specific program. Using this setting may decrease system reliability.

Disable all 32-bit protected-mode drivers

If you have a hard drive that is not completely compatible with Windows 98 and you are having problems accessing that drive, consider disabling the protected-mode drivers. This setting turns off the protected-mode drivers and enables the real-mode drivers. Again, this may result in slower hard drive access times.

Disable write-behind caching for all drives

This turns off the write caching functions. Caching is only performed on reads from the drives. Disabling the write-behind cache greatly slows down the processing of writing (saving) data to the drives, but it is safe. When a program indicates that data is written to the disk, the data is on the disk and not in a cache waiting to be written to the disk. If you are working in an environment where the quality of electrical power is questionable, for example, if there are frequent power spikes, brownouts, or power failures, and the data being written to the drive is critical, you may opt for this setting.

The 8.3 file name alias was changed. 

This can happen when you use options such as Copy, Backup, or Restore. For example, if a file with the name LongFileName is associated with an alias LONGFI~2, and this file is copied to a different directory by using the following:

copy LongFileName \TMP\LongFileName

Then the alias associated with this file can become LONGFI~1, if such an alias is not already present in the target directory.

The long file name was destroyed. 

This can happen when transferring files to or from file systems that do not support long file names, when running file searches, or when using certain disk utilities. The long file name cannot be restored.

A long file name was lost after the file was edited on another computer. 

This occurs because down-level file systems are not aware of the long file name extensions to the FAT file system.

Hard disk device drivers cause the computer to stall. 

The I/O Supervisor, which loads hard disk (block) device drivers, requires the driver's files (having file name extensions PDR, MPD, VXD, and .386) to be located in the System\Iosubsys subdirectory of the \Windows directory.

If the computer locks up during startup or hardware detection, try the following:

  • Check for Windows NT miniport drivers (SYS files in the \Iosubsys directory). These drivers detect the I/O ports and might cause the computer to stop. Replace the Windows NT driver with either a Windows 98 miniport or a real-mode driver. 

  • Check the Ios.ini file for real-mode drivers not replaced by protected-mode drivers. 

  • When loading protected-mode drivers, the real-mode driver generally remains loaded in memory even though the protected-mode driver "takes over." If you suspect a conflict, type rem at the beginning of the line in Config.sys that calls the real-mode driver. 

  • Users might have problems with devices (such as tape backups) that use ASPI drivers. Try using only real-mode drivers, then try using only protected-mode drivers.

Long file names do not work correctly on DEC PATHWORKS servers. 

Long file names do not work correctly on Digital Equipment Corporation (DEC) PATHWORKS servers up to and including version 5.0b. You will be able to create and delete long file name files and make and remove long file name folders, but the files and folders will not appear when you use the DIR command, or when you open an Explorer window to the PATHWORKS server. PATHWORKS server version 5.00 EC01 corrects this problem and is available from DEC.

Virus-detection utilities do not remove a virus. 

In general, virus-detection utilities created from earlier versions of Windows can detect but not clean viruses from Windows 98. This is because virus-detection utilities use low-level writes to repair the disk. MS-DOS-based utilities can still be run using the lock command.

Tip Long file names can cause problems for some disk utilities. Be sure to use disk utilities that are long file name-aware. If you are not sure whether your utility is long file name-aware, consult your disk utility documentation. If long file names are not mentioned, then your utility probably does not support long file names.

Using a down-level file system command (such as copy or rename) rather than the Windows 98 equivalent will destroy a long file name.

Because the root directory is limited to 512 entries, you can fill the root directory with fewer files by using long file names because each long file name takes more than one entry in the directory.

Cc768180.spacer(en-us,TechNet.10).gif