Missing ifsmgr.vxd and ios.vxd in Windows 95---help, please

I have an old instrument running Windows 95 and also deleted some necessary files as the OP did. Although I currently cannot access either link provided below from a question years ago (http://www.experts-exchange.com/OS/Microsoft_Operating_Systems/Windows/98/Q_20640468.html) due to work filters, it seems that the first link (for the ifsmgr.vxd file) is no longer valid---can anyone point me to another possible site for downloading?

Greetings, RamPeti!
   Download ifsmgr.vxd from here


Ios.vxd from here

Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

I've just built a Windows 95 OSR2 VM and copied them out for you.  They're in this zip file:

The files live in c:\windows\system\vmm32\

Happy Christmas!
☠ MASQ ☠Commented:
You already have those files on your Win95 CD, which is good because these kernel files are still ©Microsoft and shouldn't be uploaded. Make sure you use the file for your installed version of Win95.

You can extract them either using a compression utility like 7zip (free) or WinRAR (paid with trial period) or you can use Windows' Extract tool (or pretty much any other compression utility as they have all subsequently included Microsoft's Cabinet file system)

For example:
extract c:\windows\options\cabs\win95_04.cab ifsmgr.vxd /l c:\windows\system\VMM32
extract c:\windows\options\cabs\win95_03.cab ios.vxd /l c:\windows\system\VMM32

Will move the files to c:\windows\system\VMM location for virtual memory drivers.

Check first though if they are already there.

The two files you need are on the CD in win95_04.cab for IOS.VXD and in win95_03.cab for IFSMGR.VXD (although they appear in multiple .cab cabinet files in the Win95 folder).

Simply reinstalling them may not help though, BSODs from these files can also be due to driver installation errors and, depending on what else has been removed, you may find there are other repairs that are needed as both these VXDs index drivers loaded into Device Manager.

Often the best fix is to try to get Win95 limping along in Safe Mode and then perform the fixes.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Hello CLMaggio

Masqueraid (I Am Spartacus) has given a very good answer, however there is something that you need to know about Windows 9x and *.VXD files.

The file     C:\Windows\System\VMM32.vxd    is a compressed archive containing quite a few separate *.vxd files.  These are slimline versions without headers which can be loaded from within vmm32.vxd more quickly than if they were just VXD files stored separately on the hard drive.

When Windows is installed, VMM32.VXD is populated with a number of essential VXD files and then, as time goes on and different updates are installed, VMM32.VXD has its contents added to and updated.

In Device Manager you can see which devices are using a VXD driver file from within VMM32.VXD, because it will show the location of the driver as (example here):
C:\Windows\System\vmm32.vxd (ios.vxd)

A list of the VXD files that are packed into VMM32.VXD is stored in the registry in the key:


It's easy enough to export this list to a text file in the TEMP folder using the command:

regedit /e "%TEMP%\vmm32_files.txt" HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\VMM32Files

As far as I am aware, IOS.VXD and IFSMGR.VXD are normally packed into C:\Windows\System\VMM32.VXD rather than being installed as separate files to C:\Windows\System\VMM32.

Occasionally VMM32.VXD can become corrupt, or perhaps the area(s) of the hard drive where the file is saved can become damaged, in which case the drivers cannot be loaded.  In this case it is possible to rebuild VMM32.VXD and repopulate it.  Ignore any suggestions that tell you to extract VMM32.VXD from a *.CAB file on your Windows CD and copy it to C:\Windows\System.  This will not work because it is only the skeleton file yet to be populated.

One method is as stated by Masqueraid (I Am Spartacus), which is to extract the individual (missing) VXD files to C:\Windows\System\VMM32.  Any loose VXD files in that folder will be used BEFORE and INSTEAD OF the ones inside VMM32.VXD.  That is one solution, but the VXD files will not load as quickly AT BOOT TIME as they will when properly packed into VMM32.VXD.

If speed of booting is an issue, then you want to pack the VXD files into VMM32.VXD properly.    There is a specific process where you extract loose *.VXD files to a folder, create a new WININIT.INI file naming all the VXD files which are to be packed into  VMM32.VXD, and when the system next boots Windows will read the "Combine" and "CombineVxDs" commands to perform the job.

The first thing you would have to do is copy the existing *.VXD files in
to another folder, like a new folder named:
and rename the existing VXD files in the VMM32 folder to *.BAK files.
You will probably also want to create a backup copy of C:\Windows\System\vmm32.vxd and then rename the existing one as vmm32.bak.

Next you want to get a list of the VXD files currently inside your VMM32.VXD file from the registry using this command:

regedit /e "%TEMP%\vmm32_files.txt" HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\VMM32Files

Move "vmm32_files.txt" from your TEMP folder to a suitable working folder and name it "GETVXD.BAT".  Create a copy of it for later use and name it "WININIT.INI".

Right-Click the *.BAT file and choose Edit to open it in Windows Notepad.  It will look something like this:


etc, etc

Delete the top "regedit" lines and then use the Find --> Replace menu option to replace all occurrences of   "=hex:00   with   nothing at all.

Your list should now be:


Do a Find --> Replace to substitute all occurrences of the leading quotation with this line and a trailing single space:
extract /a /y D:\win95\win95_02.cab
The letter D should be substituted for the drive letter of your CD Drive OR the full path to your "win95" folder if you have copied it from the CD to a hard drive folder)

You should now have lines like this:

extract /a /y D:\win95\win95_02.cab biosxlat.vxd
extract /a /y D:\win95\win95_02.cab combuff.vxd
extract /a /y D:\win95\win95_02.cab configmg.vxd

Make it into a Batch file as follows:

@echo off
cd \windows\system
extract /a /y D:\win95\win95_02.cab vmm32.vxd
cd \windows\system\vmm32
extract /a /y D:\win95\win95_02.cab biosxlat.vxd
extract /a /y D:\win95\win95_02.cab combuff.vxd
extract /a /y D:\win95\win95_02.cab configmg.vxd
REM  The rest of the list here
echo COMPLETE. Press any key to close DOS Window ...

NOTE:  You have already backed up your existing VMM32.VXD file, so the batch file will extract the new skeleton one to the new folder.  If you want to try this first with your existing VMM32.VXD file to see if it refreshes the files in it, then leave out the lines:

cd \windows\system
extract /a /y D:\win95\win95_02.cab vmm32.vxd

or remark them out of the batch file like this:

@echo off
REM cd \windows\system
REM extract /a /y D:\win95\win95_02.cab vmm32.vxd
cd \windows\system\vmm32
extract /a /y D:\win95\win95_02.cab biosxlat.vxd
etc, etc.

Save the file.

Now open your WININIT.INI file in Windows Notepad.  Remember that it will look like this:


etc, etc

Delete the "regedit" lines and then do a Find --> Replace, finding    "=hex:00   and replacing all instances with   =c:\windows\system\vmm32.vxd

Next do a Find --> Replace and have it substitute all instances of the quotation mark   "   with   c:\windows\system\vmm32\

Add some additional lines to give you this layout:


; The rest of the list here

Save WININIT.INI and copy or move it to your C:\WINDOWS folder.

Double-Click on your GETVXD.BAT file to extract all the *.vxd files in the list to C:\Windows\System\VMM32.

Now compare the list of extracted VXD files with the list in the BAT file to ensure that they all extracted properly.

Assuming they did, you now need to compare the file versions and date stamps of the VXD files that were ALREADY loose in the VMM32 folder (renamed as *.BAK files) with those of the same name that were extracted from the CAB files.  I suggest that you keep the newest versions and rename the older ones as BAK files.

When you now restart your computer WININIT.INI will be processed, and as it does so you will see a "Please wait while Setup updates..." message.  While the new VMM32.VXD file is created from the individual *.vxd files in the C:\Windows\system\vmm32 folder, all the loose files that are successfully packed into it will be deleted from the VMM32 folder.  If any remain there, they will be your *.BAK files (which can be later deleted) or files that were not listed in your wininit.ini file, and which should remain there.

If you have any problems, you can always replace all the original files that you should have backed up.

If you intend to try this process but have any reservations that require clarification, now is the time to clarify them.

As the chap with the Roman name already stated, "Often the best fix is to try to get Win95 limping along in Safe Mode and then perform the fixes.", and with this I agree.
Become a Certified Penetration Testing Engineer

This CPTE Certified Penetration Testing Engineer course covers everything you need to know about becoming a Certified Penetration Testing Engineer. Career Path: Professional roles include Ethical Hackers, Security Consultants, System Administrators, and Chief Security Officers.

☠ MASQ ☠Commented:
Thanks BillDL as ever a great response - just to add (IIRC) in Win95 you can get PnP to rebuilt the VMM32.VXD by deleting all the entries manually from Device Manager.  Several restarts later all the drivers would be reintegrated into the main file.
I hadn't thought of that, but it's always handy to know such things.
CLMaggioAuthor Commented:
Thanks for the prompt and detailed replies. Unfortunately, I'm no PC guru, but hopefully I can manage to figure things out with the help you guys provided. I did forget to include a couple of important details:
1. I don't have the installation CD (or floppy disks), and the PC only has a floppy drive
2. The PC will not boot up. I can only get to DOS/CMD, not even safe mode

I have downloaded the files cantoris set up and will extract them from a floppy onto the PC. Does this command seem like it will work if the floppy drive = a:?

extract /y /a /l c:\windows\system a:\(filenames)
☠ MASQ ☠Commented:
If the file extension on the unzipped files is .VXD you don't need the extract command, you can just copy them into the \System32\ folder (if the files already exist there back them up to a safe location first rather than simply overwrite them.  Those files are only good for Win95 OSR2.
CLMaggioAuthor Commented:
Sorry for the delayed response, and thanks to all who have tried to help so far.
I copied the ifsmgr.vxd and ios.vxd files over and was apparently successful, but now am being prompted that the "msmouse.vxd" file within c:\windows\system is missing---where can I get a copy?
CLMaggioAuthor Commented:
BUMP (hope that's allowed here). Thanks to all again and sorry for the week-long delay---with the holidays and a couple vacation days, I was away from the office for a while.

If someone can help me get my hands on the msmouse.vxd file, I think I'll be back in business in no time...
...... you think?  ;-)

OK, I've attached a copy of "msmouse.vxd" (version  4.0.950B Date/Time: 24 August 1996, 11:11:10) from the "win95_12.cab" of a Windows 95 OSR2 CD which you will have to rename from a *.txt file back to a *.vxd file.
I think you may be caught up in an endless cycle here, and as soon as you implant replacement VXD files you are going to get more errors related to additional ones.  It sounds like your VMM32.vxd file is corrupt, or else the area(s) of the hard drive that the files is stored in has file system corruption or platter damage.

If I was in your situation, I would probably do the following (more advice available on request):

1. From the command prompt, type   VER   and ascertain the exact version of Win95.  It might give you the revision number if you type   VER /R

Retail and OEM first release: 4.0.950
Retail with Service Pack 1 installed and OEM Service Release 1: (4.00.950A) 4.00.950
Retail with Service Pack 2 installed and OEM Service Release 2 (OSR2): (4.00.950B) 4.00.1111
USB Supplement for OSR2 - system files may show version 4.03.1212
Retail with Service Pack 2.1 installed and OEM Service Release 2.1: (4.00.950B) 4.03.1212-1214
Retail with Service Pack 2.1 installed and OEM Service Release 2.5: (4.00.950C) 4.03.1214

- Up to the release of 4.00.950B (4.00.1111) Windows 95 only supported FAT16 formatted hard drives, and thereafter supported FAT32 hard drives up to 2.1 GB in size.
- Basic USB support only came into effect with the supplement for OSR2 and with Service Release 2.1 (4.00.950B v4.03.1212-1214).

2. Check the computer and see whether it has two separate IDE sockets on the motherboard.  If so, then you can connect a CD-Rom drive to the 2nd socket with a proper ribbon cable.  The hard drive will have a ribbon cable from a motherboard slot named the "Primary", and if there is another one it will be right next to it usually named "Secondary" (sometimes these are IDE0 and IDE1 or IDE1 and IDE2).  The hard drive will probably be connected to the end connector of a ribbon cable with two connectors on it (Primary Master).  If so, then you only need that one and you should be able to connect a properly jumpered CD-Rom drive to the 2nd connector that is normally about 75% along the cable to make it Primary Slave.  Alternatively set the jumper on the CD-Rom drive's pins to "Master" and connect it to the 2nd IDE slot with a ribbon cable to make it "Secondary Master".  By looking at the back of the hard drive you can normally ascertain whether it needs a jumper over any of the pins to set it as "Master" (some need a 2nd jumper that means "Master with Slave Present").  Some are set to "Cable Select", or CSL, where the positioning of drives on the cable determines which is master and which is slave, in which case the drive on the end is Master and the one in the middle is set as Slave.  Sometimes you need to boot into the CMOS Setup Screen (BIOS) and set the "Integrated Devices" to "Both IDE Channels Enabled".  Buy, borrow, or otherwise acquire a CD-Rom drive.

3. Test that the CD-Rom drive is accessible after booting the computer to a Win9x Boot Floppy with CD-Rom Support.  You can download suitable packages that run on any Windows system to create a boot floppy with CD-Rom drivers, and I will provide links if you go down this path.

4. If you are still reading and it has worked so far, Search eBay for a Windows 95 CD of the same version of Windows.  Don't be tempted to buy floppy disks, because they were a very unreliable form of storage and probably won't work any longer. I'm sure you will get a CD for less than $10 US.

Just in case you actually need to reinstall Windows, or run a repair install and install it right back into C:\Windows, you would need the "CD Key" and can find it on your computer as detailed below.  The purpose of having the CD, however, is to use it as the source from which to extract replacement VXD files rather than transferring a few at a time (from various sources) using floppies.

By good fortune the Windows 95 registry key is not encrypted and can be easily seen in the registry.  In Regedit you would navigate to the following key:
and in the right-hand pane find the "ProductId" value.
The data value of "ProductId" should be the actual Win95 Product Key formatted like: XXXXX-XXXXX-XXXXX-XXXXX-XXXXX

Where you can't boot to Windows, but can get into the Command Prompt, you can run the Regedit command to export a named registry key to a named file with this command:

c:\windows\regedit /e "c:\regout.txt" "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion"

If that doesn't work, then you may have to specify the location of the System.dat file in the command:

c:\windows\regedit /e /L:c:\windows\system.dat "c:\regout.txt" "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion"

You should then be able to search that file and have it display the "ProductId" value with this command:

type c:\regout.txt | find /i "ProductId"

If that doesn't work, then either of these ones should:

edit c:\regout.txt
more < c:\regout.txt

The following command may be simpler, and it should search both of the Win95 registry files C:\Windows\System.dat and C:\Windows\User.dat for the named key and display the results directly on screen.

c:\Windows\command\find /i "ProductId" c:\windows\system.dat

The first line of the screen dump will look like this:
ProductKey XXXXX-XXXXX-XXXXX-XXXXX-XXXXX where the X's are your actual CD Key.

There should not be too many "ProductId" values to fgind, but if the screen scrolls down so far that you can't see from the first line, then you can redirect the screen output to a file that can then be read as described earlier:

c:\Windows\command\find /i "ProductId" c:\windows\system.dat>c:\regout.txt

5. If you reach here, then you are ready to extract the files and rebuild your VMM32.vxd file properly.
CLMaggioAuthor Commented:
Thanks for the help, Bill.
As I should have known, I was too optimistic...The msmouse.vxd file was apparently still within c:\windows\system, so I copied the original over to the vmm32 subfolder before overwriting it with the new version. However, upon restart in safe mode, there is simply a blinking cursor on screen and nothing happens. Restarting in normal mode gives a message of "Either memory is insufficient to run KRNL386.exe or the value of the WINDOWMEMSIZE entry is SYSTEM.INI is too large. You need to run the Setup program again. Hit any key to continue", then "It is now safe to turn off your computer"---and the cycle repeats once you reboot, so I guess I'm stuck.

I will try following the detailed directions given in the rest of your post when time permits and will report back, hopefully early next week at the latest.
CLMaggioAuthor Commented:
Not much of an update, but I now have a Win95 CD and am awaiting help from someone more skilled than I to ensure a successfull fix in the coming days---I will update then.

On a related note, I have another question that I need help with...
This all started because I was trying to create more disk space and apparently deleted something I should not have. To remove/backup some data files that all have the same filename (i.e. "sample result.xxx") but are within separate subfolders, is there some easy method besides copying EVERY folder with all contents within?
The following comments addressed the problem directly and provided full instructions:

https:#a39741549 (Masq)
https:#a39744784 (BillDL)
https:#a39741547 (cantoris)
Thank you Mr. Wolfe
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Windows OS

From novice to tech pro — start learning today.