经过几个星期的折磨,再加上今晚一宿,搞定二个问题,哈哈,难以抑制激动地心情在凌晨5点半给你发个邮件。

还记得我们做过的实验吗?

使用mdt2010部署windows 7完成之后,会把磁盘分成c盘d盘(2个主分区或者1个,根据设定)并且在磁盘末尾外加一个BDEDrive 卷标的隐藏分区。

实际上这个BDEDrive隐藏分区是为了让window7启用 bitlocker功能(跟TPM有关,是硬件加密功能)而生成的分区,也能起到引导windows7的作用。

这样部署的windows7虽然也能正常引导,但是对磁盘的分区时将这个分区放在磁盘的最末尾,而且bitlocker功能很少用的上,一直觉得不够完美。

搞定方法:

第一步,是要让MDT不产生这个分区,方法是在customsettings.ini文件内加入一行DoNotCreateExtraPartition=YES

[Settings]

Priority=Default

Properties=MyCustomProperty

[Default]

OSInstall=YES

SkipWizard=YES

SkipFinalSummary=YES

TaskSequenceID=TS002

DoNotCreateExtraPartition=YES

第二步,直接在对磁盘分区时将磁盘分成第一主分区100M可引导,第二主分区40G(自行设定),然后再安装镜像中选择将镜像安装到disk 0, partition 2

        安装完成后,系统分区将会和使用windows 7安装盘安装系统一样有一个100M的引导分区在系统分区前面。

或者将分区直接分成第一主分区40G,这样部署完后,跟windows xp一样 启动、系统都在一个分区中。

两个方法都已经测试成功。

重要问题是:我抓取的镜像是正常安装windows7的c:盘,也就是说有100M引导分区(含引导文件)并没有抓取到wim文件中~~,那么是MDT是如何使这样的wim镜像文件部署完后变成可引导的了呢??

找了很久发现在 LTIApply.wsf部署镜像的脚本最上面有几行

<job id="LTIApply">

<script language="VBScript" src="ZTIBCDUtility.vbs"/>

       <script language="VBScript" src="ZTIConfigFile.vbs"/>

       <script language="VBScript" src="ZTIDiskUtility.vbs"/>

       <script language="VBScript" src="ZTIUtility.vbs"/>

       <script language="VBScript">

也就是在部署镜像前运行了这4个脚本,而ZTIBCDUtility.vbs正是导致镜像部署完成后系统可以引导的脚本

看了一下,这个脚本是使用bcdedit.exe编写了windows 7的启动文件BCD(Boot Configuration Data启动设置数据),这个文件取代了windows xp时代的 Boot.ini

并且对硬件不依赖,这也就是windows vista之后不需要更改计算机类型就能部署镜像的原因。

而bcdedit.exe在mdt生成的litetouchpe_x64.wim(相当于mdt2008生成的boot.wim)文件中的windows\system32\目录中

KD

2010/2/13 (周六) 6:48

本文出自 “系统崩溃” 博客,请务必保留此出处http://dkcccc.blog.51cto.com/1138935/406223