距离上一次的OSD项目已过去半年,加上SCCM的操作本来就比较复杂,所以很多东西都忘的差不多了。好在以前的User Guide文档还在,照着做应该不会有太大问题,但是在Capture上面还是花费了不少时间,最主要的原因就是要重新建立DHCP和WDS,并且这两个都是放在同一台SCCM Server上面。不过经历了这次也算是件好事,所以特别记录下来以备有相同问题的朋友参考。

  1. SCCM SP2的安装
    这步没有太多花哨的地方,只需要在SCCM的安装条件列表中保证没有warning & Error就可以,如果有的话可以双击这个问题并查看详细描述。其中要注意的是,有一个warning是关于schedule extend方面的,这个需要到COMMAND Line环境下运行,SCCM安装文件中的\SMSSETUP\BIN\I386\extadsch.exe。
  2. 配置PXE
    安装SCCM成功后就表明你的WDS已经安装上了。接下来的工作就是在SCCM中安装PXE Service Point。如下图添加PXE Service Point

    在安装过程中依照下面两张图配置PXE:


    至此PXE的安装就完成了。WDS是不需要配置的,因为SCCM PXE在WDS中是一个provider。你可以查看C:\Program Files\Microsoft Configuration Manager\Logs下的PXE相关LOG,确认你的PXE配置成功。而我个人比较喜欢在SCCM的Configuration Manager Console中查看Site Status里的组件是否正常,来判断PXE是否配置成功。如果PXE有问题,你需要重新删除PXE,然后在ADD/DELETE Program中删除WDS组件,reboot->重新安装WDS(不要配置,不要reboot)->重新安装PXE。这基本能解决PXE的 ERROR问题,我就是这么做的。但无奈的是,我不知道为什么这么做就能解决,所以这也是我对SCCM不满意的一个地方:(
  3. 检查你的DHCP是否配置正确
    由于我在这次测试中将DHCP和WDS都配置在同一台的SCCM Server中,所以有些步骤和以前(DHCP和WDS不在同一台server)不一样。(而这也是我在这次OSD中碰到的第一个麻烦)
    在PXE安装完后,你需要检查你的DHCP的scope中是否添加了60 PXE Client(这个应该是PXE自动完成的),如果没有的话自己可以手动加上。

  4. 因为WDS需要用到67、68、69端口,而DHCP要用到67端口,所以应该避免WDS监听67端口。打开注册表找到 “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WDSServer \Providers\WDSPXE"将"UseDhcpPorts"的值改为0。OK,DHCP的改动就这么多。
  5. Capture Target OS Image
    现在你就可以部署你的Task到目标机器上去抓取OS了。当然,OSD自带的Boot Image你应该Distribution Points过了吧,否则是没有办法用WIN PE启动的。
    在目标机选择网络启动,打开PXE。如果DHCP没问题的话,应该就能看到下面的样子:

    看到上面的画面表明你就已经成功1/4了!如果没看到那就回头看看是不是前面的配置步骤做的有问题。
    注: 有时上面这步通过后,界面停在Downloading 192.168.30.5... 这样的画面,这表明你的Boot Image不正确,有可能是Boot Image没有做Distribution Points或者Update Distribution Points没有结束,或者即便Update Distribution Points结束了,但是实际上还在Update。我就碰到这样的问题,等了5分钟左右再去PXE就成功了。
  6. 如果碰到The Task of Capture Image失败
    如果碰到在WIN PE中初始化完网络后没有进入Capture Image的Task,那么按F8进入"X:\Windows\TEMP\SMSLOGs"目录下然后将里面的smsts.log打开。(别告诉我说你的 Boot Image的Command选项没有打开……)
    一般出现的问题大多是连接目标目录失败的问题。比如:Failed to connect to "\\Server\PKGSHARE\SMS00001 " (1208) TSMBootstrap 7/20/2009 11:29:50 AM 1200 (0x04B0) !slistSMBPaths.empty(), HRESULT=80040103,其中的HRESULT CODE是很好的提示,可以到http://technet.microsoft.com/en-us/library/bb632794.aspx 查找相关的error说明。如果碰到访问XX目录失败,那么去你的SCCM中看下你的访问帐号是否设置正确。(在Client Agents中检查Computer Client Agent)
  7. 如果你在Capture中碰到问题,那么按下F8进入command line中,查看一下C:\Windows是否存在。我就碰到奇怪的问题,我的Client OS是安装在C:,但是F8中却在D:里面。这种情况尤其会在Windows 2008 & Windows 7的系统上碰到。当时我是将OSDTargetSystemRoot的值从C:\Windows改为D:\Windows.

    虽然能够解决Capture的问题,但是得到的Image却不能正常的Deploy到目标机器上。这是因为Capture的Image包含2个分区 (C:, D:)的数据,无法Deploy到一个分区中,至于如何Deploy到两个分区,可以参照 http://social.technet.microsoft.com/Forums/en-US/configmgrosd/thread/75023b4a-29ec-4cc1-b43a-111f88206fd2/.

经过上面的步骤后,你就应该可以正常的用OSD去Capture 你的目标OS Image了,有可能你和我在client进入WIN PE后碰到的问题不太一样,但是都可以在http://technet.microsoft.com/en-us/library /bb632794.aspx 查找相应的HRESULT ERROR CODE,找到问题所在。对了,别忘了在F8中要确保你的client仍能获得IP地址。。。。(我就碰到这样的扯淡问题),并且确保能够ping的通 server端的完整域名。