随笔-211  评论-26  文章-8  trackbacks-0
很多人以为那个多引导菜单是BOOT.INI产生的其实大错特错,不知道这种想法是怎样产生的! 
 
  BOOT.INI只是个文本文件,怎么可能执行产生一个菜单呢?那个菜单是由2K/XP的引导文件产生的!也就是说,先引导至2K/XP,查阅BOOT.INI的设置,等用户做出选择,再进一步运行引导至NT/2K/XP,很关键的文件就是:NTLDR这个文件(NT OS LOADER),其作用相当于DOS/WIN9X的IO.SYS,负责在POST(Power On Self Test开机自我测试)后立即向BIOS(Base Input Output System基本输入输出系统)接管控制权然后,NTDETECT.COM会被加载进内存,这时候多启动菜单才能够显示出来。至于BOOT.INI,它只不过是告诉NTDETECT.COM,多启动菜单上该显示啥,用户做出选择后,该去哪里找进一步引导用的文件,以及引导时的附加参数,如果用户不做选择,那么默认的操作系统是哪个,多长时间后帮助用户选择。 
 
  NT/2K/XP的多引导菜单还有个很重要的文件,就是:BOOTFONT.BIN。它是个当地语言和字库程序,中文版的XP,启动过程/多启动菜单上能显示中文,就靠它!IO.SYS/MSDOS.SYS是WIN9X引导的必备文件,这里有个很大的矛盾:NTLDR和IO.SYS都是必须位于1扇区0磁道的开头位置,以便POST结束后立即向BIOS接管控制权。安装好2K/XP后NTLDR已经占据了这个位置,取得了控制权,那又如何将控制权移交给WIN9X呢?大家可以发现,安装2K/XP/WIN9X双启动后,C盘根目录会多了一个文件:BOOTSECT.DOS,它其实就是DOS/WIN9X的1扇区0磁道的镜像文件,利用它可以虚拟出另一个IO.SYS位于1扇区0磁道的引导磁盘,为DOS/WIN9X的引导提供服务。这样就实现了NTLDR和IO.SYS并存! 
 
  OK了,现在明白了吧,当你在已经安装2K/XP的硬盘上重装WIN9X,那么WIN9X的IO.SYS就会取代NTLDR,占据1扇区0磁道,直接引导WIN9X。而NTLDR无法获得控制权,就算有BOOT.INI也无法显示那个多启动菜单了! 
 
  至于恢复多启动菜单就是重建NTLDR、NTDETECT.COM、BOOTFONT.BIN、BOOT.INI、BOOTSECT.DOS这几个文件的过程。NTDETECT.COM、BOOTFONT.BIN可以在2K/XP的安装盘上拷贝;BOOT.INI可以自己编写,也可以备份,也可以自动生成;NTLDR可以用2K/XP的“FIXBOOT”命令自动修复;BOOTSECT.DOS这个比较头痛,可以用DEBUG生成,好在一般重装WIN9X,只要不格式化硬盘就不会丢失。不过有个万能的必行的修复方案——把你的2K/XP再重装一次就OK了,呵呵呵~~~~ 当然可以“不完全”重装,也就是安装2K/XP的时候,拷贝完初始文件后第一次重启动时就强行中止安装退出,因为此时NTLDR、BOOTSECT.DOS等文件已经修复,这时候只要重启动,手快点,在多启动菜单上选择进入你原先的2K/XP(默认是进入安装程序),然后把硬盘上的安装临时文件和BOOT.INI里面的垃圾项目删掉就OK了! 
 
  以上是用Win2000/XP的安装程序中的修复功能来实现的。最近我重装系统后,用上述方法修复启动菜单,发现这种方法必须使用应急盘,而我又没有事先准备,怎么办呢?经过尝试,我发现了一种可以不用应急盘就能恢复启动菜单的方法。  
 
我的电脑安装了Win98和Win2000两个操作系统,Win2000装在D盘。将C盘格式化并重新装好Win98后,在DOS 下运行Win2000安装盘上的Winnt.exe,安装程序会将安装所需的文件拷贝到C盘根目录下,之后便会重新启动,这时就会出现启动菜单,其中一项是“Windows 2000...Upgrade”。虽然不是我们想要的“Microsoft Windows 2000 Professional”,但没关系。选择启动Win98,在C盘的根目录下,有一个boot.ini文件,用记事本打开它,你会发现这就是控制启动菜单的文件。将“default=”这行的后面部分改为multi(0)disk(0)rdisk(0)partition(2)\WINNT,并将[operating systems]下面以“$”开头的一行改为multi(0)disk(0)rdisk(0)partition(2)\WINNT="Microsoft Windows 2000 Professional" /fastdetect。 
 
其中partition后括号中的数字表示Win2000安装在第几个分区,因为我将Win2000装在D盘,所以是2。至于前面几个括号中的数字,一般的用户可以不去理会。最后重启计算机,那熟悉的启动菜单就会再次出现在你的面前了
posted on 2007-01-18 00:21 dragon 阅读(108) 评论(0)  编辑  收藏 所属分类: 系统问题