Vmm32.vxd what does this mean


My computer says I have lost the following path vmm32.vxd what does this mean, how do I get to reboot the computer using a diskette


This question was answered on March 10, 2003. Much of the information contained herein may have changed since posting.

Vmm32.vxd is a monolithic driver file made up of a number of various *.vxd files It is a W4 format archive using the MRCI compression of Drivespace However, to keep things simple, you can think of it as a archive of different *.vxd files combined into one library file that can loaded as one file but that the individual files within it can be used as if they were individually loaded Basically vmm32.vxd just contains a collection of different *.vxd files your system needs for startup, each file is stripped of the headers that are required if that same file was loaded separately Between the stripped headers and the compression used in vmm32.vxd it is considerably smaller that all the individual files, contributing to its faster load time One of the most important things about vmm32.vxd is that the actual *.vxd files it contains is determined for each system on an individual basis during the original Win9X installation to that system, and that the vmm32.vxd file on one system may be quite different than the one on another system So if your file gets corrupted you can't just copy the one from you buddy's system and expect it to work unless his system was 100% ientical to yours at the time you each installed the exact same version of Win9X You also have to know that the vmm32.vxd file that can be extracted from the Win9X cab files is just a skeleton file that is used to build upon during the Win9X installation process, so just extracting it will not restore a corrupted vmm32.vxd file If you did extract vmm32.vxd from your cab files and overwrote the one in your \Windows\system directory with it, the result would be a system that you could not start Win9X on.

you may have a large number of updated *.vxd files in your \Windows\system\vmm32 directory and would like to return to having the files load via the faster loading vmm32.vxd Personally I don't think that the load time difference is worth the effort but since vmm32.vxd can be rebuilt I will tell you how



Some of the steps only tell you what needs to be done and not how to do it If you don't know how to do it, then I suggest that you should re-consider attempting this procedure

In this archive are samples of what the 2 batch files you are going to create should look like As written they may not be appropriate for your system, so please follow the steps below to create batch files for your system, and use the samples only as a guide to what your completed batch files should look like

The entire procedure can be run from within the Win9X GUI, there is no need to start in Real Mode DOS, as is the case with the earlier version of this procedure

Note that in my examples in some of the steps, I only show 3 entries for file lists that will be much larger (probably 40 or more lines) Also for these batch files you will be creating case does not matter

First you must know what files are in your current vmm32.vxd file You can get a list from the registry at HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Control \ VMM32Files Since the list is rather long, and because this procedure involves creating a batch file using this list of file names, the easiest thing to do is export this key to VMM32.REG

Open VMM32.REG in any editor that you want An editor with Search and Replace (abbreviated as S&R in this procedure) capability is best (thus NotePad will not do, but WordPad will) The steps in this procedure are written to take advantage of S&R The editor you use must allow you to save the results to an ASCII text file

Delete the first few lines so that you are left with a list that looks something like the following:




Save what you have so far as WININIT.INI, which we use later in this procedure

Now continuing editing VMM32.REG and using S&R enter "=hex:00 (Note the leading quote mark in this text) as the search string and leave the replace text blank and then do a Replace All You should now have a list that looks something like:




Now replace all occurrences of " (a single quote mark) with one of the following text strings:

extract /a /y H:\win95\win95_02.cab (for Win95 users)


extract /a /y H:\win98\base4.cab (for Win98 users)

Note: In the above commands you have to change H:\win95 or H:\win98 to the actual path that your Win9X cab files can be found at whether it be a CD directory or some HD directory Also note that there needs to be a SPACE at the end of the replace string When you have completed this step your file needs to look similar to:

extract /a /y H:\win98\base4.cab biosxlat.vxd

extract /a /y H:\win98\base4.cab combuff.vxd

extract /a /y H:\win98\base4.cab configmg.vxd

Now ADD the following 5 lines to the TOP of the file:

@echo off


cd \windows\system

extract /a /y H:\win98\base4.cab vmm32.vxd

cd \windows\system\vmm32

The C: in the second line must be changed if you have Win9X installed on a different drive You need to change the two CD commands accordingly if \Windows is not your base Win9X directory These commands are necessary to ensure that the files get extracted from the cab files to the appropriate locations on your HD

Now ADD lines similar to what's below to the END of the file The purpose of these lines is just to give you some sort of an on-screen message when GETVXD.BAT finishes so that you will know it, and also know that it is OK to close the Dos Window that will be left open:


echo extraction of files is complete, it's ok to close the dos window now

Now compare your list of file of files to be extracted to those files that currently exist in your \Windows\system\vmm32 directory If any files in your list already exist in this directory chances are that they are newer versions than what is on your CD It is up to you to determine this If you determine that the version of a file in your \Windows\system\vmm32 directory is newer than what is in your cab files, then Delete that entry from the list because we don't want to overwrite a newer version already existing in the directory with an older one that will be extracted from your cab files

Save your work as GETVXD.BAT

Load the WININIT.INI saved in step 4 into your editor

Using S&R enter "=hex:00 (Note the leading quote mark in this text) as the search text and for the replacement text enter =c:\windows\system\vmm32.vxd (adjust the drive\path if necessary) and then perform a Replace All You should now have a list that looks something like:




Using S&R enter " (a single quote mark) as the search text and c:\windows\system\vmm32\ (adjust drive\path if necessary) as the replacement text and perform a Replace All You should now have a list that looks something like:




At the TOP of the file add a section header of [SetupOptions] and under it Combine=1, Under this add another section header of [CombineVxDs] Your file should now be similar to:







Once you have your file looking like the above example save it keeping the name WININIT.INI

Move WININIT.INI and GETVXD.BAT from wherever you saved them with your editor to your \Windows directory

Although not required for the rest of the procedure to work, I strongly suggest that you backup any files that already exist in your \Windows\system\vmm32 directory as well as your current vmm32.vxd file and your current registry How you backup these files is up to you

In the Start > Run dialog enter GETVXD and click on OK to start the batch file which should log you on to the HD that contains Win9X, change to the appropriate directories and extract all file to these directories, automatically overwriting any files that exist with the same filename Depending on your system speed this batch file may take a while to execute due to the simple way it was written which caused only one file to be extracted from the cabs at a time I don't think you will be using this batch file often enough to worry about combining filenames on an extract command line to save a little time by extracting multiple files at a time

Restart Win9X and during the startup process, WININIT.INI will be processed While wininit.ini is being processed you will get a Please wait while Setup updates.. message on your screen, as the new vmm32.vxd file is created from the individual files in the \Windows\system\vmm32 directory During the process, all files combined into vmm32.vxd will be deleted from the \Windows\system\vmm32 directory leaving only those that do not belong in vmm32.vxd (were not listed in your wininit.ini file) which should have been there before starting this procedure

That's it, you should have re-built your vmm32.vxd file If everything is working, BACKUP your new vmm32.vxd file now, so if anything happens to it you don't have to repeat this procedure

What if I can't start Win9X or have other problems:

Recovery is quite simple if you followed my suggestion to make backups All you should have to do is replace \Windows\system\vmm32.vxd and delete any files in the \Windows\system\vmm32 directory that were not there when you started If you made backup, then you should be able to delete everything in this directory and just restore it from your backup The procedure causes NO changes, additions or deletions to your registry, so you should not need to restore it However if you can't start Win9X, then you did something wrong and since regedit.exe was used you may have accidentally corrupted your registry and if this is the case you may have to restore it from you backup So you can either do it now or wait and see if it is required after you attempt to restart Win9X after restoring your original vmm32.vxd and \Windows\system\vmm32 files

Need Help with this Issue?

We help people with technology! It's what we do.
Schedule an Appointment with a location for help!


Posted by Eugene of Katharine Gibbs School - New York on March 10, 2003