Using BOOTPREP
While preparing your target partition for an Embedded runtime image, you'll occasionally come across instructions that refer to BOOTPREP. BOOTPREP is a small utility that ships with the Windows XP Embedded Toolkit (you can find it in the Utilities subfolder of the Windows Embedded installation folder), and its purpose is to set up a FAT16 or FAT32 partition so it can boot with NT Loader. (FAT16 is the file system associated with older versions of DOS and Windows, which rely on IO.SYS, MSDOS.SYS, AUTOEXEC.BAT, etc., to boot.) Using BOOTPREP is simple, but it can only be run from a true MS-DOS command-line (not from a CMD prompt in Windows). If your deployment scenario includes formatting a partition from, say, a Windows 98 boot floppy, you should include BOOTPREP on the floppy and then run it from the floppy as follows:
bootprep /dX
...where X is the letter of the partition you wish to prep. (This partition must also be marked Active in order to boot.) BOOTPREP also allows you to dump the existing contents of the Master Boot Record and the Partition Boot Sector, saving them as files on your hard drive. Type
BOOTPREP /?
for full usage instructions.
Note: Although BOOTPREP mentions in its usage text that you can use it to prepare FAT32 partitions as well, you generally only need to use this utility for FAT16 partitions. FAT32 natively supports booting with NTLDR, at least when set up in Windows 2000 or above. You should not use BOOTPREP with NTFS partitions.
So why would you want to use a FAT16 partition? FAT16 can be useful for small-footprint scenarios and El-Torito partitions, as the FAT table itself is smaller and needs less system maintenance than FAT32, and you may see a small increase in performance. However, FAT16 is also more limited, mainly due to the fact that its default cluster size is generally larger than FAT32's. This can effectively reduce the total number of files you can have in your runtime image.
For more information on BOOTPREP, see this article on MSDN.
- Matt