I got weird results when trying to boot Windows Me with V
Communication's System Commander 4.02: I copied io.sys from the WinMe CD
to C: (after deleting the previous version), then used the attrib
command to create attributes S, H, and R, and after I added a new entry
in the boot menu and attempted to boot WinMe from System Commander, I
received errors. After booting successfully Win95 again, I saw two (!)
io.sys files!
Regards,
Bernd
Ask yourself this: Since IO.SYS is the first "DOS" file to load during
the boot process, _how_ does the system know how to find that file,
given that "directories" and "clusters" are _DOS_ creations, and DOS
isn't yet running?
That may suggest how IO.SYS relates to the primary partition.
Mark Hoedemaeker wrote:
> true, you copied the boot file to the root but the file did not integrate on
> the mbr( master boot record) therefore it will not be used to boot, and the
> bootsequence will use the present io.sys that is integrated in the mbr. if
> you want to use a new mbr enter from any drive (except c:) sys c: this will
> install a new boot set on the root of the boot sector and will be integrated
> on the mbr
> Hope i told you enought
In the meantime, I found an interesting document ("How to switch between 2
Windows 95 Systems" - http://home1.inet.tele.dk/ianking/docs/switch1.htm ) which
seems to show that copying io.XXX files to io.sys is fine. Additionally, I
remember I deleted my two io.sys files and copied one from another location to
C:\ and it worked fine!
So the question is: In what way does io.sys correspond to the boot sector of the
active primary partition (I am very sure it does not correspond to the MBR - see
http://www.users.intercom.com/~ranish/part/primer.htm#partitions )
Regards,
Bernd
Rick Collins wrote:
> Ask yourself this: Since IO.SYS is the first "DOS" file to load during
> the boot process, _how_ does the system know how to find that file,
> given that "directories" and "clusters" are _DOS_ creations, and DOS
> isn't yet running?
Exactly. That's what I asked.
> That may suggest how IO.SYS relates to the primary partition.
Unfortunately not: Either could it be that the boot sector of the primary
partition contains a minimum FAT code, or it contains a compiled or
otherwise translated io.sys, or it contains code that jumps to the first
sector of io.sys, or ...
Who can tell me details?
Regards,
Bernd
It's the latter. Can't be a FAT - the FAT is a DOS creation. Can't be
a "translated io.sys" - that's a DOS file.
: Who can tell me details?
<http://www.kzin.com/> can.
Right,
MartinS
For reasons as yet unclear to me it *still* has to be named IO.SYS (as well
as starting in the first logical sector)
Anyone know why?
Rick Collins wrote:
> > > That may suggest how IO.SYS relates to the primary partition.
> >
> > Unfortunately not: Either could it be that the boot sector of the
> primary
> > partition contains a minimum FAT code, or it contains a compiled or
> > otherwise translated io.sys, or it contains code that jumps to the
> first
> > sector of io.sys, or ...
> >
> > Who can tell me details?
>
> It's the latter. Can't be a FAT - the FAT is a DOS creation. Can't be
> a "translated io.sys" - that's a DOS file.
I was told in another newsgroup that the boot sector of the primary
partition contains - among others - the disk block number of the location
of IO.SYS in this partition, and that SYS C: copies IO.SYS to drive C:
AND modifies the boot sector of the corresponding partition to be able to
locate IO.SYS. I doubt that it has to be in a specific sector - otherwise
the boot sector could always remain as it is.
So if this is true, I am now looking for a freeware boot manager that is
able to write arbitrary boot sector files into boot sectors as well as
important operating system files to the root directory. Anyone aware of
such a tool? I though about updating my System Commander Deluxe 4.02 to
System Commander 2000, but maybe for the next operating system I need
another update and that's what I would like to avoid.
Thanks a lot so far,
Bernd
Mike Jones wrote:
> For reasons as yet unclear to me it *still* has to be named IO.SYS (as well
> as starting in the first logical sector)
If IO.SYS had to be located starting in the first logical sector, then all DOS
boot sectors would probably be the same - but there are several versions.
So the absolute truth is still to be found...
Maybe there's a sourcecode of a SYS.COM program available in the web? I'll try
to find one...
Regards,
Bernd
I was lucky to find a MSKB article, Q66530, "SYS.COM Requirements in MS-DOS
versions 2.0-6.0", which shows that the SYS.COM versions differ significantly.
Maybe there's another detailed description of the boot process of all the
Windows releases? (The Win95 boot description which I found on
http://www.microsoft.com/TechNet/win95/tips/w9p9744.asp , is not exactly
describing the conditions and relation between boot sector and IO.SYS files)
Now here's the URL which describes in detail SYS.COM functionality for DOS 2.0
to 6.0:
http://support.microsoft.com/support/kb/articles/q66/5/30.asp
It says,
"SYS.COM copies the hidden system files from the default drive to the
specified destination drive and updates the boot sector of the destination
drive. Each version of SYS only recognizes system files that have the same
filenames as its version of MS-DOS. The MS-DOS boot sequence requires
that the system files be the first files in the disk data area, that they be
contiguous (that is, not fragmented), and that they occupy the first two
entries in the root directory."
"SYS copies the files to the destination if there is empty space for them at
the beginning of the disk. If the destination disk is already bootable and
its
system files have the same names, SYS replaces the existing system files.
SYS does not copy COMMAND.COM."
It also says that with DOS 5.0 and above,
"The first three sectors of IO.SYS do not need to be in
the first three sectors of the data area; however, they
must be contiguous."
This is becoming more and more crazy... I hope this nightmare will be over
soon! (Will I end in writing my own boot manager software?)
Regards,
Bernd
IO.SYS is what gets loaded by the DOS boot program. The DOS boot
program has to be the first thing in the boot partition, because the
_partition boot_ code looks for it there.
So, where IO.SYS "has to be" is related to what the DOS boot code
requires - and that varies with different versions of DOS.
Does that help any?
Maybe this gets more understandable if you remember that the above is
referring to the DOS boot, not the "system" boot. The DOS boot (which
SYS updates) has to know where to find IO.SYS.
Sorry, no! I naively thought that as the boot sector code loads IO.SYS (has
to?) from the first logical sector, there was no need of a filename. It
seems from other comments on this thread that I was wrong about it the LS 0
requirement though.
The DOS BOOT sector know only the needed stuff for loading IO.SYS into
memory:
Here is how it works:
1) The BOOT sector search in the ROOT directory the file IO.SYS
If not found, then panic
2) If there is a file named IO.SYS, then the BOOT sector will keep only
the number of the first cluster of the file.
3) With this number, the BOOT sector will look into the first FAT in
order
to build the whole cluster chain for the file.
4) Once we have a list of all clusters, the BOOT sector then load all
clusters
into memory.
5) If there is no read error, the BOOT sector will perform a FAR jump
into the DOS code.
...And about directories, the BOOT sector ALWAYS assume that the file
IO.SYS is on the ROOT directory.
You can find more informations (with source code) by looking at the
FreeDOS project (http://www.freedos.org)
Frédéric Pasteleurs
metalbu...@yahoo.fr