Win98启动时死机的原因
关注+2004-10-07作者:蓝点
Win98启动时死机的原因比较复杂,因为Win98在系统引导时要经过一个彻底的硬、软件检测过程,其中的任何一个环节都可能引起系统工作不正常。如果排除硬件损坏和病毒引起的Win98系统不能正常启动,那么更多的原因是系统设置不当或某些文件损坏引起的。
★ 系统第一次启动就死机 ★
如系统第一次启动就死机,应怀疑硬件安装或设置有问题。这时,应在系统引导出现“Start Windows 98”时立即按下F8键,选择“Safe Mode”(安全模式)启动系统。解决步骤如下:
① 打开控制面板/系统/设备管理器,查看各硬件前面有无“!”或“?”,如果有可以删除该设备,重启让Win98自动搜索新硬件。或者可以手动修改重新分配该硬件的中断地址。如果不能排除故障,还可以选中“在此硬件配置文件中禁用”复选框,如果能正常启动成功,证明这个硬件本身或驱动程序有问题,只能更换该硬件或升级它的驱动程序。
② 单击“开始/运行”,在打开的框中输入“msconfig”(系统配置实用程序),可以禁用Autoexec.bat和Config.sys,因为这两个文件是用来装载和启动DOS实模式状态下的驱动程序和应用程序,而WIN98却使用自己的32位保护模式的驱动程序。二者很容易引起冲突,因此如果你不在DOS下工作,完全可以删除它们。
③ 在启动组中可以只保留最基本的启动选项,例如:ScanRegistry、SystemTray、internat.exe;另外也可以选择“诊断启动——以交互方式装入驱动程序及软件”,这样可以在启动的过程中逐一加载驱动程序,查看故障原因。
③ 如果因为安装了某个应用软件以后出现不能启动Win98,可以进入安全模式把该应用软件卸载掉。如果进不了安全模式,还可以在DOS下运行Scanreg/Restore恢复注册表备份文件,然后再进入Win98系统卸载该应用软件。
④ 如果是注册表损坏,可以在DOS模式下运行Scanreg/Fix修复注册表文件,如果不行,还可以运行Scanreg/Restore恢复出现故障之前的注册表备份文件。你就可以将不能正常启动的计算机恢复到最近五次能正常启动任意一次的系统设置。当然前提条件是你有备份过注册表文章,且出现故障的时间不能超过五天。因为一般情况下,注册表只保留五天之内的注册表文件。
另外,还有几点需要注意的地方:
① 禁止32位磁盘存取
如果硬盘不支持32位存取方式,那么系统会在启动过程中挂起。运行msconfig(系统配置实用程序),单击“高级”选中“强制兼容方式磁盘访问”复选框,“确定”。重新启动计算机。如果计算机正常启动,则说明硬盘太陈旧了,不能支持32位存取方式,应将它换掉。
如果系统无法使用“Safe Mode”进入安全模式,则可按F8键通过“Command Prompt Only”项进入DOS状态。键入“WIN/D:F”来启动Win98。如果成功,同样说明系统拒绝采用32位磁盘存取模式来运行Win98。
② 保证基于BIOS的磁盘操作
如果采用上述方法不能成功,那么Win 98可能要求使用基于BIOS的磁盘操作系统。运行msconfig(系统配置实用程序),单击“高级”,选中“禁止虚拟HD IRQ”复选框,“确定”,重启系统。
如果系统无法使用“Safe mode”进入安全模式,则可按F8键通过“Command Prompt Only”项进入DOS状态。键入“WIN/D:V”来启动Win98。如果启动成功,那么可在Windows目录下的SYSTEM.ini文件中的[386Enh]项目后面加入下列设置:VirtualHDirq=0
③ 禁止Win98使用ROM断点
一个ROM断点是PC BIOS中的一个地址,它含有Win98从安全模式转换成实模式时所使用的指令。一般情况下,Win98在指定地址寻找那些断点指令。但是,如果使用了第三方内存管理程序,需禁止使用ROM断点。运行msconfig(系统配置实用程序),单击“高级”,选中“禁用系统ROM断点”复选框,“确定”,重启,如启动成功,说明系统不能使用ROM断点。
如果系统无法使用“Safe mode”进入安全模式,则可按F8键通过“Command Prompt Only”项进入DOS状态。键入“WIN/D:S”来启动Windows98。如果启动成功,那么可在Windows目录下的SYSTEM.INI文件中的[386Enh]项目后面加入下列设置:SystemROMBreakPoint=0
④ 禁止Windows 98使用视频卡内存
系统无法使用视频卡内存可能引起启动失败,可禁止使用它。步骤与上述方法一样,仅仅在“高级”选项中,选中“EMM不包含A000-FFFF”复选框即可。
如果系统无法进入安全模式,也可用与上面相同的方法进入DOS状态,键入“WIN/D:X”,如果启动成功,那么可在System.ini文件中[386Enh]项目后面加入下列设置:EMMExclude=A000-FFFF
★ 不能正常启动且也不能进入安全模式 ★
在重新启动时按下F8键,选择第4项“step-by-step confirmation”进入单步运行方式。接着屏幕会出现Process the system registry [Enter=Y,ESC=N]?选项,如果按下Y,计算机就死机。这时可以重新启动按F8键,选第4项后,只在Device=C:\Windows\himem.sys这一项上按Y,其余的按N,然后在DOS提示符下输入Scanreg/fix修复注册表或者是Scanreg/restore恢复到以前系统自动备份的注册表后,再重新启动即可。
在出现Create a startuplog file(BOOTLOG.TXT)[Enter=Y,ESC=N]时选择Y建立Bootlog.txt文件,可以检查启动过程中各个系统文件装载的情况。如果在装载某个.vxd文件时死机,可以到其他计算机上将该.vxd文件拷贝过来。如果还不行,就在启动时按F8后选择第5项Command prompt only 后,用edit打开bootlog.txt。在这个文件中如有[XXXXXXXX]Load Vxd=vmouse表示装载vxd文件在内存地址为XXXXXXXX,[XXXXXXXX]LoadSuccess=vmouse表示装载成功;如果显示的是Loadfailed或者是DEVICEINITFILED,那么一定要注意是什么文件出错了。一般来说,如果是vxd文件,可以到其他计算机上把这个文件复制过来;如果是DEVICEINITFILED,可以把驱动程序中相应文件重新复制一个过来。
★ 出现“Starting Windows 98……”信息后死机 ★
这种故障多是由于Windows 98的DOS启动部分受到损坏。如果有安装Windows 98时创建的启动盘,将此盘插入软驱重新启动机器,启动后使用“SYS C:”命令向C盘传送系统即可。如安装时没有建立启动盘,可到其他机器上通过“控制面板/添加删除程序/创建启动盘”来创建启动盘。但要注意,传输的系统版本须与原系统版本一致,否则系统无法启动。
另外,Win98根目录下还有一个关键的启动文件——Msdos.sys,它是一个配置文件,控制着Win98启动参数。如果缺少或被修改了正确启动信息,Win98也将无法启动。最好的办法就是备份该文件。
★ 开机以后出现Windows 98保护错误故障 ★
开机或安装新软件后重新启动计算机时,硬盘指示灯闪了许久,屏幕上出现“Windows protection error. Yout need restart your computer”(Windows保护出错,需重新启动计算机)。
故障原因是注册表包含了引用不存在或已损坏的文件的注册表项,而注册表检查程序不会修复该注册表项,从而使启动失败。新安装的软件不完善或与Windows的兼容性不好,或对Windows的误操作,都可能破坏注册表包含的文件,造成Windows保护错误故障。
启动时按F8键进入启动菜单,选“step-by-step confirmation”启动计算机;按ESC键忽略config.sys和autoexec.bat,加载其它程序项;如果可以进入系统,点击“控制面板”下的“添加/删除程序”,并选“Windows安装程序”;
随意找出一项组件,去掉复选框的“√”,按“确定”,删除后再将其打上“√”,然后再按“确定”;将Windows系统安装盘放进光驱,按“确定”,开始安装;重新启动计算机,一般可恢复正常。
★ 启动后立即自动关机 ★
产生该故障的原因是Win98启动时,设置驱动程序转载出错,导致系统认为硬件无法正常工作。
可以在系统启动出现“Start Windows 98”时按下F8键,利用启动模式中的“Step-by-step confirmation”选项来确认。如果系统运行至“Load all Windows drivers[ENTER=Y,ESC=N]”时,按回车键后出现安全关机信息,则肯定是这个原因。
重新启动系统,进入Windows安全模式(Safe mode)。打开Windows目录下的System.INI,检查其中的boot项,将每一条装载的驱动程序与C:\Windows\System下对应的drv文件对比,即检查[boot]项后面扩展名为drv的语句的等号右边的驱动程序名是否与C:\Windows\System下对应的drv文件的文件名相一致,若不一致则加以更正。若System.INI所指定的驱动程序丢失或受到破坏,则可从其他机器的Windows 98系统中拷贝过来。如无法拷贝,也可临时在该行前加注解符“;”跳过该行。
★ 启动时屏幕显示“关闭系统” ★
如果您的系统中vmm32.vxd或wininit.exe文件丢失或损坏就可能出现这种情况。想要解决这个问题可以采用以下方法:
① 更新wininit.exe文件
Win98的安装盘中将wininit.exe解压缩到您的计算机的Windows目录下,或从其它机器上拷贝一份,然后重新启动计算机。
② 重新创建vmm32.vxd文件
在Win98的安装盘中有vmm32.vxd这个文件,可以在DOS模式下运行:extract /a e:\win98\win98_46.cab vmm32.vxd /l c:\windows\system,但是如果将这个版本的vmm32.vxd文件解压缩到您的计算机中并不能解决这个问题,因为这是一个不完整的版本。您必须运行setup重新创建一个特定系统的vmm32.vxd文件。当然也不能从其它的机器拷贝vmm32.vxd文件到你的机器上使用。
重启以后选择进入Command Prompt Only模式,键入“cd \windows\system”回车,键入“ren vmm32.vxd vmm32.old”,将原来的vmm32.vxd改名。重新安装Win98。这样可以创建新的vmm32.vxd文件。我提醒大家最好把这个文件复制一份到软盘,以防万一。
★ 启动时提示“*.vxd文件丢失”或“*.386文件出错” ★
由于没有正确、完整地安装软硬件,或者在删除软硬件时,删除掉了系统或者共享的虚拟设备文件(*.VXD文件)造成的。解决办法:
① 重新安装最近删除过的软件,并使用反安装程序卸载这些软件。
② 点击“开始/程序/附件/系统工具/系统信息”,在系统信息的“工具”菜单中选择“系统文件检查器”,按提示对系统文件进行检查并修复(需要系统安装盘)。
③ 运行“msconfig”,在“system.ini”选项卡中,打开“[386Enh]”,找到涉及设备驱动程序的行,单击以清除掉此行旁的复选框,然后单击“确定”,按提示重启。
④ 运行“regedit”,找到“HKEY_LOCAL_MACHINE\System\Current ControlServices\VxD”。在该键下查找并删除掉含有无效数据、空数据或仅含空格的“Static VxD”值。
如果错误信息涉及.386 文件,请禁用 System.ini文件中的[386Enh]涉及设备驱动程序的行。
⑤ 如果不能进入Win98,此时最好使用Win98启动盘提供的Ext命令按以下步骤进行恢复:
记下丢失的文件名称和路径,用事先准备的Win98启动盘,选择多重配置启动菜单中的第一项(加载通用CD-ROM驱动程序并创建一个大小为2MB的RAM驱动器)启动电脑。启动后进入RAM驱动器,敲入Ext后回车。
在提示“Please enter the path to the Windows CAB files(a):”后输入Win98安装压缩包所在的完整路径,如“F:\Pwin98\Win98”,完成后回车。
在提示“Please enter the name(s) of the file(s) you want to extract:”后输入你记下的丢失文件名,如“Bios.Vxd”,回车。
在解压路径提示“Please enter path to extract to ("Enter" for current directory):”后输入文件将被解压的完整路径,如C:\Windows\System并敲回车。
最后出现确认提示“Is this OK?(y/n):”,输入y后回车。Ext程序会自动查找安装盘中的CAB压缩包,并将文件释放到指定的位置。
⑥ 如果手边没有Win98启动盘。则只能用Win98\Command目录中的Extract命令提取丢失文件。Extract命令的格式如下:
1.Extract [/Y] [/A] [/D | /E] [/L DIR] CABINET [FILENAME…]
2.Extract [/Y] S