深入底层 评估Vista内核模式的安全性
2008-01-17 16:58:44 来源:WEB开发网如果只有一个启动入口在BCD文件内,启动管理器会直接从该入口启动。如果多于一个启动入口,Boot Manager会给用户一个可选择的列表,并提示用户选择启动那个OS。如果启动阶段激活了日志记录,启动管理器会把状态信息写入%SystemDrive%Bootootstat.dat文件内(通过BmpInitializeBootStatusDataLog)。紧接着启动管理器会使用BlResourceFindHtml把bootmgr.xsl定位在资源节点,而后把它传给BlXmiInitialize。bootmgr.xsl文件控制启动菜单和位于启动菜单的选项。
如果启动列表的某个条目被选择,跟随BmpTransferExecution之后,将使用BmpLaunchBootEntry对该条目进行加载。BmpTransferExecution将重新找回启动选项(通过BlGetBootOptionString)并把他们交给BlImgLoadBootApplication。如果FVE(Full Volume Encryption)被激活,BlFveSecureBootUnlockBootDevice和 BlFveSecureBootCheckpointBootApp将被调用。由于Windows分区被加密,必须在把控制权交给Vista OS Loader前对分区进行解密。
最后,Boot Manager调用BlImgStartBootApplication把控制权交给Vista OS Loader。
Windows Vista操作系统加载
bootmgr调用了位于%SystemRoot%System32WINLOAD.EXE下的Vista OS Loader。WINLOAD.EXE替换了NTLDR(Windows NT OS Loader),该小节的最后部分,会引用WINLOAD.EXE在开始入口点(OslMain)的指令。
一个典型的Vista OS载入的BCD入口配置文件如下:
WindowsBootLoader
Identifier:{current}
Type:10200003
Device:partition=C:
SYMANTECADVANCEDTHREATRESEARCH3
Path:Windowssystem32WINLOAD.EXE
Description:MicrosoftWindows
Locale:en-US
Inheritoptions:{bootloadersettings}
Bootdebugger:No
Pre-bootEMSEnabled:No
Advancedoptions:No
Optionseditor:No
Windowsdevice:partition=C:
Windowsroot:Windows
Resumeapplication:{3ced334e-a0a5-11da-8c2b-cbb6baaeea6d}
NoExecutepolicy:OptIn
DetectHAL:No
Nointegritychecks:No
Disablebootdisplay:No
Bootprocessoronly:No
FirmwarePCIsettings:No
Loginitialization:No
OSbootinformation:No
Kerneldebugger:No
HALbreakpoint:No
EMSenabledinOS:No
- ››深入理解JAR包
- ››深入分析Volatile的实现原理
- ››深入理解Flash Player的应用程序域(Application ...
- ››深入理解flash函数(AS2)
- ››深入理解Android消息处理系统——Looper、Handler...
- ››深入理解SET NAMES和mysql(i)_set_charset的区别
- ››深入理解Mysql字符集设置
- ››深入浅出实战攻防恶意PDF文档
- ››深入剖析防火墙策略的执行过程:ISA2006系列之六
- ››深入JavaScript与.NET Framework中的日期时间(3)...
- ››深入JavaScript与.NET Framework中的日期时间(2)...
- ››深入JavaScript与.NET Framework中的日期时间(1)...
更多精彩
赞助商链接