Help - Search - Members - Calendar
Full Version: Little known 98 fix
MSFN Forums > Microsoft Software Products - Discussion & Support > Windows 95/98/98SE/ME

   
Google Internet Forums Unattended CD/DVD Guide
Shotgun
Here's a trick that can solve at least 80% of Windows 98 problems, when regarding to drivers (vxd's). It seems the Windows 98 setup does not copy a series of files to the \windows\system and \windows\system\vmm32 directories. If under Device manager, the drivers for any device (ex: display card) shows a driver name in lower case between parenthesis, it means that Windows could not find that driver and instead substituted it with the driver name shown BEFORE the parenthesis.

It seems that the following drivers are not copied by the Windows 98 Setup:
  • vcomm.vxd
  • vdmad.vxd
  • configmg.vxd
  • vdd.vxd
  • vmouse.vxd
  • ntkern.vxd
  • vflatd.vxd
a quick fix so that Windows finds the drivers and uses them is to do this:

- open a command prompt window.
- change to the directory where the Windows 98 cab files are located (\windows\options\cabs or from the Win98 folder on the install CD)
- write this (each extract line should be a SINGLE line, here it appears wrapped)
CODE
extract /l c:\windows\system /a win98_22.cab vcomm.vxd vdmad.vxd configmg.vxd vdd.vxd vmouse.vxd ntkern.vxd vflatd.vxd

extract /l c:\windows\system\vmm32  /a win98_22.cab vcomm.vxd vdmad.vxd configmg.vxd vdd.vxd vmouse.vxd ntkern.vxd vflatd.vxd


When I used Windows 98, this provided a lot more stability and fixed many lock-ups I had experience before.

The trick also seems to fix some problems with windows 95, althou instead of using win98_22.cab, windows 95 users should use win95_02 in the mentioned code.
Sunil
Excellent Find!!
Shotgun
QUOTE (Sunil @ Dec 9 2003, 08:12 PM)
Excellent Find!!

Not really a find, but something I used at work everyday in the past years. Now, I don't use it so much so I shared it. It should be useful for those who (like me) need to provide support to win98 sporadically.
Tarun
I wonder if this will work on WinME as well.
Shotgun
If under Device Manager you go (for example) to the video card and click on Properties -> Driver Properties and you see one of the mentioned drivers between parenthesis; it should work. I don't have Me installed so I don't remember which cab you should specify in the command line. A quick check on the WinMe install folder should give you an idea which is the first one (they are numbered in sequence).
Tarun
Thanks Shotgun. It's worth a shot. I want to make my OS run at 99% again. I took a screenshot of when I did this once.
If I mess anything up, I'll use GoBack. GoBack is a far better utility than System Restore. In fact, I remove System Restore. I get +5% system resources back from stopping it from loading. Same with PCHealth.
Tarun
The 99% System Resources free that I mentioned.
CompRules

Note: This was when I had a desktop theme on and had not yet disabled system restore. Pic is a year or two old.
Tarun
I found that IOS.vxd is also needed on WinME.
For the ME users:
CODE
Open DOS prompt.
cd C:\Windows\Options\Install
extract /l c:\windows\system /a win_20.cab vcomm.vxd vdmad.vxd configmg.vxd vdd.vxd vmouse.vxd ntkern.vxd vflatd.vxd ios.vxd
extract /l c:\windows\system\vmm32 /a win_20.cab vcomm.vxd vdmad.vxd configmg.vxd vdd.vxd vmouse.vxd ntkern.vxd vflatd.vxd ios.vxd
Shotgun
Nice to know. It seems Microsoft did not update as much of the install/setup routines as much as we would like to think. This "bug" is consistently evident from Windows 95 up to Windows Me.

You're right about the IOS.VXD file, I forgot that WinMe uses that one also. Maybe someone could compile a .vbs script or something that could check if the 9x system needs the fix or not and apply it automatically? That would really be a time saver for people like me that every once in a while have to support older systems.
Tarun
It's like you read my mind.

I was considering writing a VB application, or perhaps a .bat file to do this. I may proceed with the vb app, as I have a file checker code that will look for these files. Maybe I'll do that later today. I estimate it will be a 40kb size file. (Haven't coded it yet though)
Tarun
I have almost completed writing the vb application. The only thing I need is a method to either 1. Call command.com for the DOS prompt and have the preset string to patch the OS, or 2. a way for the vb app to remove the files from the cab and put them where they should go.
gosh
lol that's not a bug. Win9x setup builds a file called vmm32.vxd during setup. This file is referred to as the "gumble", because it is automatically made during setup, and is different on each system. For this reason it may seem that setup doesn't copy some vcd's, the truth is these vxd's are built into the gumble.


I used to troubleshoot win9x heavily, and i never had to manually copy files into the iosubsys or vmm32 folder to fix a problem.

-gosh
Shotgun
I also know my VB code, but lately I'm busy with both my engineering studies and work, so I hardly have any spare time. There's an article at Microsoft that shows how to determine the OS type and version, although it is for C++. Maybe there's a way to port the same concept to VB. That would make it easier to test for OSes that don't need the "fix".
Shotgun
QUOTE (gosh @ Feb 3 2004, 12:09 AM)
lol that's not a bug.  Win9x setup builds a file called vmm32.vxd during setup.  This file is referred to as the "gumble", because it is automatically made during setup, and is different on each system.  For this reason it may seem that setup doesn't copy some vcd's, the truth is these vxd's are built into the gumble.


I used to troubleshoot win9x heavily, and i never had to manually copy files into the iosubsys or vmm32 folder to fix a problem.

-gosh

I stand corrected. The vmm32.vxd file "bundles" many vxd's. It is updated everytime the 9x kernel boots.

However, on practical experience I have found 9x systems give less trouble if the vxd's exist as individual files instead of being bundled into a single file. Apart from the fact of lower memory usage.

Also, some vxd in the vmm32.vxd file don't get updated as they should, even when Microsoft says the contrary. You can't get to the driver properties (version, date, etc.) when drivers are bundled into vmm32.vxd (had to make to many programming "somersaults" to get that info). I haven't noticed any quicker boot-up due to the existance of the single vmm32.vxd "bundle" file, versus a system with the "fix" applied (individual vxd files, instead of bundled into vmm32.vxd).
Tarun
Re: Shotgun
I actually used some API calls in VB to do a registry lookup to find the version of Windows.

I've uploaded the patch and it's over 100kb.

I'll give the url in a new topic.
Highspeedmac
This is one of the best fixes for Win98 I have found.
Thank you so much for your post.

Just Great thumbup.gif woot.gif laugh.gif

Oh Yea My Resources went from 83% to 97% just with
this fix Alone. thumbup.gif
Shotgun
QUOTE (Highspeedmac @ Feb 19 2004, 10:11 PM)
Oh Yea My Resources went from 83% to 97% just with
this fix Alone. thumbup.gif

14% up! Wow! laugh.gif

In a 40Mb RAM system (typical for 98 systems), that's about 5.6Mb more free RAM! thumbup.gif

That's because windows is now loading the drivers it REALLY needs when necessary, instead of loading the whole "bundle" that vmm32.vxd represents. That's the way all modern high-level languages and apps work, just load what you need when you need it, then unload it when no longer needed.

I believe some MS programmers (at that time, when 98 was made) just thought to re-invent something that was already there in the first place. Why load a bunch of drivers into 1 big file when it's more efficient and memory-wise to load only those drivers that you need?

Beats me wacko.gif
Highspeedmac
Shotgun

I have tried it again on my mothers Pc.
She has 144mb ram, her Computers resources were 89% Free.
Now they are 95% free thumbup.gif

On the first pc I use this fix on, you know, "went from 83% to 97%".
The system has become very stable, and much faster. thumbup.gif

Now, my Question to you is this.

You got anything to speed up my Windows Xp Laptop? laugh.gif
Cause as it stands now my 500mhz DeskTop Is running circles
around my 3Ghz Laptop. huh.gif

Your post has got to be the all time best Tweak/Fix, I have ever come
across on the net. Keep up the good work Shotgun.
Shotgun
QUOTE (Tarun @ Feb 3 2004, 08:20 PM)
Re: Shotgun
I actually used some API calls in VB to do a registry lookup to find the version of Windows.

I've uploaded the patch and it's over 100kb.

I'll give the url in a new topic.

Where? I can't find it! blink.gif

@Highspeedmac: Nice! That's why I started to use this 'fix' in the first place. Lesser system 'freezes' with some apps, more free resources and overall higher stability (even from a 9x system!).

Made a search today on Google and found out it is no longer a "little known" fix, but from my experience using it, I've never found a 98 system that experienced a decrease in performance or free resources from using the fix. To the contrary, ALL systems that I applied the fix demonstrated an increase in stability and performance. Some more than others (mostly by hw differences) but in all a considerable performance boost was VERY noticeable.

Sorry but my experience with XP mostly is from support-only perspective, personally I use Windows 2000 and haven't had the "urge" yet to change to XP. Maybe to XP Pro later, but right now I'm pretty happy with what I have.
Tarun
As it's late for me where I am, my brain has shutdown for the night.

If you mean my WinPatcher, go here: http://downloads.locias.com/shared/WinPatcher.exe
Or here: http://www.MSFN.org/board/index.php?showtopic=14571

As for the API's and such, I could email you the module I utilized. I'll send you a message with my email address.
Tarun
I found something rather interesting. A web page about what we have discussed here. It makes you think, really.

http://www.infinisource.com/techfiles/vmm32.html
Shotgun
QUOTE (Tarun @ Feb 23 2004, 11:43 PM)
I found something rather interesting.  A web page about what we have discussed here.  It makes you think, really.

http://www.infinisource.com/techfiles/vmm32.html

I have that webpage saved as a local file for reference. That's what I implied in my post of Feb 3 2004, 02:08 PM. The VMM32.VXD file "bundles" other commonly used vxd's into it. That way, windows 98 kernel will "find" them "faster", than loading them from disk.

The problem is (my point of view) that the whole VMM32.VXD file takes up a LOT more precious RAM, doesn't allow apps to get to the properties of each individual vxd (version, date, etc.) easily and can get too easily corrupted.

Upon experimenting with applying the "fix" (which is nothing more than copying the individual vxd's into the subdirs they are supposed to be in the first place) the system reacts a lot quicker, there are more free resources (RAM) and since the 98 kernel unloads drivers from memory that it does not need; the overall performance increase is noticeable. Like I mentioned MS programmers at that time seemed to be reinventing the wheel trying to "optimize" something that was already optimized. The overall VMM32.VXD "feature" is more troublesome and prone to generating new problems rather than the "optimized" performance it was created for.
Google Internet Forums Unattended CD/DVD Guide
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.