Jump to content

Patched IO.SYS for 9x/ME


jaclaz

Recommended Posts

It's a prerequisite to install the 311561USA8.EXE update first to update IO.SYS to that version before the new patched version is manually installed.

Then I would like to add that it does not need to be the 311561USA8.EXE hotfix, because RLoew's patch also introduces the CORRECT changes to the Io.sys file installed by the 311561POL8.EXE hotfix and probably also by all the other updates for Windows 98SE still available for download at: http://support.microsoft.com/kb/311561

In general, I think the Microsoft wouldn't have released 27 different language versions of this update without a reason (even more so, because, for example, Polish version doesn't have messages translated to Polish language at all).

So I recommend preinstalling the 311561 hotfix in the correct language version, and then using the RLoew's patch on the Io.sys file installed this way.

One more thing: at least I have exclusively positive experience with overwriting the Io.sys file (ever since MS-DOS 3.3 till now; naturally on the FAT/FAT32 partition), PROVIDED the volumes of these two files are EXACTLY THE SAME: new and old (the one being replaced). So the Io.sys file copied this way by me was always placed in the right place on a disk, the place occupied by the previous Io.sys file.

update:

Well, I wrote these words, and only THEN I decided to see what REALLY differences exist between the various language versions of the amendment 311561 hotfix. Well, it turned out that virtually .... NO. Winboot.98s files (and Winboot.98g) are IDENTICAL, entries in the Windows Registry also practically the same, only the files involved in the installation are in separate languages.

But that does not interfere with using proper language patch for installed in Windows :)

Edited by egrabrych
Link to comment
Share on other sites


@egrabrych:

Yes of course, one should install the correct language version of the KB311561 update. My apologies for being US-centric.

I don't understand your last paragraph at all, however. Do you mean that the old and updated versions of IO.SYS has to physically occupy the exact same location on the HDD? I don't think that's the case AFAIK, as I'm pretty sure my updated IO.SYS did not exactly replace the older file's location. I must be misunderstanding you.

Link to comment
Share on other sites

Do you mean that the old and updated versions of IO.SYS has to physically occupy the exact same location on the HDD? I don't think that's the case AFAIK, as I'm pretty sure my updated IO.SYS did not exactly replace the older file's location. I must be misunderstanding you.

Naah, it is an OLD requisite, up to DOS 6.22 IO.SYS had to be FIRST file in FAT.

Compare with the bootpart.txt attached to bootpart:

http://www.winimage.com/bootpart.htm

This requisite is not needed anymore with DOS 7.x/8.0.

Cannot say if - in "peculiar" cases - the IO.SYS is put beyond some "limit" (say beyond 512 Mb or 8 Gb or 128 Gb :ph34r:) something bad can happen .

jaclaz

Link to comment
Share on other sites

It's a prerequisite to install the 311561USA8.EXE update first to update IO.SYS to that version before the new patched version is manually installed.

Then I would like to add that it does not need to be the 311561USA8.EXE hotfix, because RLoew's patch also introduces the CORRECT changes to the Io.sys file installed by the 311561POL8.EXE hotfix and probably also by all the other updates for Windows 98SE still available for download at: http://support.microsoft.com/kb/311561

In general, I think the Microsoft wouldn't have released 27 different language versions of this update without a reason (even more so, because, for example, Polish version doesn't have messages translated to Polish language at all).

So I recommend preinstalling the 311561 hotfix in the correct language version, and then using the RLoew's patch on the Io.sys file installed this way.

The Pad area I used is just above a text block. If the text for a particular language is longer than the English Version than the Patch will fail. Some languages will work but others need a different Patch. When Patching using my Patch, verify that the OLD data shown matches what is in the File. Dencorso's Version of my Patch is locked to the USA Version or exact equivalents.

One more thing: at least I have exclusively positive experience with overwriting the Io.sys file (ever since MS-DOS 3.3 till now; naturally on the FAT/FAT32 partition), PROVIDED the volumes of these two files are EXACTLY THE SAME: new and old (the one being replaced). So the Io.sys file copied this way by me was always placed in the right place on a disk, the place occupied by the previous Io.sys file.

DOS 7 and it's associated Boot Sectors only require that the first four Sectors of IO.SYS be contiguous. It is no longer necessary that IO.SYS start on Cluster 2 or that it be the first entry in the Root Directory.

Link to comment
Share on other sites

@egrabrych:

Yes of course, one should install the correct language version of the KB311561 update. My apologies for being US-centric.

Hmm... And I just noticed that the Winboot.98s files are in all languages IDENTICAL :)

Well, I wrote these words, and only THEN I decided to see what REALLY differences exist between the various language versions of the amendment 311561 hotfix. Well, it turned out that virtually .... NO. Winboot.98s files (and Winboot.98g) are IDENTICAL, entries in the Windows Registry also practically the same, only the files involved in the installation are in separate languages.

But that does not interfere with using proper language patch for installed in Windows

I don't understand your last paragraph at all, however. Do you mean that the old and updated versions of IO.SYS has to physically occupy the exact same location on the HDD? I don't think that's the case AFAIK, as I'm pretty sure my updated IO.SYS did not exactly replace the older file's location. I must be misunderstanding you.

It seems that I am a "dinosaur".

From Wikipedia:

IO.SYS must be the first file stored in the data storage area for files (...) must be contiguous.

- So it was in earlier versions of DOS, but in DOS 7.0 and 7.10 probably does not need to be. So please forgive me ... though what I wrote was (formerly) true.

Link to comment
Share on other sites

Thanks jaclaz, rloew, and egrabrych. Just for technical education, how would you accomplish that (copying IO.SYS to a specific cluster(s)/location on the HDD)? And now that you mention it, I do recall reading that Wikipedia article a long time ago.

Edited by Prozactive
Link to comment
Share on other sites

Hmm... And I just noticed that the Winboot.98s files are in all languages IDENTICAL :)

Well, I wrote these words, and only THEN I decided to see what REALLY differences exist between the various language versions of the amendment 311561 hotfix. Well, it turned out that virtually .... NO. Winboot.98s files (and Winboot.98g) are IDENTICAL, entries in the Windows Registry also practically the same, only the files involved in the installation are in separate languages.

But that does not interfere with using proper language patch for installed in Windows

Sure. Did I ever rant about nobody ever searching the forum anymore yet? :P

Localized Q311561... It's too bad, however that

http://old.winpack.org/petr/98/311561/*

doesn't exist anymore, and it's a part of the contents of "old.winpack.org" that wasn't preserved by the Wayback Machine. :wacko:

However, I'm sure some of our members must have saved copies of the POL8 version, and it's possible MDGx may have saved a copy of them all. Then again, in order to be able to use Petr's localized version with RLoew's complete patch, a special version of it would be required, and, since most users never noticed Q311561 IO.SYS isn't really localized, I'd say it's not worth the effort.

This is just my 2 ¢, of course.

how would you accomplish that (copying IO.SYS to a specific cluster(s)/location on the HDD)?

Given a partition that has just been formatted, if you just copy IO.SYS alone to it, using DOS, it'll be copied as a single continuous image, starting at cluster 2 (the first cluster). Now, to put in a continuous image of any file, starting at an arbitrary cluster number, especially when the partition in not empty anymore, that requires a lot more calisthenics and patience, but can be acomplished by hand, with a good hexeditor/sector-copier, by anyone who has a really strong reason to do it (like learning how-to, for instance).

Link to comment
Share on other sites

I have written a Patching Program that will add the Partition Offset Bug Fix to IO.SYS. This program will work with the original IO.SYS as well as the recommended Updated IO.SYS Version.

This version should work with any of the Localized Versions as well.

Use the following commands to perform the Patch.

C:

CD \

REN IO.SYS IO.OLD

PATCHPAR IO.OLD IO.SYS

Edited by rloew
Link to comment
Share on other sites

Yes, I thought I could go straight from the original 23 Apr 1999 version of IO.SYS to the latest patched version from rloew but that's apparently not the case. It's a prerequisite to install the 311561USA8.EXE update first to update IO.SYS to that version before the new patched version is manually installed.

This seems strange. I'm pretty sure I've done this (with my version of phelum's patches) without any dramas. Did you immediately reboot after changing 'IO.SYS' (just in case some copy of 'IO.SYS' in memory gets reloaded and then code addresses have changed, or some such confusion)?

how would you accomplish that (copying IO.SYS to a specific cluster(s)/location on the HDD)?

Given a partition that has just been formatted, if you just copy IO.SYS alone to it, using DOS, it'll be copied as a single continuous image, starting at cluster 2 (the first cluster). Now, to put in a continuous image of any file, starting at an arbitrary cluster number, especially when the partition in not empty anymore, that requires a lot more calisthenics and patience, but can be acomplished by hand, with a good hexeditor/sector-copier, by anyone who has a really strong reason to do it (like learning how-to, for instance).

Well, according to Mr Loew, only the first 2K of 'IO.SYS' needs to be contiguous, so the problem shouldn't normally arise for FAT16 partitions of 64M (or greater) or FAT32 partitions of 128M (or greater), see : http://support.microsoft.com/kb/140365

Joe.

PS. Earlier O/S seemed to start using 2K cluster size with smaller partitions : http://support.microsoft.com/kb/67321

Edited by jds
Link to comment
Share on other sites

Yes, I thought I could go straight from the original 23 Apr 1999 version of IO.SYS to the latest patched version from rloew but that's apparently not the case. It's a prerequisite to install the 311561USA8.EXE update first to update IO.SYS to that version before the new patched version is manually installed.

This seems strange. I'm pretty sure I've done this (with my version of phelum's patches) without any dramas. Did you immediately reboot after changing 'IO.SYS' (just in case some copy of 'IO.SYS' in memory gets reloaded and then code addresses have changed, or some such confusion)?

I'm positive I did it numerous times. I usually populate my unusual disk images by hand, not using sys.com, because it *requires* physical media to work, since it relies on DOS Absolute Disk Read/Write (INT 25H/26H) services to create/modify the boot sector. In fact, it'll fail silently on any image mounted by Grub4DOS, under DOS, or mounted by VDM/VDK, under the NT-OSes. Hence I use a hexeditor to transfer and edit the boot sector (nowadays using jaclaz's excel worksheet to actually create the boot sector), then copy first IO.SYS, then COMMAND.COM, then whatever else I want in the image. It just works. And that's why I said it makes no sense. I do not doubt Prozactive had a problem and solved it by applying KB311561, but I do doubt that the applying of that hotfix was really the factor leading to the actual solution of the issue.

Link to comment
Share on other sites

how would you accomplish that (copying IO.SYS to a specific cluster(s)/location on the HDD)?

Given a partition that has just been formatted, if you just copy IO.SYS alone to it, using DOS, it'll be copied as a single continuous image, starting at cluster 2 (the first cluster). Now, to put in a continuous image of any file, starting at an arbitrary cluster number, especially when the partition in not empty anymore, that requires a lot more calisthenics and patience, but can be acomplished by hand, with a good hexeditor/sector-copier, by anyone who has a really strong reason to do it (like learning how-to, for instance).

Or you can use bootpart (as said) to "rewriteroot" (i.e. to put the IO.SYS as first file).

A set of related handy (though a bit complex to use/potentially dangerous) are here:

http://www.partitionsupport.com/utilities.htm

@egrabrych

Sometimes (read often) reality becomes a myth, the fact that traditionally an OS behaves in a given way makes people assume that the new version will behave the same (actually this happens often) but some things "remain" and little by little it becomes a myth.

Recently while doing a few experiments with DOS FORMAT /B I found another little quirk (obslete info perpetuating).

I will post this in a new thread as to not clutter this one.

jaclaz

P.S.: OK, posted here:

Edited by jaclaz
Link to comment
Share on other sites

Yes, I thought I could go straight from the original 23 Apr 1999 version of IO.SYS to the latest patched version from rloew but that's apparently not the case. It's a prerequisite to install the 311561USA8.EXE update first to update IO.SYS to that version before the new patched version is manually installed.

This seems strange. I'm pretty sure I've done this (with my version of phelum's patches) without any dramas. Did you immediately reboot after changing 'IO.SYS' (just in case some copy of 'IO.SYS' in memory gets reloaded and then code addresses have changed, or some such confusion)?

Yes I was quite surprised too. It seems quite definitive though, at least on my laptop. I booted up into DOS from a boot diskette, renamed and replaced IO.SYS with the latest patched version from rloew via dencorso's patch file (had to change file attributes for IO.SYS with the ATTRIB command to do so), then immediately rebooted into Win98 whereupon I got the previously cited Windows system registry error. Restoring IO.SYS to the original Win98SE (23-Apr-99) version immediately eliminated the error, as did running the 311561USA8.EXE update *before* manually updating IO.SYS. I assumed that the 311561USA8.EXE update must've made some required registry changes to accommodate the new IO.SYS it installed.

EDIT: I should also note that the same Windows system registry error also recurred after the automatic DOS-based registry checker fixed some registry error(s) after the first mandatory reboot. And again, the file sizes of IO.SYS are different between the two versions.

I plan to repeat this update process with my desktop PC soon and I'll report back if there are any differences. Over the years, there *have* been some differences in how things work between the two systems even though they both run Win98SE and are configured very similarly. I assumed they were probably due to hardware differences.

Edited by Prozactive
Link to comment
Share on other sites

I've been following this discussion with interest, and decided to see what's on my Windows 98SE installation.

I have two IO.SYS files on the system, one in the root of C:\ which is dated 23/04/99 22.22, which I assume is the 98SE original version.

I also have a copy in my Emergency Boot Disk folder, which is dated 01/12/01 09.37.

The two files are not the same as they are slightly different sizes.

I've not had any problem accessing drives, so should I worry about applying any or all of these patches?

:)

Link to comment
Share on other sites

Over the years, there *have* been some differences in how things work between the two systems even though they both run Win98SE and are configured very similarly. I assumed they were probably due to hardware differences.

And "bit rot"... bit rot is the informatics equivalent to material's fatigue, or, in other words, bit rot is the cumulative collection of small non fatal registry errors and file corruptions that can happen on a system over a really long time. To fight it, using periodical images to fall back to, whenever something perceptible is noticed, is part of the game, but the problem are those small damages that don't lead to any symptoms, until activated by some other such "harmless-in-itself" damage. My current main Win 98SE was originally installed back in 2001, and never reinstalled so far, so I do think I'm fighting bit rot effectively, but one can never really know for sure.

Link to comment
Share on other sites

I've been following this discussion with interest, and decided to see what's on my Windows 98SE installation.

I have two IO.SYS files on the system, one in the root of C:\ which is dated 23/04/99 22.22, which I assume is the 98SE original version.

I also have a copy in my Emergency Boot Disk folder, which is dated 01/12/01 09.37.

The two files are not the same as they are slightly different sizes.

I've not had any problem accessing drives, so should I worry about applying any or all of these patches?

:)

The EBD Folder Version is the Updated IO.SYS. Use that one with my Patch. Then use the resulting File to replace the C:\IO.SYS File.

@Prozactive: I have never used the 311561USA8.EXE Patch on any system. I just used the File inside, so the registry is not the issue.

Edited by rloew
Link to comment
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.
×
×
  • Create New...