为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

笔记本硬盘的外接分区与.doc

2017-11-30 4页 doc 15KB 20阅读

用户头像

is_511210

暂无简介

举报
笔记本硬盘的外接分区与.doc笔记本硬盘的外接分区与.doc 笔记本硬盘的外接分区与“NTLDR is Missing 看到很多贴子中提到,安装Windows2000出现NTLDR is missing错误。 出现这个错误有各种各样的情况,但共性就是这些硬盘普遍都是在作为台式机外接硬盘时分区及格式化的。 我装各种系统都是选用启动盘,本机分区的方法,在DOS下,Windows各版本下升级或者全新安装NT/2000/XP次数很多,从未出现过ntldr丢失的问题。 因此,ntldr丢失,以及其他安装2000过程中产生的问题,与外接硬盘的分区过程有关。而且,...
笔记本硬盘的外接分区与.doc
笔记本硬盘的外接分区与.doc 笔记本硬盘的外接分区与“NTLDR is Missing 看到很多贴子中提到,安装Windows2000出现NTLDR is missing错误。 出现这个错误有各种各样的情况,但共性就是这些硬盘普遍都是在作为台式机外接硬盘时分区及格式化的。 我装各种系统都是选用启动盘,本机分区的方法,在DOS下,Windows各版本下升级或者全新安装NT/2000/XP次数很多,从未出现过ntldr丢失的问题。 因此,ntldr丢失,以及其他安装2000过程中产生的问题,与外接硬盘的分区过程有关。而且,这个问题有时出现,有时不出现。听 起来令人费解。 为此我查了硬盘分区的有关资料和Windows出错信息的资料。找到了这个问题。这个问题不在于主硬盘引导记录,也不在于分区。 在硬盘的每个逻辑分区的0磁道内,有一个BPB块(BIOS Parameter Block “BIOS参数块”)。这个BPB块描述逻辑盘结构组成,包含隐藏扇区数目(从0-1-1开始计算)、FAT扇区数、FAT拷贝数、硬盘磁头总数、根目录表项最大值等。但是,在不同的机器和 运行环境中,尤其是在外挂硬盘的情况下,是不一样的。下面就是FAT32 BPB的结构: A_BF_BPB STRUC A_BF_BPB_BytesPerSector DW ? A_BF_BPB_SectorsPerCluster DB ? A_BF_BPB_ReservedSectors DW ? A_BF_BPB_NumberOfFATs DB ? A_BF_BPB_RootEntries DW ? A_BF_BPB_TotalSectors DW ? A_BF_BPB_MediaDescriptor DB ? A_BF_BPB_SectorsPerFAT DW ? A_BF_BPB_SectorsPerTrack DW ? A_BF_BPB_Heads DW ? A_BF_BPB_HiddenSectors DW ? A_BF_BPB_HiddenSectorsHigh DW ? A_BF_BPB_BigTotalSectors DW ? A_BF_BPB_BigTotalSectorsHigh DW ? A_BF_BPB_BigSectorsPerFat DW ? A_BF_BPB_BigSectorsPerFatHi DW ? A_BF_BPB_ExtFlags DW ? A_BF_BPB_FS_Version DW ? A_BF_BPB_RootDirStrtClus DW ? A_BF_BPB_RootDirStrtClusHi DW ? A_BF_BPB_FSInfoSec DW ? A_BF_BPB_BkUpBootSec DW ? A_BF_BPB_Reserved DW 6 DUP (?) A_BF_BPB ENDS 其中加黑的行就是我分析可能产生问题的项。前四个值在某些异源性安装条件下,会不准确。最后这个Flags标志项含有多个唯一性的标志,如起始簇号(A_BF_BPB_RootDirStrtClus)等;在不同的环境中,系统会写入不相同值。当改变环境后,这些项与物理磁盘实际的值不匹配时,Windows 2000 和 XP 就会产生错误,无法加载该FAT32分区,因为BPB信息不准确,从而最终报告 NTLDR is missing。实际上是因为这个值的不匹配,影响了下一步NTLDR的加载。 有趣的是,来回挪动Windows95/98/me从来不会出现这个问题,因为Win95/98/me忽略了对这个结构中某些值的检查,即便是无效的也仍然会继续启动程序。所以这个BPB值的错误问题,根据微软描述,只存在于用FAT32分区,使用int13h扩展启动方式(目前绝大多数硬盘都是此类)安装Windows2000/xp的情况下。同理,根据微软的问题报告,当用异源的Windows98/me克隆(如不同磁盘ghost恢复来的win98)升级Win2k/xp的时候,也会遇到同样的 ntldr is missing 问题。产生这个问题的原因是BPB的HEADS字段,错误的磁头数导致WINDOWS NT不能继续启动过程,而Win95/98/me同样忽略这个检查。 说了这么多大家应该明白问题的根源了。在不同的运行环境下(尤其是不同型号的硬盘控制器,反映出来就是不同型号或者品牌的电脑),起始簇的物理位置,标号不同,或者物理磁盘统计信息的不同,就造成了硬盘BPB信息在不同电脑上的不准确,从而导致了Windows 2000/XP 启动过程失败,NTLDR is missing。 这里也提供几个解决办法: 1。首先考虑要在本机上进行分区。只有这样才能写入正确的和匹配的BPB值,不会使得Windows NT Loader 无法定位。在其他机器,尤其是其他型号硬盘控制器下接驳分区,大多数情况下,会导致写入不同的BPB值。 2。应急情况下(安装/运行过程中出现 NTLDR is missing),可以考虑用一张含有sys.com文件的磁盘或U盘启动机器,然后输入 sys c: 传递系统。注意,如我在前文所说,format c: /s 并不引起BPB信息的重写,因此是无效的。sys命令在传递系统的同时,会引起写入新BPB值的操作。当然此时,NTLDR也被覆盖了,系统变成了Windows 98/me。用sys执行过后(也就是bpb更新后),再运行 win2k/xp的安装程序,就不会再有任何错误了。这在一些网友的相关解决方法中也有提及,在本文分析过原因之后,这样的做法也就顺理成章了。 我之前写过一篇关于这个问题产生根源的推断,是错误的。特此研究了磁盘结构,查了Windows启动过程的资料,得出如上分析和结论。希望能给大家个参考。谢谢
/
本文档为【笔记本硬盘的外接分区与.doc】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索