经过几个星期的折磨,再加上今晚一宿,搞定二个问题,哈哈,难以抑制激动地心情在凌晨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=\'#\'" />
<script language="VBScript" src=\'#\'" />
<script language="VBScript" src=\'#\'" />
<script language="VBScript" src=\'#\'" />
<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