VOGONS

Common searches


First post, by Leolo

User metadata
Rank Member
Rank
Member

Hi people,

I know that in the good old days you had to use the SYS.COM tool to make sure that IO.SYS and MSDOS.SYS were properly located in the very first clusters of the disk to be able to boot your computer.

But that rule seems to have been relaxed in recent versions of MS-DOS (7.0 and later)

Is it now enough to just have those files in the root folder and that's all??

There's no longer any need to look for the exact cluster location?

Kind regards.

Reply 1 of 10, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

I think it still matters as the bios doesn't know a thing about the filesystem on the disk

Water flows down the stream
How to ask questions the smart way!

Reply 2 of 10, by Leolo

User metadata
Rank Member
Rank
Member

These guys say that the new rule seems to be:

http://www.partition-tool.com/easeus-partitio … ning-basics.htm

The same limitation applies to the DOS IO.SYS file and the Windows NT file, NTLOADER.EXE. Either of these files being installed or moved beyond the 64K boot code boundary may cause the corresponding OS fails to boot. To boot properly, DOS requires that the first three sectors of IO.SYS are below the 2 GB boot code boundary.

Is that the only constraint for IO.SYS position on the disk now?

Reply 3 of 10, by Leolo

User metadata
Rank Member
Rank
Member

I've found another link that talks about this:

http://cquirke.mvps.org/9x/startup.htm

It claims that

The boot code of a Microsoft DOS/Win9x bootable partition is expected to seek a file called IO.SYS and jump into it. Win9x boot loaders have sufficient file system smarts to load an IO.SYS no matter where it lies within the disk volume, but some earlier DOS versions required the file to be contiguous and starting from directly after the end of the root directory.

Seems trustworthy, the guy is an MVP.

Last edited by Leolo on 2011-08-28, 22:09. Edited 1 time in total.

Reply 5 of 10, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

thought io.sys was the bootloader. If they improved the bootloader,then it could indeed work.
although the question is. how do you get a bootloader on your floppy
without sys,com or format /s

Water flows down the stream
How to ask questions the smart way!

Reply 6 of 10, by Leolo

User metadata
Rank Member
Rank
Member

Mmmm, I was thinking that those programs were no longer needed now that you can simply copy the IO.SYS through normal copy commands to a disk.

But you're right, you still need a program to write the bootloader in the proper position of the disk.

So, I guess those programs aren't as obsolete as I thought! 😀

Reply 9 of 10, by peterferrie

User metadata
Rank Oldbie
Rank
Oldbie

If you're talking about the code in the bootsector, then no, it's no longer 512 bytes, it was extended to 1024 bytes for Windows 9x. It spans 2 sectors because the FAT32 support did not fit into a single sector.
IO.SYS can be placed anywhere in the file system, and the bootsector code will parse the FAT until it finds it.

Reply 10 of 10, by Leolo

User metadata
Rank Member
Rank
Member

Thanks for the info, peterferrie.

According to this page:

http://thestarman.pcministry.com/asm/mbr/MSWi … 41BRinHexEd.htm

The bootloader code is indeed larger and occupies two sectors of the disk.

However, Microsoft reserved 3 sectors for the boot loader. The strange thing is that the second sector is almost empty!

It only seems to store a counter about the total number of used and free clusters in the disk.