Previous | Next

Understanding FAT32

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

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 http://www.microsoft.com/hwdev/devdes/ 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.

  3. The wizard checks for a list of known hibernate files:

    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.

[ /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:

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.