Best of luck and pass the aspirin.
When I boot up my computer and the Windows 98 loading screen appears, I get an error message, stating that my system.ini file refers to a vxd file that no longer exists, I should reinstall the program or uninstall it, etc etc. I hit a key to continue, and Windows continues to give me this same error message with a corresponding list of about 50 vxd files which are apparently missing. Most of them, if not all, are found in a Windows subdirectory called Vmm32, which I discovered no longer exists (I booted into DOS to find this out). When I get to the end of the list, it says, "Windows Protection Error, you should restart," so I hit a key to restart, and the computer shuts off. I have reinstalled Windows, but no luck. My best guess is to replace my current System.ini file with another one, (which I think should be possible through DOS), I just do not know if there is another solution or if there is an official way of restoring the system.ini file. I would prefer not to lose all my files on the hard drive, as I have not backed up in a good long time.
I do not know what brought about this problem. I think I was trying to install drivers for a very minimal part of my computer.
1. A Virtualization Driver (VxD) is a 32-bit protected-mode driver that manages system resources such as a hardware device or installed software so that more than one application can use a resource at the same time. VxD refers to a general virtualization driver where "x" represents the type of device driver:
a. VDD - A virtualization driver for a display
b. VTD - A virtualization driver for a printer
c. Windows dynamically loads VxDs, but only those needed at any given time are loaded into memory. In addition, newly loaded VxDs do not require all their memory to be page-locked, thereby further increasing available system memory.
d. VxDs support all hardware devices including disk controllers, serial and parallel ports, keyboard and display devices, and etc.
e. While VxDs dynamically support device drivers, the virtual device keeps track of the status of the device for any application using one. Within the Windows environment, the ability to switch between multiple applications is commonplace. Each application used could interrupt the use of another by opening an application. Since an interruption can lead to problems with the use of a second application trying to access a device, the virtual device driver has the responsibility to checks and manages the states of all device applications. Furthermore, the virtual device ensures that the device is in the correct mode whenever an application continues operation after a period of inactivity. Although most virtual devices manage hardware, some such as an MS-DOS device drivers (or a TSR programs), manage only installed software and such virtual devices contain code to emulate the software or ensure that the software uses data that applies only to the currently running application. Also, VxDs are often used to improve software performance.
f. Legacy Virtualization Drivers - though non-portable, they can allow the use of legacy hardware interface. Such VxDs then acts as a "mapper" between the Windows VxD architecture and the Win32 Driver Model (WDM) architecture. For example, Joyhid.vxd forwards HID class driver information on a Vjoyd.vxd.
Note: HID = Human Interface Device classes (standard input devices, such as keyboards, mouse devices, joysticks, and game pads).
2. Supplemental reading: "Error Message: Cannot Find a Device File That May Be Needed to Run Windows (Q132008)."
3. The real-mode boot loader Win.com loads the monolithic file VMM32.VXD into memory during boot and then loads other dynamic virtual device driver (VxDs) files contained in the Windows\System\Vmm32 folder. Please note that any of the files in that folder, to include the Vmm32.vxd file itself, may have become corrupted and cause system anomalies.
a. Drivers contained in this files is a long list located in the system registry:
b. Additional files loaded besides those in this list are any VXD files present in the "C:\WINDOWS\SYSTEM\VMM32" folder.
c. The VMM32 program switches the computer's processor from real-mode to protected-mode and is a three-phase VxD initialization process in which the drivers are loaded according to their InitDevice name instead of the order in which they are loaded into memory. VxD loads are carried out in the following sequence, outlined and described in "Q127970":
(1) SYS_CRITICAL_INIT (SYSCRITINIT):
Interrupts are disabled during this phase. This gives VxDs time to prepare for device initialization without being interrupted by the system. No file I/O is allowed during SYSCRITINIT, so all SYSCRITINITs are not written to a Bootlog.txt file until after SYSCRITINIT is complete for all VxDs.
(2) SYS_DEVICE_INIT (DEVICEINIT):
The bulk of the VxD initialization takes place during this phase. File I/O is allowed during DEVICEINIT so each VxD's DEVICEINIT is logged as it occurs. The one exception is during Ifsmgr's DEVICEINIT. Ifsmgr takes over the real-mode file system and disk I/O is not allowed until Ifsmgr's DEVICEINIT succeeds. For this reason, Ifsmgr does not appear in the DEVICEINIT phase.
When a DevLoader VxD is called, it loads other drivers it is responsible for regardless of their InitDevice order. The DevLoader examines the Registry and finds drivers (for example, port drivers or .mpd files) and any associated support drivers and then initializes the device associated with them. During this phase if a VxD failed to initialize, or it was unable to properly communicate with a hardware device or service it, an error is renders and is typically due to incorrect hardware settings or a service was not present.
Remaining static VxDs continue the initialization phase and certain dynamic VxDs may also begin during this phase even though they do not have a SYSCRITINIT phase. In addition, dynamic VxDs may load anytime after Windows starts.
(3) SYS_INIT_COMPLETE (INITCOMPLETE):
VxDs that successfully pass the InitComplete phase should work properly. A VxD reflected in one of the previous phases which was not successfully initialized, is unloaded from memory.
(4) GUI Components:
After all static VxDs are loaded, the Krnl32.dll, Gdi.exe, User.exe, and Explorer.exe (the default Windows shell) files are loaded.
d. Since the WIN32.VXD file is a monolithic file, it is not a file which can be replaced directly through the use of the System File Checker tool. It can be replaced by extraction of a new file, however Windows must then be reinstalled and the newer monolithic WIN32.VXD file is then properly rebuilt. However, this does not mean that some errant x.VXD somewhere else isn't the major culprit and is the cause of a system problem which did not get corrected through this process. I know that many users have never been able to figure this out -- including me for sometime, and was left with the option of wiping the entire system and starting from scratch. An in-depth discussion concerning the monolithic file Win32.VXD file, please read through the TechNet article "Setup Technical Discussion - Chapter Five".
e. Supplemental reading:
(1) "Invalid VxD Dynamic Link Call from... (Q137335)."
(2) "Windows 95/98 Boots Directly to "Shut Down" Screen (Q141898)."
(3) "Initializing Device IOS Windows Protection Error (Q263466)."
(4) "Error Message: While Initializing Device IOS an I/O Subsystem Driver Failed to Load... (Q311108)."
Hint: Simply because of this scenario, I keep an archived copy of files in the Windows\System\Vmm32 folder in a subfolder underneath it, labeled Hold. I do this as a ready means of quickly replacing any or all files should a match problem occur or one becomes corrupted.
4. Use the System File Checker tool to verify the integrity of all system files. After scanning for altered files, it offers to restore corrupted files. If a file is found to be corrupt, you will be prompted to restore the original file. By clicking Settings, SFC can also be configured to notify you of changed and deleted files. If you choose to restore a file, SFC attempts to extract the file from the original Windows 98 installation source.
a. The above is what Microsoft states the System File Checker does. Please note however they do not state that it is limited to only files issued and installed by Microsoft media, since this is not true.
(1) Maybe we could say that it's lying to us but really, that utility will track other files besides. Take for instance a file which is listed as added in my SFCLOG file by the name of "Adobeweb.dll". That file is not issued with any Microsoft media that I can ascertain but had been on the system at one time and then deleted. Since it was missing on a subsequent run of the SFC tool, SFC wanted to know what I wanted to do about it. After some investigation and determining why, I updated the log to exclude it.
(2) Now that we know this we also need to know where files originate in order to extract them, right. Right? So, if a file cannot be extracted from a media for the operating system (OS), then it must come from another source, right. Right? Or else the proper path was not rendered for the media to be used.
b. The System File Checker (Sfc.exe) (Click to see an example screenshot) helps you do two things by:
(1) Scanning system files for corrupt, missing, or changed files (Click to see a screenshot of options offered for use) for all major applications which have been installed on the system - not just the Windows OS. Windows-based applications commonly install shared files that may not be compatible with another application in use. You can use System File Checker to track changes to your Windows configuration and identify the affected files.
(2) Restoring original Windows 98 system files and others at the option of the user.
Note: Make note of all files that displays a dialog box requesting your action.
c. When you uninstall a program, System File Checker reports that files necessary for that program (for example, files with .exe, .dll, and .ocx extensions) has been deleted. Select #d below to update the SFC bookkeeping. Look at the dialog menu for four prompts in the section titled, What do you want to do.
Note: After installing any program, run System File Checker to determine what files dates and versions may have changed. Quickly step through the prompts and select the appropriate option to eliminate that response on subsequence runs.
(1) Update verification information - Select this option if you have deleted this file or uninstalled an application recently.
(2) Restore file - Select this option if you want to restore the file from your installation disk.
Note: If you click Extract One File From Installation Disk, you can specify the file you want to extract simply by typing the correct name and extension. Point the system to where it goes and will be extracted from by using browse.
(3) Ignore - Select this option to ignore the warning. The next time you use System File Checker you will be prompted about this file again.
(4) Update verification information for all deleted files - Select this option if you have deleted many files or an application has been uninstalled recently. Otherwise, you will be prompted to verify each individual file:
Note: Two choice are likely:
d. #2 The file it replaced is a newer file or an earlier version than the file replacing it - restore file.
e. #3 The file replaced is older as well as the version than the newer file - ignore.
Note: When #2 is selected, a context menu will prompt you for the Windows media and give you an option to indicate where this media is to be retrieved from. Normally, this is the Windows CD and the drive which designates the CD-ROM drive. Make the appropriate selection and the file will be restored to its correct default location.
f. When certain other tools in the Microsoft System Information utility have been used prior to running the SFC there are virtual device driver (.vxd) files normally updated after their use. SFC will always prompt when one of thee files are found with a newer date: Drwatson.vxd, Hwinfod.vxd, and Msisys.vxd. Simple click the option to Update verification information.
g. Installed IE v5.0 or V5.1 recently: - "Error Message: System File Checker Identified that the Following File may Be Corrupted. File: EXTRAC32.EXE (Q264865)."
WARNING: Be aware of SFC extracting the incorrect version of certain files. For example, the User.exe, GDI.EXE, Setupx.dll and/or Krnl386.exe files: - "System File Checker Tool Extracts Incorrect File Versions (Q192832)"
Hint: If you have the Windows media resident on your hard disk you may want to rename the Mini.cab in that folder to something else. At least take the b off the end the extension and you'll not forget when running SFC that an incorrect file could be extracted from it.
h. Supplemental reading:
(1) "Prompted for CD-ROM When You Run System File Checker While Correct CD-ROM Is in Drive - Q263499."
(2) "Error Message: The File Was Not Found. Verify That You Have Selected the Correct 'Restore from' Location and Try Again - Q180465."
(3) "Unable to Extract the Desk.cpl File from the Windows 98 CD-ROM - Q193312."
(4) "System File Checker", a TechNet article.
(5) "Using System File Checker", a TechNet article.
Help, my PC with Windows 10 won't shut down properly
Since upgrading to Windows 10 my computer won't shut down properly. I use the menu button shutdown and the screen goes blank, but the system does not fully shut down. The only way to get it to shut down is to hold the physical power button down till it shuts down. Any suggestions?