Jump to content

Welcome to MSFN Forum
Register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, post status updates, manage your profile and so much more. This message will be removed once you have signed in.
Login to Account Create an Account



Photo

What boot sector is better?

- - - - -

  • Please log in to reply
4 replies to this topic

#1
Petr

Petr

    Friend of MSFN

  • Member
  • PipPipPipPipPip
  • 981 posts
  • Joined 15-April 05
  • OS:98SE
  • Country: Country Flag
I've just noticed that not all programs in Windows 98/SE/ME put the same boot sectors to the formatted disk. There are 2 variants, both for FAT12(16) and for FAT32.

The first variant is used by FORMAT.COM (FAT12+FAT32), SYS.COM (FAT12+FAT32), SETUPX.DLL (FAT12), CVT.EXE (FAT32)

This type of FAT12/16 boot record is analyzed here:
http://www.geocities...br/WIN98FDB.htm

This type of FAT32 boot record is analyzed here
http://www.geocities...mbr/MSWIN41.htm
http://home.att.net/...ot/w95bboot.htm

The second variant is used in DSKMAINT.DLL only (both FAT12 and FAT32)

This type of FAT12/16 boot record is analyzed here:
http://home.att.net/...ot/w95aboot.htm

This type of FAT32 boot record is probably analyzed nowhere.

What is the difference of FAT12 boot sectors?
The first variant:
1. Looks for JO.SYS, then for IO.SYS if the boot device is not hard drive. (This feature is used on the install boot disk and in the boot image of the bootable CD-ROM)
2. Does not look for WINBOOT.SYS
3. Uses INT13 Extensions if the boot device is harddrive and if the active primary partition is type 0C or 0E.

The second variant:
1. Looks for WINBOOT.SYS and, if not found, for IO.SYS
2. Never looks for JO.SYS
3. Never uses INT13 extensions => cannot be used for booting from bigger disks (>512MB)

What variant is better? What should be used? Should't we relpace the boot records in DSKMAINT.DLL by boot records in FORMAT.COM or vice versa? They are stored as resources in DSKMAINT.DLL.

Another problem is the localization (translation) of the boot record. There are error messages:
$0D$0AInvalid system disk$FF
$0D$0ADisk I/O error$FF
$0D$0AReplace the disk, and then press any key$0D$0A
CVT.EXE and SETUPX.DLL contain no translation.
FORMAT.COM and SYS.COM have error messages translated, but in many languages incorrectly - there are missing some important bytes, for example there is used FF twice as a flag for the program to jump to other place.
DSKMAINT.DLL have similar problem, and I even noticed that the translation is not used at all.
If we decide to change the boot record it should be discovered how the program determines the location where to put the translated string.
The localization problem is not very important but for perfectness could be done.

The main question remains - what format is better? Command line FORMAT.COM or Windows one using DSKMAINT.DLL?

Petr

Edited by Petr, 05 June 2006 - 03:31 PM.



How to remove advertisement from MSFN

#2
CLASYS

CLASYS

    Windows installer, chief cook and bottlewasher

  • Member
  • PipPip
  • 218 posts
  • Joined 29-November 04
With regard to the .DLLs, do you know which programs use them, expecially diskmaint.dll?

Clearly the variant to boot from a larger partition is necessary, frills aside. Perhaps the one in diskmaint.dll is only used where it can be? [The link you gave expectedly described a 950(a) system that cannot even support FAT32, although that's an issue unrelated to a 512 MB boundary.]

cjl
"In ten years, OS/2 will be on everyone's desktop"
Bill Gates, 1992

#3
Petr

Petr

    Friend of MSFN

  • Member
  • PipPipPipPipPip
  • 981 posts
  • Joined 15-April 05
  • OS:98SE
  • Country: Country Flag

With regard to the .DLLs, do you know which programs use them, expecially diskmaint.dll?


Yes, diskmaint.dll is used if you right click the disk in explorer and select Format.

It is fact that the occasions when you format bootable hdd in Windows environment will be rare but it may happen.

Petr

#4
CLASYS

CLASYS

    Windows installer, chief cook and bottlewasher

  • Member
  • PipPip
  • 218 posts
  • Joined 29-November 04


With regard to the .DLLs, do you know which programs use them, expecially diskmaint.dll?


Yes, diskmaint.dll is used if you right click the disk in explorer and select Format.

It is fact that the occasions when you format bootable hdd in Windows environment will be rare but it may happen.

Petr

Have you tried to? Does it boot or not?

Build a system that boots up Windows in say, Drive F: There are only a handful of files required on Drive C: for this situation. Format the drive with system files on it, then, before rebooting, put back the files for Drive C: [from a safety backup]. See if this works for all sizes of bootable drive C:. I assume the sensitive sizes would be 511 MB, 2 GB [both for FAT16 and FAT32 in both cases], and just under 8 GB and over that much for FAT32 only.

If the info is correct, only the first cases should work!

cjl
"In ten years, OS/2 will be on everyone's desktop"
Bill Gates, 1992

#5
erpdude8

erpdude8

    MSFN Master

  • Member
  • PipPipPipPipPipPipPipPip
  • 2,141 posts
  • Joined 24-November 04

The main question remains - what format is better? Command line FORMAT.COM or Windows one using DSKMAINT.DLL?

Petr


I may be going out on a limb but it could be "none of the above" or "all of the above". It does NOT matter whether using Format.com or Dskmaint.dll when formatting drives as long as your drives work properly on your computer after they are formatted.

FAT12 is used on floppy disks and/or partitions that are 16Mb or less. FAT16/FAT32 is used on hard drives and removable drives such as Jaz/Zip drives.

note - dskmaint.dll is not included in w2k/xp; only found in win95/98/me

Edited by erpdude8, 07 June 2006 - 10:14 AM.





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users