MDT U盘自动部署报错解决办法

   前些天试了一下使用MDT制做自动部署的U盘,用着仍是很方便的,制做方法已经在以前的博客中介绍过了MDT制做自动部署U盘,以后在测试过程当中发现遇到了一些问题,网络部署的环境是没有问题的,可是U盘部署的方式,在选择完只格式化C盘的任务序列以后老是会报错,报错提示unable to determine destination disk,Partition,and/or Drive,报错截图以下:bootstrap

wKiom1UlOcHym_rEACkw1sMS68o353.jpg


  明明以前制做的U盘是没有问题的,为何这个就会报错呢?试了几台机器发现都不行。没办法只好来找一下问题的缘由了,既然有明确的报错信息了,MDT之因此能实现自动化部署的关键其实就是MDT中有不少的脚原本完成各类不一样的任务,既然有报错,那么能抛出这个错误的代码确定就在这些脚本中,顺着这个思路往下走,在Script这个文件中首先来搜索一下,先来一个直接搜索试试,结果发现没找到任何文件网络

wKiom1UlOsryYlGDAAPgC5wFpLg387.jpg


  不过搜索其实也是有技巧的,此次咱们在高级选项里把文件内容也勾选上,这样的话搜索时除了会搜索文件名还会去检查这个文件里的内容,这回发现找到了两个脚本里包含这个报错信息app

wKiom1UlOsvy_oGUAAReoC14ksU986.jpg

  最后排查发如今Ztiutility.vbs这个脚本中就有抛出这个报错的代码,代码内容以下:ide

  If IsEmpty(GetOSTargetDriveLetterEx) then测试

   oLogging.CreateEntry "DestinationDisk and Partition did not yield a target Partition.", logTypeInfoui

   If bRequired thenthis

    oLogging.ReportFailure "Unable to determine Destination Disk, Partition, and/or Drive. See BDD.LOG for more information.", 5456spa

   End if 操作系统

  脚本截图以下:
orm

wKiom1UlO7vgVNwmAAN8SQ8g0Tw804.jpg   


  也就是说GetOSTargetDriveLetterEx为空时就会抛出这个报错,那么这个GetOSTargetDriveLetterEx又是什么呢?看字面意思应该是操做系统目标的盘符,我猜测多是要装在哪一个盘,这个会不会跟任务序列有关系呢?毕竟任务序列里也会设置这些属性,我找到了U盘中Deploy文件夹下的Control文件夹,任务序列就藏在这个文件夹下,其实任务序列的本质也就是xml文件,以前设置的rules和bootstrap都在这个文件夹下,1和2也就是任务序列的ID,每一个任务序列都会以他的ID为名创建一个文件夹

wKioL1UlQFWAp2-NAAQEbnFSLW4084.jpg

 里边就是两个xml的文件

wKioL1UlQQLCvLEBAACMFq0IAiE576.jpg

 在ts.xml中我找到了一个叫作DestinationOSDriveLetter的变量,这个变量是空的

wKioL1UlQfHhjUDCAAwtrWOxcuM168.jpg

 把这个变量赋值为C以后再试了一次,果真不报以前的错了,这时我注意到DestinationOSDriveLetter下边还有一个叫作DestinationOSInstallType的变量,这个值为ByVariable,还有一个叫作DestinationOSVariable的变量值为OSDisk,所以我猜想如今的脚本多是会判断卷标是否是OSDisk,若是是的话就会将系统安装在这个分区下。可是测试的机器C盘的卷标确定不会是OSDisk,这个会不会是报错的缘由呢?

wKiom1UlQSKA52EDAAvDJ0SFOyI638.jpg

  以后我找到以前没问题的任务序列对比了一下,发现二者在这里果真不同,没问题的任务序列DestinationOSDriveLetter变量值为C,而且DestinationOSInstallType变量值为ByDriveLetter,如下是二者的对比图,其中左边的是有问题的,右边的是没问题的

wKiom1UlQjbiUETiABXp2AcOSAs632.jpg

  这样就好办了,我尝试了下将有问题的任务序列中DestinationOSInstallType也改成了ByDriveLetter,此次再尝试了下果真再也不报错了,看来是找到问题的根源了。这样的话在制做任务序列时确定就会有这个选项了,在MDT中找了一下,果真被我发现了,这个选项是在Install Operating System中有一个Select the location where you want to apply this operating system,咱们须要将原来的logical drive letter stored in a variable 值为OSDisk,改成了Specific logical drive letter值为C。


 改以前:

wKiom1UlQwfjPqaOAANq_xyHLCw983.jpg


 改以后:

wKiom1UlQwfznX-zAANbWP69tkU238.jpg


  改完任务序列以后,从新生成了一遍Media的镜像,此次再制做出来的U盘就没再出现问题了。

相关文章
相关标签/搜索