肉老虎 发表于 2007-10-4 00:23:17

请教高手:是谁来调用ntldr??它是怎么生成的?

今天研究移动硬盘启动PE,有个方法是:
——————
先把移动硬盘接入别的正常使用的电脑。运行PARTITIONMAGIC 8.05,对移动硬盘进行分区。

在硬盘的最前面分出一块空间,建立主分区,激活

把pe盘中的setupldr.bin 放到移动硬盘活动主分区的根目录下,改名为ntldr,其它的镜像文件等也放根目录。

————————
我试了一下,成功。(不过我的硬盘是早已经分好区的,以前装了什么系统记不清楚了。可能是98,各分区格式化过,现装数据用)

可我就是想知道原理:到底是谁调用了ntldr???

我找了下有这么个介绍:

“MS_Webcast系列之Windows启动的幕后过程
1、系统加电,读取主引导扇区(MBR)
      MBR中包含了读取分区表的代码
      X86系统的分区表有四个条目
   第一个标识为活动的分区为系统卷(System Volume)
   MBR加载系统卷中的引导扇区
2、引导扇区(NT相关的):读取系统卷根目录并加载NTLDR
   注:MRB和引导扇区都是在系统安装时写入的
          通过默认的磁盘定位来进行读取,不需要文件系统干预
3、NTLDR(黑屏)
   把系统从16位切换到32位,并开启内在分页(page) ……”
根据这个说法是引导扇区加载了ntldr。
那么这个引导扇区是怎么来的?据上面说是“在系统安装时写入的”
那么我的问题是如果我的移动硬盘从来没装过系统,那引导扇区还会有吗?如果没有那这个硬盘启动PE的方法就不成立了吗?
这个引导扇区除了安装系统时会写入,还有什么方法能写入?(分区、格式化能吗?)
如果我的移动硬盘以前是装过98的,用98或fdisk分的区,那这个引导扇区还会找ntldr吗(那时候还没有xp呢)?
具体怎么做的引导,才会找ntldr??

还请高手指点一二。

yamingw 发表于 2007-10-4 09:54:31

windows 2k, xp,2k3 格式化硬盘时会写入引导扇区引导ntldr的代码,每个分区都有,不论是不是主引导区。98,me 格式化硬盘时会写入引导扇区引导io.sys的代码

hytmtet 发表于 2007-10-4 10:18:09

如果分区格式为NTFS
则自动就会产生NT52的启动扇区
该启动扇区具有从其分区上的NTLDR启动的功能

硬盘分MBR和PBR
PBR可以在格式化时损坏
MBR只有特定的操作才可以更改
例如安装XP过程中
或者dos下FDISK /MBR命令
或者用其他改写MBR的工具,例如grub4dos的bootlace,grubinst等

分区工具仅仅是分区操作,是不会更改MBR的

你的硬盘目前来讲还是微软的MBR
该mbr的功能是从活动分区的PBR启动
所以,只要你活动分区的PBR是nt52的,就会从ntldr启动
如果是nt60的,就会从bootmgr启动

肉老虎 发表于 2007-10-4 14:05:01

多谢大侠指点!

看了你们的解释后,我的理解是:

1、ntldr是由PBR来调用的,而PBR是由格式化时改写的。就是不同系统格式化后的PBR不同。98、vista格式化的盘,不会去调用ntldr。

2、那么在98下安装xp,在没有格式化的情况下,一样启动了ntldr,是不是xp安装程序修改了PBR?

3、除了格式化,还有什么工具能转换修改PBR?比如说:我的硬盘是dos分区格式化的,它不能引导ntldr吧,我怎么能让它能转换成能引导ntldr的?

4、如何查看一块无系统硬盘的PBR状态?就是想知道它能引导ntldr还是bootmgr还是dos?

hytmtet 发表于 2007-10-4 18:32:17

原帖由 肉老虎 于 2007-10-4 02:05 PM 发表 http://bbs.wuyou.net/images/common/back.gif
多谢大侠指点!

看了你们的解释后,我的理解是:

1、ntldr是由PBR来调用的,而PBR是由格式化时改写的。就是不同系统格式化后的PBR不同。98、vista格式化的盘,不会去调用ntldr。

2、那么在98下安装xp, ...

当然
XP安装程序不仅会修改MBR
而且会修改活动分区的PBR
修改PBR的方法也很多
例如想具有NT52的PBR
可以用windows下的bootsect程序来修改
bootsect /nt52 目标盘符
想具有vista的nt60的PBR
bootsect /nt60 目标盘符
dos下也有类似软件,但是不如在windows下方便
例如bootpart程序

想查看硬盘
需要使用到磁盘编辑工具
查看硬盘绝对第一扇区可以完整的看到MBR内容(mbr在第一扇区前446字节)
查看PBR可以转到该分区的第一扇区上,在PE下用WINHEX比较方便
DOS下用norton的disk editor来查看

肉老虎 发表于 2007-10-4 18:44:08

非常感谢!学到知识了:D

肉老虎 发表于 2007-10-5 11:29:22

还有个问题,就是第3方软件,如用pq、sfdisk等格式化分区,它们怎么处理PBR?

zpj86 发表于 2007-10-6 02:16:50

lisong 发表于 2007-10-7 15:54:53

又学习了新的知识,谢谢!!!!!!!!!!

zlgs 发表于 2007-10-8 09:26:55

学了知识
长了学问
:victory:

肉老虎 发表于 2007-10-8 17:53:06

经测试,那个引导扇区的内容是的确是格式化产生的。不同的格式化工具产生不同的引导内容。

测试(测试了fat32格式):
1、用98盘启动,将激活分区(下同)用sfdisk格式化成fat32格式,拷入PE启动文件,启动失败。
无顺序拷入98启动文件msdos.sys、io.sys、command.com,启动98成功。

用diskgen格式化该分区,拷入PE启动文件,启动pe失败。

经查看,这2种软件格式化成fat格式的引导内容均指向io.sys等文件。

2、用xp、pe将该分区快速格式化后,拷入PE启动文件,启动pe成功。
经查看,引导内容是指向ntldr的。

查看工具使用了diskgen,很方便。

2011madlax 发表于 2011-5-25 10:43:57

贴纸很好,只是有一事不解,既然直接调用ntldr,那么就跟DOS无关了,我以前是以为先加载DOS内核,然后由DOS启动NTLDR,那么为什么和DOS无关,删除command.com后会进不了操作系统呢?

2010fengyun 发表于 2011-5-25 21:42:57

原帖由 2011madlax 于 2011-5-25 10:43 发表 http://bbs.wuyou.net/images/common/back.gif
贴纸很好,只是有一事不解,既然直接调用ntldr,那么就跟DOS无关了,我以前是以为先加载DOS内核,然后由DOS启动NTLDR,那么为什么和DOS无关,删除command.com后会进不了操作系统呢?
那你在XP系统下把C盘的IO。SYS。COMMAND。COM干掉。看看系统会不会启动不了。

2012云中胜手 发表于 2012-12-6 16:16:53

是07年的帖子很老了,但是lz问的问题也是我想要知道的。我一直在找ntldr的答案,不知道百度了多少次终于找到了!!!
学了知识
长了学问

zlgs 发表于 2012-12-6 19:09:27

温故知新
简单点就是NTDETECT.COM

肉老虎 发表于 2018-2-8 16:25:46

故地重游

2010comp440 发表于 2020-5-2 02:16:43

要用xorboot制作移动硬盘启动,想知道pe的启动过程,在百度搜相关知识找到了这个老贴子,学了新知识了。
页: [1]
查看完整版本: 请教高手:是谁来调用ntldr??它是怎么生成的?