解决常见WinXP启动故障的技巧
1、NTLDR is missing当你从Win9X升级到Windows XP的时候
1)、Clone以后的问题:当你想把使用Clone制作的Win9x升级到Windows XP,那么很容易出现一句提示:NTLDR is missing。
当然,要出现这种情况必须满足下列要求:
a)、系统/启动分区是FAT32文件系统。
b)、计算机的启动使用了INT-13中断扩展启动。一般现在的主流电脑都是使用了这种方式。
c)、因为在Clone的时候,刻录后的系统的存放于FAT32 BIOS Parameter Block(BPD)的值和物理驱动器的几何分布不匹配。
但是为什么可以启动Win9X呢?原因是这样的:Win9x启动的时候忽略了BPD的值,即使这个值是非法的。但是在Win200/XP里面需要这个值,如果这个值是非法的,那么启动将失败。
解决:重写FAT32 BPB里面正确的值 ,然后使用Windows XP里面Fixboot命令重写Windows XP启动代码即可。具体的操作如下:使用一张含有SYS.COM的Win9X启动盘启动电脑,执行SYS C:命令,然后重新启动,会发现无法启动Windows XP,这不要紧,这是正常的现象。然后再次重新启动,使用Windows XP安装光盘启动,进入故障恢复控制台,执行fixboot即可。如果你不会使用故障恢复控制台,那么还有一个方法:在Win9X里面执行Windows XP安装,系统拷贝完文件以后会重新启动,启动的是后手已经要快速按下方向键的上或下箭头,然后选择Windows回到Win9X下,接着编辑Boot.ini文件,确认你的Boot.ini文件和你电脑上Windows XP的启动相匹配,最后删除C盘根目录上以$开头的全部文件即可。
2)、文件丢失/破坏:这个文件位于C盘根目录,我们只需要从Windows XP安装光盘里面提取这个文件,然后放到C盘根目录上即可。
2、I/O错误,Win9X启动失败
这个问题一般是由于错误删除C盘根目录上的一个启动Win9x的重要文件bootsect.dos造成的。这个文件储存了启动Win9x的必须代码,而且这个文件的创建是在安装Windows XP的时候自动创建的,Windows XP里面并没有相应的命令可以直接解决这个问题。但是我们可以采用另外一种方法解决。
解决:使用一张含有SYS.COM的Win9X启动盘启动电脑,执行SYS C:命令,然后重新启动,会发现无法启动Windows XP,这不要紧,这是正常的现象。然后再次重新启动,使用Windows XP安装光盘启动,进入故障恢复控制台,执行fixboot即可。如果你不会使用故障恢复控制台,那么还有一个方法:在Win9X里面执行Windows XP安装,系统拷贝完文件以后会重新启动,启动的是后手已经要快速按下方向键的上或下箭头,然后选择Windows回到Win9X下,接着编辑Boot.ini文件,确认你的Boot.ini文件和你电脑上Windows XP的启动相匹配,最后删除C盘根目录上以$开头的全部文件即可。
3、Boot.ini文件非法
这个问题一般是由于boot.ini文件丢失或格式不正确造成的。boot.ini文件的格式一般是下面这种类型的:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\Windows
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\Windows="Microsoft Windows XP Professional" /fastdetect
4、找不到HAL.DLL文件,启动中止
这个是由于C盘根目录下的boot.ini文件非法,导致默认从C:\Windows启动,但是又由于你的Windows XP没有安装在C盘,所以系统提示找不到HAL.DLL文件。启动因而失败。解决方法是重新编辑Boot.ini文件。我们有很多方法编辑这个文件,下面我挑选几种便于操作的介绍给大家:
1)、使用Win9X启动盘启动,使用EDIT.EXE命令编辑这个文件。启动EDIT.EXE以后只要按照正确的格式输入Boot.ini文件的内容,保存为Boot.ini文件即可。
2)、使用COPY CON命令创建一个Boot.ini文件。在DOS下输入Copy Con C:\boot.ini以后回车。然后按照Boot.ini文件的格式输入,每输入一行敲一次回车键,当全部内容输入完毕以后,按CTRL+Z,屏幕上会看到^Z的提示。这个时候再敲一次回车,系统会提示1 file(s) copied.这就表示创建成功了。
3)、使用故障恢复控制台里面的bootcfg命令。具体的使用方法请大家查看Q330184一文。我在这里就不介绍了。
4)、在别的电脑上创建好以后,拷贝到受损电脑的C盘根目录上覆盖源文件即可。
5、安装的简体中文版的Windows XP在启动选单的时候不是英文提示
一般是由于C:\bootfont.bin丢失造成的,但是如果你安装了更高版本的英文版本的Windows,那么这个现象就是很正常的。如果没有的话,从Windows XP安装光盘里面提取bootfont.bin到C盘根目录即可。
6、安装 Windows 2000 后无法启动 Windows XP
症状:安装 Windows 2000 后试图启动 Windows XP 时,您可能会收到下面的错误消息:
"Starting Windows...
Windows 2000 could not start because the following file is missing or corrupt: \WINDOWS\SYSTEM32\CONFIG\SYSTEMd startup options for Windows 2000, press F8.
You can attempt to repair this file by starting Windows 2000 Setup using the original Setup floppy disk or CD-ROM.
Select ’r’ at the first screen to start repair."
原因:出现此问题的原因是,在 Windows 2000 发行时 Windows XP 尚不存在。Windows 2000引导程序不知道已在 Windows XP 中做了改动。计算机需要知道这些改动才能加载 Windows XP。
解决:若要解决此问题,请用 Windows 2000 启动计算机,然后将 Windows XP 光盘上 I386 文件夹中的 NTLDR 和 Ntdetect.com 文件复制到系统驱动器的根目录中。
开机后系统提示HAL.DLL文件找不到,是什么原因造成的?
这个是由于C盘根目录下的boot.ini文件非法,导致默认从C:\Windows启动,但是又由于你的Windows XP没有安装在C盘,所以系统提示找不到HAL.DLL文件。启动因而失败。解决方法是重新编辑Boot.ini文件。
1)、使用Win9X启动盘启动,使用EDIT.EXE命令编辑这个文件。启动EDIT.EXE以后只要按照正确的格式输入Boot.ini文件的内容,保存为Boot.ini文件即可。
2)、使用COPY CON命令创建一个Boot.ini文件。在DOS下输入Copy Con C:\boot.ini以后回车。然后按照Boot.ini文件的格式输入,每输入一行敲一次回车键,当全部内容输入完毕以后,按CTRL+Z,屏幕上会看到^Z的提示。这个时候再敲一次回车,系统会提示1 file(s) copied.这就表示创建成功了。
3)、使用故障恢复控制台里面的bootcfg命令。
4)、在别的电脑上创建好以后,拷贝到受损电脑的C盘根目录上覆盖源文件即可。
5)、安装的简体中文版的Windows XP在启动选单的时候不是英文提示
一般是由于C:\bootfont.bin丢失造成的,但是如果你安装了更高版本的英文版本的Windows,那么这个现象就是很正常的。如果没有的话,从Windows XP安装光盘里面提取bootfont.bin到C盘根目录即可。
此外,上次笔者因超频而导致系统文件损坏也提示HAL.DLL,最终只得重装操作系统了。
这个问题上次已经遇到过了,于是再度拿出安装光盘来过一遍,到选择安装分区的时候退出,再重启,能进系统了
第一件事就是google,要彻底解决问题,搜索了一下,看到遇到这个问题的人还真不少,看来我又不是个别现象,心安了
如何解决呢,在这个网站看到了详细说明,http://www.kellys-korner-xp.com/xp_haldll_missing.htm,抄一段:
Many people (including me) have (had) problems with the file hal.dll when installing on a fresh new harddisk. The proposed solutions do not
work in this case because there is a dynamic drive overlay (ddo) installed. The solution is quite simple: remove first the ddo (for
example with Seagate's DiscWizard: http://www.seagate.com/support/disc/drivers/discwiz.html) and re-install windows xp.
俺在新硬盘上安装了mandriva,符合这个网页的条件,重装系统俺当然不干,接着往下看,于是俺也来修改boot.ini,我也不知道哪儿错了,只看到有两行一样的,就删了一行,再关机,重开,行了,但不知道下次开机行不行,看来明天还要接着测试
这个贴子说得也有道理,http://www.linuxsir.org/bbs/showthread.php?p=1397955
为了安全起见,俺把故障控制台也给装上了,方法如下:
要安装故障恢复控制台,请执行下面的步骤:
将 Windows XP 光盘插入 CD-ROM 驱动器。
单击开始,然后单击运行。
在打开框中,键入 d:/i386/winnt32.exe /cmdcons,其中 d 是 CD-ROM 驱动器的驱动器号。
此时出现“Windows 安装”对话框,其中显示了故障恢复控制台选项。系统提示您确认安装。单击是开始安装过程。重新启动计算机。下次启动计算机时,您将在启动菜单上看到“Microsoft Windows 故障恢复控制台”项。
上面的方法来自:www.pconline.com.cn,感谢太平洋电脑网
不是个别现象就好,有同学遇到和我一样的问题,可以看看上面的英文网页
这是ms提供的编辑boot.ini的方法
再来两个详细解说boot.ini的网站:
http://www.chinaecho.org/bbs/showthread.php?tid=82940
http://www.52z.com/info/ArticleView/2004-10-15/Article_View_29732.Htm
俺看得似懂非懂,等会再关机重开试试
[求助]我快要崩溃了,我的电脑冷启动时总是提示windows/system32/hal.dll文件损坏或丢失,系统不能启动,现在用ghost都不能还原系统 |
这个是由于C盘根目录下的boot.ini文件非法,导致默认从C:\Windows启动,但是又由于你的Windows XP没有安装在C盘,所以系统提示找不到HAL.DLL文件。启动因而失败。解决方法是重新编辑Boot.ini文件。
1)、使用Win9X启动盘启动,使用EDIT.EXE命令编辑这个文件。启动EDIT.EXE以后只要按照正确的格式输入Boot.ini文件的内容,保存为Boot.ini文件即可。
2)、使用COPY CON命令创建一个Boot.ini文件。在DOS下输入Copy Con C:\boot.ini以后回车。然后按照Boot.ini文件的格式输入,每输入一行敲一次回车键,当全部内容输入完毕以后,按CTRL+Z,屏幕上会看到^Z的提示。这个时候再敲一次回车,系统会提示1 file(s) copied.这就表示创建成功了。
3)、使用故障恢复控制台里面的bootcfg命令。
4)、在别的电脑上创建好以后,拷贝到受损电脑的C盘根目录上覆盖源文件即可。
5)、安装的简体中文版的Windows XP在启动选单的时候不是英文提示
一般是由于C:\bootfont.bin丢失造成的,但是如果你安装了更高版本的英文版本的Windows,那么这个现象就是很正常的。如果没有的话,从Windows XP安装光盘里面提取bootfont.bin到C盘根目录即可。
此外,上次笔者因超频而导致系统文件损坏也提示HAL.DLL,最终只得重装操作系统了。
系统提示hal.dll损坏或丢失,实际上该文件并不一定不存在,可以说,拷个文件回去system32里,根本是不可以解决的.出现这个错误的原因是boot.ini文件出错,导致引导不了机器从指定的路径启动,那样系统搜索其他的路径,而其他路径上是没有hal.dll文件的,就会提示这个错误.一般的解决办法是进入故障恢复控制台,用fixboot命令,如果这样修复不了boot.ini,就用bootcfg /add 来重建boot.ini
插入XP安装盘重新启动电脑,选择故障恢复控制台。依提示进入winnt目录。
在DOS提示符下输入:expand x:/i386/driver.cab /f:hal.dll c:/windows/system32/(x:为光驱盘符.再次利用expand 首先将halaacpi.dll拷贝至c:/winindows/system32/,并改名为hal.dll后重新启动电脑,再拷halacpi.dll(因为hal.dll的源文件名是halacpi.dll).改名(ren)后重启,restart即可
系统无法启动,缺少system32/hal.dll
我也遇到了这样的问题,看了各位大哥的解答以后成功解决了。
我的方法是:
1 用XP光盘启动电脑
2 当可以选择时 按R键(进入修复控制台)
3 输入管理员密码 (一般是安装XP时设定的)
4 输入bootcfg /add 回车继续
5 程序开始扫描可用的XP系统,一般会找到一个,让你选择哪一个时,按数字1键
6 让你输入标识符,输入XP就行,或者其他什么都可以,回车继续
7 让你输入OS加载参数, 不用输入,回车就行
8 到此应该修复了BOOT。INI 了,输入EXIT 回车后自动重新启动系统
如果在上述步骤中有没提到的地方,一般回车继续即可,我是凭记忆写的,所以可能会有遗漏。
如果你没有管理员密码,我建议你用其他能启动的介质(软盘,光盘,U盘)来启动系统,然后修改C盘下的BOOT。INI 文件, 就是这个文件告诉系统如何启动(但前提是你没用NTFS分区,否则把那块硬盘接到其它电脑上来编辑BOOT。INI吧)。
关于修改BOOT。INI更多信息请看有位叫“去看看”的大哥贴的网址
http://www.canglou.com/Article_Show.asp?ArticleID=1881
只有级少数情况HAL。DLL 文件真的损坏了,可以从其它地方拷贝来替换掉是可以解决问题的,但大多数情况都不是这样,一般是安装多系统时,硬盘上的主分区个数有变化,XP就找不到它自己在哪了,XP是靠一个程序即时检测出的一个次序号来定位。
另外我猜想有些情况是有病毒修改了分区表,或者使用多引导程序,或者是硬盘有物理问题。BOOTSTAR这个多引导程序就是把分区表改成它自己才看的懂的形式!我用的是MRBOOTER,比较好用!
本文地址:http://www.45fan.com/dnjc/68963.html