Understanding MultiBooting
and Booting Windows from an Extended Partition

by Dan Goodell

Windows 95/98/ME and the 8-GB Boundary

Now we have to get real technical. But if you want to boot a Win9x OS from a partition above the 8-GB boundary, read on.

Normally, Windows 95/98/ME cannot be installed to a partition above the 8-GB boundary. Petr Soucek has documented that the limitation is due to the partition boot record created when Windows is installed. Windows starts with support for "Int13h extensions" disabled, then enables it later in the boot process if the feature is supported by the BIOS. This means Win9x starts booting with CHS, effectively restricting it to a partition below the 1023-cylinder limit (8 GB). Soucek has documented a work-around for this: edit the partition boot record to force Win9x to start with support for Int13h extensions enabled. He has identified a mere two bytes in the partition boot record that need to be changed and has documented the exact location of these bytes in assorted Win9x versions. WARNING: this fix is not intended for computers that do not have support for Int13h extensions!

According to Soucek we need to change a pair of bytes from 75 06 to B2 0E (hexadecimal values) at the following specific location:

location A8h for FAT32 WinME, Win98se, Win98gold, Win95b (OSR2)
location 80h for FAT16 WinME, Win98se, Win98gold
location 89h for FAT16 Win95b (OSR2)
(Windows 95 (first edition) has no support in boot record for Int13h extensions)

Start PTS Disk Editor (de.exe) and open the Windows partition we wish to edit. The editor will display the first sector in the partition, which should be the partition boot sector. If this is the correct sector we should see a "MSWIN4.1" signature in the upper-right area of the screen. The middle of the display shows rows of 16 bytes per row. In this illustration from a Win98se FAT32 boot record, Soucek's notes indicate that we need to change the two bytes at location A8-A9. Find the row that starts with "00A0". The following 16 columns represent the bytes at "A0" through "AF". Locate the bytes at A8-A9 and change their values from 75-06 to B2-0E. (If they aren't 75-06, double-check whether we're on the right sector.) That's it. Save the changes and Windows is no longer restricted to living in a partition below 8 GB.

Note: If you are using an old version of Norton's Diskedit, it may read sectors only by CHS coordinates, which means you can't use it to directly edit a sector above the 8-GB barrier. However, Soucek's edit can be made either before or after the partition image is made, so if you know your Diskedit version won't work above 8GB, make the edit before making the backup image. Install the OS initially below the 8-GB boundary, then make Soucek's edit, then make your backup image. The change will be saved with the backup image, and will remain intact when you later restore the image to a target partition above the 8-GB boundary.

author: Dan Goodell, ©2003