重装WIN98导致WIN98/WINXP双启动菜单丢失的原因和对策 (ZT)

大熊猫

Moderator
管理成员
VIP
注册
2002-01-16
消息
22,826
荣誉分数
127
声望点数
243
很多人以为那个多引导菜单是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了
 
这是个办法,也可以用XP的控制台恢复.fixboot
 
最初由 gbasd 发布
这是个办法,也可以用XP的控制台恢复.fixboot
这个fixboot是在什么环境下运行的?
 
最初由 大熊猫 发布

这个fixboot是在什么环境下运行的?

Recovery Console
Boot from Win2000 CD--> repair--> recovery console
 
对阿,就是用XP安装盘启动,选择用"故障恢复台"修复XP.
 
据说FIXMBR和FIXBOOT一起使用可以恢复操作系统选择菜单,

是先FIXMBR还是FIXBOOT?
 
后退
顶部