【摘要】

在标准化项目中,MDT是最基础也是比较重要的一块,在企业中,经常需要重新安装系统,因此通过MDT部署镜像也已变得很普遍;但通常用户需要重装系统时,用户的数据会备份至其他分区,因此需要通过MDT不能格式化磁盘且指定安装系统至系统的指定分区中;提高用户的体验。本文分享一个MDT部署系统时禁用磁盘分区时遇到的安装系统找不到分区问题。​

【正文】

问题现象​

MDT结合WDS网络分发系统是标准化中常用且方便快捷的一个方式,通常我们使用MDT生成的U盘启动镜像用于分公司的系统部署极为方便,但通过U盘部署的镜像会有一些客户端网络部署时会出现如下报错:​

MDT中Windows 系统安装分区优化_安装系统

原因分析​

从报错提示很容易看出是系统安装时无法找到安装的系统分区,在解决这个问题前需要先了解MDT安装过程,MDT中的任务序列中的动作绝大部分都是通过脚本来完成,脚本的路径在MDT的script中;​

MDT中Windows 系统安装分区优化_u盘_02

既然有报错,那么能抛出这个错误的代码肯定就在这些脚本中,顺着这个思路往下走,在Script这个文件中首先来搜索一下​

处理过程​

  1. 通过搜索脚本中的内容,高级选项里把文件内容也勾选上,这样的话搜索时除了会搜索文件名还会去检查这个文件里的内容,这回发现找到了两个脚本里包含这个报错信息;​
  2. MDT中Windows 系统安装分区优化_u盘_03

  3. 排查发现在Ztiutility.vbs这个脚本中就有抛出这个报错的代码(oLogging.ReportFailure "Unable to determine Destination Disk, Partition, and/or Drive. See BDD.LOG for more information.", 5456)。​
  4. MDT中Windows 系统安装分区优化_u盘_04

  5. 通过获取到的脚本信息可得出“GetOSTargetDriveLetterEx为空时就会抛出这个报错”;通过查找U盘中Deploy文件夹下的Control文件夹的任务序列XML文件;查找到DestinationOSDriveLetter的变量,这个变量是空的;​
  6. MDT中Windows 系统安装分区优化_u盘_05

  7. 通常DestinationOSDriveLetter下边还有一个叫做DestinationOSInstallType的变量,这个值为ByVariable,还有一个叫做DestinationOSVariable的变量值为OSDisk;变量赋值为C之后,重新部署之后不再报错;​
  8. MDT中Windows 系统安装分区优化_搜索_06

  9. 通过上述的分许,基本可确定为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。​
  10. MDT中Windows 系统安装分区优化_u盘_07

  11. MDT中Windows 系统安装分区优化_安装系统_08

  12. 重新update镜像即可。​

建议​

MDT镜像制作和测试是一个费时费力的过程,如果本文中描述的问题只是在少数个别计算机上出现,建议使用网络方式部署系统,如果某一机型大批量出现该问题,则需更改任务序列进行更新镜像重新部署。​