中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » 其它操作系统综合讨论区 » 请教关于 Windows NT 系列启动的文件调用顺序
作者:
标题: 请教关于 Windows NT 系列启动的文件调用顺序 上一主题 | 下一主题
DOSforever
金牌会员





积分 4639
发帖 2239
注册 2005-1-30
状态 离线
『楼 主』:  请教关于 Windows NT 系列启动的文件调用顺序

对 DOS/Win9X 系列很清楚,从分区引导扇区开始 -> IO.SYS -> (config.sys) -> (MSDOS.SYS) -> ……。对 NT 系列,还是从从分区引导扇区开始,其后调用的是否就是 NTLDR ?如果是的话,那么 NTLDR 之后要调用的是什么?当然,其后还要调用一系列许多文件。我现在只要知道到哪一步所调用的文件就没有特殊的位置要求了。

相关的问题的帖子:grub如何从扩展分区盘上引导系统?



DOS倒下了,但永远不死
DOS NEVER DIES !

投票调查:
http://www.cn-dos.net/forum/viewthread.php?tid=46187

本人尚未解决的疑难问题:
http://www.cn-dos.net/forum/viewthread.php?tid=15135
http://www.cn-dos.net/forum/viewthread.php?tid=47663
http://www.cn-dos.net/forum/viewthread.php?tid=48747
2006-1-18 15:56
查看资料  发短消息 网志   编辑帖子  回复  引用回复
fujianabc
金牌会员





积分 3467
发帖 1616
注册 2004-6-21
状态 离线
『第 2 楼』:  

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。

2006-1-22 10:31
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
DOSforever
金牌会员





积分 4639
发帖 2239
注册 2005-1-30
状态 离线
『第 3 楼』:  

多谢 fujianabc 详尽的介绍!你要得出这么个结论一定费了不少工夫吧。呵呵
看来还是 Linux 是最灵活的了。

另请问 grldr 是什么?

[ Last edited by DOSforever on 2006-1-23 at 21:57 ]



DOS倒下了,但永远不死
DOS NEVER DIES !

投票调查:
http://www.cn-dos.net/forum/viewthread.php?tid=46187

本人尚未解决的疑难问题:
http://www.cn-dos.net/forum/viewthread.php?tid=15135
http://www.cn-dos.net/forum/viewthread.php?tid=47663
http://www.cn-dos.net/forum/viewthread.php?tid=48747
2006-1-23 21:42
查看资料  发短消息 网志   编辑帖子  回复  引用回复
GOTOmsdos
铂金会员

C++启程者


积分 5154
发帖 1827
注册 2003-7-18
状态 离线
『第 4 楼』:  



  Quote:
如果从非第一硬盘启动的话(以上都可以用grub来实现),则调用第一硬盘的第一主分区中的这三个文件,如果第一主分区中找不到,就报错

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

怎么解释呢?

2006-8-14 15:49
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
fujianabc
金牌会员





积分 3467
发帖 1616
注册 2004-6-21
状态 离线
『第 5 楼』:  

dos和nt不同,dos只要在c盘便能启动(不管c在那个硬盘,那个分区,哪怕是逻辑分区也行)。

2006-8-14 16:43
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
3dfx
高级用户




积分 721
发帖 195
注册 2004-1-15
状态 离线
『第 6 楼』:  



  Quote:
Originally posted by GOTOmsdos at 2006-8-14 03:49 PM:


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

你试一下改动分区表看看(一定要记得先备份)。

2006-8-14 17:59
查看资料  发短消息 网志   编辑帖子  回复  引用回复
DOSforever
金牌会员





积分 4639
发帖 2239
注册 2005-1-30
状态 离线
『第 7 楼』:  



  Quote:
Originally posted by fujianabc at 2006-8-14 16:43:
dos和nt不同,dos只要在c盘便能启动(不管c在那个硬盘,那个分区,哪怕是逻辑分区也行)。

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



DOS倒下了,但永远不死
DOS NEVER DIES !

投票调查:
http://www.cn-dos.net/forum/viewthread.php?tid=46187

本人尚未解决的疑难问题:
http://www.cn-dos.net/forum/viewthread.php?tid=15135
http://www.cn-dos.net/forum/viewthread.php?tid=47663
http://www.cn-dos.net/forum/viewthread.php?tid=48747
2006-8-21 17:51
查看资料  发短消息 网志   编辑帖子  回复  引用回复
fujianabc
金牌会员





积分 3467
发帖 1616
注册 2004-6-21
状态 离线
『第 8 楼』:  



  Quote:
Originally posted by DOSforever at 2006-8-21 05:51 PM:

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

说得不错,我指的的确是msdos 7.1。

2006-8-21 20:38
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: