jaclaz

Patched IO.SYS for 9x/ME

152 posts in this topic

Just stumbled on this:

http://home.exetel.com.au/phelum/w98.htm

Windows 98SE incorrectly registers LBA partitions in some cases. This causes phantom drives to appear in Explorer. The problem is caused by a bug in IO.SYS and occurs when an LBA partition occurs in a non-LBA extended partition or is the first drive encountered after processing a non-LBA extended partition. This bug is also present in the Windows ME IO.SYS.

The patched version of IO.SYS in the link below :-

.....

Maybe mdgx or any of the other W9x/Me gurus can comment/confirm?

jaclaz

0

Share this post


Link to post
Share on other sites

nice find seems to fix the problem with two usb drives showing up with nusb

0

Share this post


Link to post
Share on other sites

I just tried this modified IO.SYS file on my Win98SE system, and it completely rearranged my drive letters, fortunately not including drive C:!

:no:

Beware..............

0

Share this post


Link to post
Share on other sites
I just tried this modified IO.SYS file on my Win98SE system, and it completely rearranged my drive letters, fortunately not including drive C:!

:no:

Beware..............

Could you please post how your Hard drive is partitioned and how letters were before and after using the patched files? :unsure:

FYI, though unrelated:

Letter Assigner:

http://www.v72735.f2s.com/LetAssig/

jaclaz

0

Share this post


Link to post
Share on other sites
I just tried this modified IO.SYS file on my Win98SE system, and it completely rearranged my drive letters, fortunately not including drive C:!

:no:

Beware..............

Could you please post how your Hard drive is partitioned and how letters were before and after using the patched files? :unsure:

FYI, though unrelated:

Letter Assigner:

http://www.v72735.f2s.com/LetAssig/

jaclaz

My main drive is partitioned into C: (Windows 98SE and System drive) and D: (Windows 2000 drive)

I also have a separate archive drive E:, and a removable EIDE drive F:

If I remember correctly, C: stayed the same, E: became D:, F: became E:

I can't remember what happened to D:!

Very worrying at the time, but fortunately putting the original IO.SYS file back fixed it!

I was I thought facing the horror of using fdisk, which always frightens me to death!

:)

0

Share this post


Link to post
Share on other sites

I see. :)

...but I miss some more details to try and understand what happened...

Drive lettering in general, and expecially with multiple drives depends also on the type of partitions (i.e. Primary vs. Logical Volume inside Extended) and filesystems used, not only type of filesystem but also types of partiion (CHS vs. LBA), usually depending on size of partition.

This is the way it "should" be:

http://support.microsoft.com/kb/51978/en-us

and is consistent with your report if the second partition on your first drive is a logical volume inside an extended partition, and all other drives have not primary partitions, or if all partitions on all drives are primary ones.

Since it is quite rare to find a setup with drives having only Logical volumes inside Extended, it is more probable the second idea, that you have all Primary partitions, which, in the case of first drive having two primary partitions visible by DOS/Win 9x/ME, is a "non-standard" situation.

Where the meaning of "standard" is what FDISK would let you do.

See this thread for some reference:

http://www.msfn.org/board/Drive-letters-sh...d-H-t85729.html

and particularly this post:

http://www.msfn.org/board/Drive-letters-sh....html&st=20

where a possible explanation for different "drive lettering" order on different OS's is attempted.

Most probably the patched files do "correct" this situation along the referenced MS KB also with multiple primary ones. :unsure:

jaclaz

0

Share this post


Link to post
Share on other sites

I certainly only have one primary partition, which is the boot drive C:

This was the only drive not relabelled when I replaced the IO.SYS file.

D: is indeed a logical volume inside an extended partition, on the same physical disk as the C: drive.

The other two drives are not partitioned.

All drives are all FAT32 as they have to be for access under Windows 98 of course.

0

Share this post


Link to post
Share on other sites
The other two drives are not partitioned.

Well, NO.

Any hard drive IS partitioned, at least with ONE partition.

So you have:

C: -> First Active Primary partition (boot drive) on first hard disk

D: -> Logical volume inside Extended partition on first hard disk

E: -> First Primary partition on second hard disk

F: -> First Primary partition on third hard disk

So, theoretically and according to the MS information, drives should be lettered as following:

First Primary partition on first hard drive ->C:

First Primary partition on next (second) hard drive -> D:

First Primary partition on next (third) hard drive -> E:

First volume inside Extended Partition of First hard disk -> F:

The reason why you have (normally) a different scheme of lettering remains a mistery, :unsure: unless you have something else that assingns letters :blink: .

A question (only if you have time and will to experiment, of course ;)):

can you try to boot from a simple Win98 DOS boot floppy and check if drive lettering remains the same?

jaclaz

0

Share this post


Link to post
Share on other sites
The other two drives are not partitioned.

Well, NO.

Any hard drive IS partitioned, at least with ONE partition.

Of course, I should have said that the drives in question are single partitions on separate physical disks!

:)

So you have:

C: -> First Active Primary partition (boot drive) on first hard disk

D: -> Logical volume inside Extended partition on first hard disk

E: -> First Primary partition on second hard disk

F: -> First Primary partition on third hard disk

So, theoretically and according to the MS information, drives should be lettered as following:

First Primary partition on first hard drive ->C:

First Primary partition on next (second) hard drive -> D:

First Primary partition on next (third) hard drive -> E:

First volume inside Extended Partition of First hard disk -> F:

The reason why you have (normally) a different scheme of lettering remains a mistery, :unsure: unless you have something else that assingns letters :blink: .

A question (only if you have time and will to experiment, of course ;)):

can you try to boot from a simple Win98 DOS boot floppy and check if drive lettering remains the same?

jaclaz

Booted from a floppy and the drive letters remained the same, with the addition of a RAM drive G:

My two DVD drives, normally G: and H: became H: and I: as you would expect.

It's so long ago now, but I assigned the drives in DOS using fdisk, and it may well be that to get them the way I wanted them I had to physically disconnect drives so they weren't visible to fdisk.

That may have been the way that I got the extended partition on the first disk to be D:

I do remember that I had to reassign them in Windows 2000 to get the letters the same as in Windows 98, but at least that's relatively easy to do!

Edited by Dave-H
0

Share this post


Link to post
Share on other sites

It's strange. :blink:

I don't think there is a way to "assign" letters with fdisk.

And what you report, besides not being following the MS KB is also different from common experience:

http://www.msfn.org/board/Drive-letters-sh...d-H-t85729.html

The fact that letters remain the same even when booting from floppy should mean that no software like letter assigner is changing drive letters, and thus the only explanation could be if the partitions on second and third hard disk were logical volumes inside extended. :unsure:

The fact that you remember changing drive letters in win2k appears to be consistent with this, as 2K (and XP/2003) use different rules for assigning drive letters:

http://www.dewassoc.com/support/win2000/driveletters.htm

which, would return in your case exactly the lettering scheme you are describing.

jaclaz

0

Share this post


Link to post
Share on other sites

I didn't assign specific letters with fdisk.

What I probably did (and this is a very long time ago now so my memory is hazy!) was to only connect the main hard disk to the system, partition it into two partitions, one of which was primary and made active.

That became the C: drive and the other partition the D: drive.

I then added the other two disks to the system one by one, with single full capacity partitions.

They became E: and F:

You are probably right that they are in fact logical volumes inside extended partitions.

I wasn't aware at the time that I was creating a non-standard configuration!

Accepting that my configuration is non-standard, why would that mean that changing the IO.SYS file would rearrange the drive letters (presumably to what would have been the standard configuration.)

Are the drive letter assignments actually stored in IO.SYS?

That would certainly explain it.

:yes:

0

Share this post


Link to post
Share on other sites
You are probably right that they are in fact logical volumes inside extended partitions.

If they are, than the "normal" IO.SYS has lettered the drive along what is stated in the MS KB.

I wasn't aware at the time that I was creating a non-standard configuration!

Accepting that my configuration is non-standard, why would that mean that changing the IO.SYS file would rearrange the drive letters (presumably to what would have been the standard configuration.)

Are the drive letter assignments actually stored in IO.SYS?

That would certainly explain it.

:yes:

First thing rest assured that it is, at least theoretically, a "standard" configuration. :) There is no law whatsoever against having a drive with just a big extended partition.

To avoid the drive letters changing when a new drive is inserted, from the "dawn of time" ;) I have always formatted my hard disks with a smallish primary partition and all the rest one big extended partition, with one or more volumes in it.

This way, when I used the drive as second or third hard disk I simply hid the primary partition, but when and if I needed the drive on that or another machine as first drive, I unhid that partition and I would have a bootable system without any need to re-partition or use third party utilities like partition magic.

http://www.msfn.org/board/Files-for-bootin...6.html&st=2

http://www.msfn.org/board/Partition-to-rei...5.html&st=3

But the letter changing with the modified IO.SYS remains still a "mistery", the scope of the patch is to remove the problem that (actually not very often) happens in Win98 or Me when some "non-standard" partitioning schemes (or to be more exact logical volumes inside extended partitins with "wrong" CHS or LBA access) are used, fdisk does not create this situation AFAIK, but other "advanced" third party utilities may do that.

If you used fdisk to create your paritioning scheme, your setup should be "kosher", and the patch, while correcting a possible problem, creates another one. :blink:

Since letter assigner was developed of course we have no more any problems with drive lettering, and we can rename them at will under 9x/Me just like we are used to in NT/2K/XP, but your experience suggest that this patch should be used ONLY if the double lettering happens, and NOT as an "upgrade" patch.

jaclaz

0

Share this post


Link to post
Share on other sites

I agree.

If you're actually having problems with drive letter assignments, or are doing a new installation, then using the modified IO.SYS is probably a good idea.

Otherwise, you need to be careful and be aware that the drive letters you're used to having can get altered by it and you may need to restore the original version to correct this.

:yes:

0

Share this post


Link to post
Share on other sites
Just stumbled on this:

http://home.exetel.com.au/phelum/w98.htm

Windows 98SE incorrectly registers LBA partitions in some cases. This causes phantom drives to appear in Explorer. The problem is caused by a bug in IO.SYS and occurs when an LBA partition occurs in a non-LBA extended partition or is the first drive encountered after processing a non-LBA extended partition. This bug is also present in the Windows ME IO.SYS.

The patched version of IO.SYS in the link below :-

.....

Maybe mdgx or any of the other W9x/Me gurus can comment/confirm?

jaclaz

what about Win98 FE? That Steven guy did not mention Win98 first edition on his page and did not make an IO.SYS patch for Win98 FE.

anyway, I've figured out how to patch the IO.SYS file under Win98 FE thanks to the changes mentioned in his page.

Edited by erpdude8
0

Share this post


Link to post
Share on other sites
what about Win98 FE? That Steven guy did not mention Win98 first edition on his page and did not make an IO.SYS patch for Win98 FE.

anyway, I've figured out how to patch the IO.SYS file under Win98 FE thanks to the changes mentioned in his page.

Care to share what you did here? :unsure:

Or maybe contact Steven Saunderson and tell him, so he can add the info to the page?

jaclaz

Edited by jaclaz
0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.