设为首页收藏本站

PlayNB玩本网---我的数码生活

 找回密码
 注册

QQ登录

只需一步,快速开始

厦门投影机出租赁厦门麦斯会议租赁服务澳洲代购,微信号303748993厦门电子签到
墨鱼干,鱿鱼干,鱿鱼母,虾米?鼓浪屿家庭旅馆厦门投影仪出租赁挖白菜神器
查看: 8084|回复: 13

外接笔记本硬盘分区以及“NTLDR is Missing”

[复制链接]
发表于 2009-1-2 16:50 | 显示全部楼层 |阅读模式
看到很多贴子中提到,安装Windows2000出现NTLDR is missing错误。\r\n出现这个错误有各种各样的情况,但共性就是这些硬盘普遍都是在作为台式机外接硬盘时分区及格式化的。\r\n我装各种系统都是选用启动盘+本机分区的方法,在DOS下,Windows各版本下升级或者全新安装NT/2000/XP次数很多,从未出现过ntldr丢失的问题。\r\n\r\n因此,ntldr丢失,以及其他安装2000过程中产生的问题,与外接硬盘的分区过程有关。而且,这个问题有时出现,有时不出现。听起来令人费解。\r\n\r\n为此我查了硬盘分区的有关资料和Windows出错信息的资料。找到了这个问题。这个问题不在于主硬盘引导记录,也不在于分区表。在硬盘的每个逻辑分区的0磁道内,有一个BPB块(BIOS Parameter Block “BIOS参数块”)。这个BPB块描述逻辑盘结构组成,包含隐藏扇区数目(从0-1-1开始计算)、FAT扇区数、FAT拷贝数、硬盘磁头总数、根目录表项最大值等。但是,在不同的机器和运行环境中,尤其是在外挂硬盘的情况下,是不一样的。下面就是FAT32 BPB的结构:\r\n\r\nA_BF_BPB    STRUC\r\n    A_BF_BPB_BytesPerSector          DW    ?\r\n    A_BF_BPB_SectorsPerCluster       DB    ?\r\n    A_BF_BPB_ReservedSectors        DW    ?\r\n    A_BF_BPB_NumberOfFATs          DB    ?\r\n    A_BF_BPB_RootEntries               DW    ?\r\n    A_BF_BPB_TotalSectors             DW    ?\r\n    A_BF_BPB_MediaDescriptor         DB    ?\r\n    A_BF_BPB_SectorsPerFAT          DW    ?\r\n    A_BF_BPB_SectorsPerTrack        DW    ?\r\n    A_BF_BPB_Heads                      DW    ?\r\n    A_BF_BPB_HiddenSectors           DW    ?\r\n    A_BF_BPB_HiddenSectorsHigh     DW    ?\r\n    A_BF_BPB_BigTotalSectors         DW    ?\r\n    A_BF_BPB_BigTotalSectorsHigh   DW    ?\r\n    A_BF_BPB_BigSectorsPerFat       DW    ?\r\n    A_BF_BPB_BigSectorsPerFatHi     DW    ?\r\n    A_BF_BPB_ExtFlags                   DW    ?\r\n    A_BF_BPB_FS_Version                DW    ?\r\n    A_BF_BPB_RootDirStrtClus          DW    ?\r\n    A_BF_BPB_RootDirStrtClusHi        DW    ?\r\n    A_BF_BPB_FSInfoSec                 DW    ?\r\n    A_BF_BPB_BkUpBootSec            DW    ?\r\n    A_BF_BPB_Reserved                  DW    6 DUP (?)\r\nA_BF_BPB    ENDS\r\n\r\n其中加黑的行就是我分析可能产生问题的项。前四个值在某些异源性安装条件下,会不准确。最后这个Flags标志项含有多个唯一性的标志,如起始簇号(A_BF_BPB_RootDirStrtClus)等;在不同的环境中,系统会写入不相同值。当改变环境后,这些项与物理磁盘实际的值不匹配时,Windows 2000 和 XP 就会产生错误,无法加载该FAT32分区,因为BPB信息不准确,从而最终报告 NTLDR is missing。实际上是因为这个值的不匹配,影响了下一步NTLDR的加载。\r\n\r\n有趣的是,来回挪动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同样忽略这个检查。\r\n\r\n说了这么多大家应该明白问题的根源了。在不同的运行环境下(尤其是不同型号的硬盘控制器,反映出来就是不同型号或者品牌的电脑),起始簇的物理位置,标号不同,或者物理磁盘统计信息的不同,就造成了硬盘BPB信息在不同电脑上的不准确,从而导致了Windows 2000/XP 启动过程失败,NTLDR is missing。\r\n\r\n这里也提供几个解决办法:\r\n\r\n1。首先考虑要在本机上进行分区。只有这样才能写入正确的和匹配的BPB值,不会使得Windows NT Loader 无法定位。在其他机器,尤其是其他型号硬盘控制器下接驳分区,大多数情况下,会导致写入不同的BPB值。\r\n\r\n2。应急情况下(安装/运行过程中出现 NTLDR is missing),可以考虑用一张含有sys.com文件的磁盘或U盘启动机器,然后输入 sys c: 传递系统注意,如我在前文所说,format c: /s 并不引起BPB信息的重写,因此是无效的。sys命令在传递系统的同时,会引起写入新BPB值的操作。当然此时,NTLDR也被覆盖了,系统变成了Windows 98/me。用sys执行过后(也就是bpb更新后),再运行 win2k/xp的安装程序,就不会再有任何错误了。这在一些网友的相关解决方法中也有提及,在本文分析过原因之后,这样的做法也就顺理成章了。\r\n\r\n我之前写过一篇关于这个问题产生根源的推断,是错误的。特此研究了磁盘结构,查了Windows启动过程的资料,得出如上分析和结论。希望能给大家个参考。谢谢
发表于 2009-2-4 16:06 | 显示全部楼层
这个问题其实不难解决的, 只不过手边需要一些能够操作的工具, 譬如可引导的 Linux/Windoze U/CD 盘, 加上 Linux 里的 hexedit 或者 Windoze 里的 WinHex 等, 按照需要直接修改成正确的值就成了 ...\r\n\r\n根据俺的经验: Windoze 的分区软件都太笨了, 总会留下许多闲置的地方; 所以俺现在一直用 Linux 的 factor/fdisk/cfdisk 组合实现无闲置分区, 就是说在 fdisk 里用 v 命令啥抱怨也没有 :)\r\n\r\n如果各位有这些需要的话俺可以帮忙哟 :)

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

发表于 2009-4-11 14:08 | 显示全部楼层
楼猪硬盘研究的挺深哪
回复 支持 反对

使用道具 举报

发表于 2010-1-8 18:44 | 显示全部楼层
学习。。。。。。
回复 支持 反对

使用道具 举报

发表于 2010-4-6 21:19 | 显示全部楼层
我用 SYS解决过一次这个问题
回复 支持 反对

使用道具 举报

发表于 2010-4-11 22:11 | 显示全部楼层
专业  长见识了
回复 支持 反对

使用道具 举报

发表于 2010-4-21 07:27 | 显示全部楼层
学习了
回复 支持 反对

使用道具 举报

发表于 2010-8-22 09:10 | 显示全部楼层
学习了,也,经常出现这种情况
回复 支持 反对

使用道具 举报

发表于 2010-11-21 22:55 | 显示全部楼层
学习了
回复 支持 反对

使用道具 举报

发表于 2011-1-21 18:07 | 显示全部楼层
经常在安装GHost版本的时候出现类似错误。\r\n
回复 支持 反对

使用道具 举报

发表于 2011-8-12 11:26 | 显示全部楼层
我们有着内地,韩国代购服装货源,诚邀想投-资网店的朋友加入我们的行列。我们将用专业的方式帮你将网店开起来,提供包括宣传,提成信誉,装修,人气,售后,退换货一系列的服务,努力形成商业圈并掌控淘宝一部分份额的市场,带动消费浪潮。\r\n\r\n公司属实体经营,有营业执照,一旦加盟则签订合同生效,合同期内我们将履行服务条款,帮每一位加盟者开好淘宝店铺,力求做到最完美的售后。\r\n公司地址在杭州可以上门签订合(外地用传真也可以签)\r\n有兴趣开网店的话千万别错过,保证服务周到 \r\n\r\n详谈加 q*q 1396109200\r\n\r\n  \r\n  \r\n  \r\n  \r\n  \r\n  \r\n  \r\n  \r\n  \r\n  \r\n  \r\n  
回复 支持 反对

使用道具 举报

发表于 2013-4-12 15:50 | 显示全部楼层
顶起来,支持楼主 顶~~~~~~~~~~~~~~~\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n韵美衣品防辐射服
回复 支持 反对

使用道具 举报

发表于 2013-7-26 16:47 | 显示全部楼层
过来学习下。
回复 支持 反对

使用道具 举报

发表于 2015-2-28 18:30 | 显示全部楼层
学习学习
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|PlayNB玩本网 ( 闽ICP备12016824号-1 )  

GMT+8, 2019-7-24 06:15 , Processed in 0.777956 second(s), 13 queries , File On.

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表