我正在学习Windows 7的启动方式,并尝试确保bootmgr不会将ntfs用于其目的(例如,搜索winload.exe文件)。
虽然我对分析bootmgr的代码有一点了解,但我正在尝试确定何时加载驱动程序ntfs.sys。
为此目的,我正在查看HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ services \ Ntfs键,有组键值为“Boot File System”,然后我正在寻找HKEY_LOCAL_MACHINE \ SYSTEM \中的这个键CurrentControlSet \ Control \ GroupOrderList键。
但是没有“引导文件系统”键(但我发现在HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ SafeBoot键的子键中提到它)。
我正在查看HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ ServiceGroupOrder键中的List键,并且存在此键。
另外我运行Sysinternals LoadOrder实用程序来查看它,但是一般没有提到ntfs驱动程序,但是在“文件系统”组中提到了fs_rec键,但是在注册表中没有“文件系统”组。 GroupOrderList(但我在HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ FileSystem键中找到它。)
显然,它更难理解。
我能否做出正确的结论来确定ntfs.sys驱动程序何时加载或我在哪里可以阅读它?
答案 0 :(得分:1)
使用Windows WPT并运行此命令:
xbootmgr -trace boot -traceFlags BASE +潜伏期+ DISK_IO_INIT + DISPATCHER + FILE_IO +文件名+ REGISTRY -stackwalk轮廓+ CSwitch + ReadyThread + DiskReadInit + DiskWriteInit + ImageLoad + ImageUnload + RegQueryKey + RegEnumerateKey + RegEnumerateValueKey + RegDeleteKey + RegCreateKey + RegOpenKey + RegSetValue + RegDeleteValue + RegQueryValue + RegQueryMultipleValue + RegSetInformation + RegFlush + RegVirtualize + RegCloseKey + RegHiveInit + RegHiveDestroy + RegHiveLink + RegHiveDirty -resultPath C:\ TEMP
重新启动后停止倒计时,将ETL加载到WPA.exe,load the debug symbols,将“图像”图形从Graph explorer拖放到右侧(Analysis tab)并激活堆栈列。现在你看看内核的哪些函数加载了驱动程序。
该命令还捕获注册表访问权限,因此您可以查看在引导期间访问哪些键。