Windows XP引导加载程序(NTLDR)是否关注内核导入声明?

我不知道Windows XP引导加载程序( ntldr )是否实际上使用Windows内核ntoskrnl.exe )导入声明?

ntoskrnl.exe具有以下导入的模块: BOOTVID.dllHAL.dllKDCOM.dll 。 所以这三个模块是第一个被加载的模块。 假设内核有另一个声明为导入的模块。 这会导致ntldr也加载它吗? 或者ntldr只知道它应该加载这四个模块,而且没有办法改变这个模块?

我建议在ntdev邮件列表中提出这个问题。 为了回答你更好的解释你为什么需要这些信息,你想做什么。 我可以保证,在这个名单上,你会发现有能力回答这个问题的人,但不能保证你会得到回答。 他们对“嗅觉”有点敏感。

发生,我自己找到答案。 并在ntdev邮件列表中确认。

ntldr确实只加载了问题中提到的四个文件,并且不使用任何导入声明。

您可以通过创建一个存根内核(从实际的内核导入某些内容)并使用以下boot.ini选项(您将在%SystemRoot%\ntbtlog.txt文件中获得已加载模块的列表)来检查这一点:

 /bootlog /kernel=stubkrnl.exe