中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-06-24 21:53
中国DOS联盟论坛 » 其它操作系统综合讨论区 » 请教关于 Windows NT 系列启动的文件调用顺序 查看 1,815 回复 7
楼 主 请教关于 Windows NT 系列启动的文件调用顺序 发表于 2006-01-18 15:56 ·  中国 上海 黄浦区 电信
金牌会员
★★★★
积分 4,639
发帖 2,239
注册 2005-01-30 00:00
21年会员
UID 35785
性别 男
状态 离线
对 DOS/Win9X 系列很清楚,从分区引导扇区开始 -> IO.SYS -> (config.sys) -> (MSDOS.SYS) -> ……。对 NT 系列,还是从从分区引导扇区开始,其后调用的是否就是 NTLDR ?如果是的话,那么 NTLDR 之后要调用的是什么?当然,其后还要调用一系列许多文件。我现在只要知道到哪一步所调用的文件就没有特殊的位置要求了。

相关的问题的帖子:grub如何从扩展分区盘上引导系统?
2 发表于 2006-01-22 10:31 ·  中国 上海 联通
金牌会员
★★★★
积分 3,467
发帖 1,616
注册 2004-06-21 00:00
22年会员
UID 27148
状态 离线
ntldr之后依次调用bootfont.bin,boot.ini,ntdetect.com,这三个文件必须在同一个分区内。

下面说一下ntldr调用这个三个文件的原则(这是我在测试grldr是总结的)
ntldr只调用第一硬盘主分区当中的这三个文件,并且主分区必须在扩展分区前。如果在第一硬盘中,有两个以上的主分区,且在扩展分区前面,则从那个分区启动ntldr,ntldr就调用此分区下的这三个文件。
如果ntldr,是从扩展分区或者扩展分区后的后的主分区或者非第一硬盘启动的话(以上都可以用grub来实现),则调用第一硬盘的第一主分区中的这三个文件,如果第一主分区中找不到,就报错,不会再找其他主分区。
所以说这三个文件如果放在扩展分区ntldr是找不到的。
如果ntldr从软盘启动,则搜寻软盘根目录下的这三个文件。

还有一个问题就是boot.ini中可以有类似语句:
c:\bootsect.bin="dos"
中的c:到底值那个盘,可不可以用其他盘符?
经我测试发现,c:就是指的ntldr调用上面的三个文件的那个分区,boot.ini中不能使用除c以外的盘符(如d e f等)
但是有一个例外,就是xp sp2以前版本的ntldr,在从软盘启动时,把软盘根目录作为a:,c不能用;xp sp2之后的ntldr则统一了不管硬盘软盘,一律用c。
3 发表于 2006-01-23 21:42 ·  中国 上海 电信
金牌会员
★★★★
积分 4,639
发帖 2,239
注册 2005-01-30 00:00
21年会员
UID 35785
性别 男
状态 离线
多谢 fujianabc 详尽的介绍!你要得出这么个结论一定费了不少工夫吧。呵呵
看来还是 Linux 是最灵活的了。

另请问 grldr 是什么?

[ Last edited by DOSforever on 2006-1-23 at 21:57 ]
4 发表于 2006-08-14 15:49 ·  中国 广东 广州 教育网
铂金会员
★★★★
C++启程者
积分 5,154
发帖 1,827
注册 2003-07-18 00:00
22年会员
UID 7105
性别 男
状态 离线
如果从非第一硬盘启动的话(以上都可以用grub来实现),则调用第一硬盘的第一主分区中的这三个文件,如果第一主分区中找不到,就报错


现在 我的情况是我把第一硬盘的第一主分区整个扇区复制到了第三硬盘的第二主分区(改为活跃,并设前主分区为不活跃,并隐藏)
并正确修改了主分区数据,但当它启动到了此分区的DBR处,抱错:
NTLDR IS MISSING (可见,他并没有去找第一硬盘的第一主分区的NTLDR。。,试了,从BIOS改启动硬盘和GRUB,都这样)
把DOS系统传到他上面,就能正确启动到DOS!

怎么解释呢?
5 发表于 2006-08-14 16:43 ·  中国 上海 黄浦区 电信
金牌会员
★★★★
积分 3,467
发帖 1,616
注册 2004-06-21 00:00
22年会员
UID 27148
状态 离线
dos和nt不同,dos只要在c盘便能启动(不管c在那个硬盘,那个分区,哪怕是逻辑分区也行)。
6 发表于 2006-08-14 17:59 ·  中国 广西 南宁 联通
高级用户
★★
积分 721
发帖 195
注册 2004-01-15 00:00
22年会员
UID 15554
性别 男
状态 离线
Originally posted by GOTOmsdos at 2006-8-14 03:49 PM:


现在 我的情况是我把第一硬盘的第一主分区整个扇区复制到了第三硬盘的第二主分区(改为活跃,并设前主分区为不活跃,并隐藏)
并正确修改䠮..


你试一下改动分区表看看(一定要记得先备份)。
7 发表于 2006-08-21 17:51 ·  中国 上海 黄浦区 电信
金牌会员
★★★★
积分 4,639
发帖 2,239
注册 2005-01-30 00:00
21年会员
UID 35785
性别 男
状态 离线
Originally posted by fujianabc at 2006-8-14 16:43:
dos和nt不同,dos只要在c盘便能启动(不管c在那个硬盘,那个分区,哪怕是逻辑分区也行)。

关于 DOS 这一点我不敢苟同,好象 MS-DOS 7.10 的可以从逻辑分区启动(前提是主分区被隐藏),传统的 MS-DOS 不行,其它的 DOS 还没试过
8 发表于 2006-08-21 20:38 ·  中国 上海 浦东新区 电信
金牌会员
★★★★
积分 3,467
发帖 1,616
注册 2004-06-21 00:00
22年会员
UID 27148
状态 离线
Originally posted by DOSforever at 2006-8-21 05:51 PM:

关于 DOS 这一点我不敢苟同,好象 MS-DOS 7.10 的可以从逻辑分区启动(前提是主分区被隐藏),传统的 MS-DOS 不行,其它的 DOS 还没试过

说得不错,我指的的确是msdos 7.1。
论坛跳转: