在SCCM的操作系统分发过程,我遇到了很多问题,有分区的,有映像的,有驱动的,有任务序列的。今天,我就做一个自我的总结,与大家共勉。我就想到哪里写到哪里,没有条理,别责怪我。

一  启动映像中我们要添加驱动

     网卡驱动和存储设备驱动

二  如何处理WIN7计算机中的100M问题。

    到了windows7时代,在我们手动通过光盘安装系统的过程中,会产生一个在系统分区前面的100M分区,它的作用我想大家都知道。这100M的分区,在SCCM可能会给你带来麻烦。

我们分两种场景来说说如何应对:

     A 场景一  我新购买了一批计算机,我希望在安装win7的时候有100M分区,我该怎么做?

         第一步,我们看看任务序列里面的磁盘分区配置:

操作系统分发过程中的一些总结_操作系统

我没有专门分区100M分区,这种情况下安装win7,无论是映像方式还是源文件安装方式,都很正常。但是,没有100M。是因为我没有划分吗?不是单单只划分这么简单,有个小小的技巧。

看看我的新的分区划分方法:

操作系统分发过程中的一些总结_网卡驱动_02

操作系统分发过程中的一些总结_操作系统_03

这次,我划分了100M分区,是不是就行了呢。结果SCCM报如下错误:

任务序列执行引擎无法执行组(安装操作系统)中的操作(应用操作系统),错误代码 2147942512 操作输出: ) for \\SCCM2.CONTOSO.COM\SMSPKGE$\1000002Areference count 1 for the source \\SCCM2.CONTOSO.COM\SMSPKGE$\1000002A\ before releasing Released the resolved source \\SCCM2.CONTOSO.COM\SMSPKGE$\1000002AInstallImage( g_InstallPackageID, g_ImageIndex, targetVolume, ImageType_OS, g_ConfigPackageID, g_ConfigFileName, bOEMMedia ), HRESULT=80070070 (e:\nts_sms_fre\sms\client\osdeployment\applyos\applyos.cpp,373) WIM error:C:\Windows\winsxs\x86_microsoft-windows-t..etpc-mathrecognizer_31bf3856ad364e35_6.1.7600.16385_none_b822cdc5b0f79393\mraut.dll. There is not enough space on the disk. (Error: 80070070; Source: Windows) WIM error:C:\Windows\winsxs\x86_microsoft-windows-t..-coreinkrecognition_31bf3856ad364e35_6.1.7600.16385_none_ed6e97c85c464885\mshwLatin.dll. There is not enough space on the disk. (Error: 80070070; Source: Windows) Unable to apply (0x80070070) Installation of p_w_picpath 1 in package 1000002A failed to complete.. There is not enough space on the disk. (Error: 80070070; Source: Windows)。 操作系统报告错误 2147942512: 磁盘空间不足。

为什么呢?

原因:由于我们在应用操作系统的时候,一般都会选择“下一个可用的已格式化分区”,SCCM在分发的时候,把那个100M分区认成第一个可用的格式化分区了,如下图:

操作系统分发过程中的一些总结_操作系统_04所以,SCCM会把操作系统应用到100M的那个分区。当然磁盘空间不足了哦。

如何才能让系统应用到D盘呢,就是应用到正确的系统分区上呢?有两个方法:

a 修改:操作系统分发过程中的一些总结_如何_05操作系统分发过程中的一些总结_操作系统_06

b 在做捕获映像的时候,在参考机上多分几个区。这样的话,在捕获映像的时候,会把其他分区的数据都捕获过来,然后,在分发的任务序列里面做如下修改,如下图所示,在应用操作系统的前面应用数据映像,由于其他分区没有数据,所以,把数据映像应用的100M分区,不会有任何影响。注意不要勾选“应用映像之前删除分区中的所有内容”。

操作系统分发过程中的一些总结_网卡驱动_07

B 场景二 我的现有win7计算机中,有带有100M分区的,我要重新安装操作系统,这种情况,你也可以采用上面的方法。

三 为什么我添加的驱动程序并没有安装到目标计算机中

     客户端不管是分发软件还是分发系统也好,获取内容都是通过包的形式来获取的,就是我们看到的SMSPKG$共享下的内容。所以,你想确保你的驱动程序能被客户端应用,请制作一个驱动包,把驱动程序都包含进去。

四 我想升级XP到WIN7,SCCM能否帮我的用户信息都转移到新的计算机中。

    答案是可以的,其中包含桌面,我的文档,收藏夹,用户配置等等。以后会做个实验分享一下。

五 操作系统分发失败后我该如何去查找原因

     方法有很多,除了客户端的SMS.log以外,我通常的方法很简单,就是在控制台中的播发状态中去查看任务序列消息,如果客户端分发系统失败,客户端会把失败的消息提交给服务器。在任务序里消息里面是能看到的。

六  关于启动镜像的建议

      建议在启动镜像中包含PETOOLS,开启命令行。具体方法网上找。

七 操作系统分发过程中遇到的一些错误分享:

 

严重性        类型        站点代码        日期/时间        系统        组件        消息 ID        描述

错误        里程碑        100        2012/4/7 22:59:25        UDI-TEST-10        Task Sequence Engine        11135        任务序列执行引擎无法执行组(安装操作系统)中的操作(安装 Windows 和 ConfigMgr),错误代码 2147500037 操作输出: ce\unattend.xml Successfully initialized driver information Command line for extension .EXE is "%1" %* Set command line: "D:\_SMSTaskSequence\Packages\10000020\SOURCES\SETUP.EXE" "/unattend:D:\_SMSTaskSequence\unattend.xml" /noreboot Executing commandline: "D:\_SMSTaskSequence\Packages\10000020\SOURCES\SETUP.EXE" "/unattend:D:\_SMSTaskSequence\unattend.xml" /noreboot Process completed with exit code 31 Windows Setup completed with exit code 31 Entering ReleaseSource() for D:\_SMSTaskSequence\Packages\10000020 reference count 1 for the source D:\_SMSTaskSequence\Packages\10000020 before releasing Delete source directory D:\_SMSTaskSequence\Packages\10000020 Released the resolved source D:\_SMSTaskSequence\Packages\10000020 exitCode == 0, HRESULT=80004005 (e:\nts_sms_fre\sms\client\osdeployment\setupwindows\setupwindows.cpp,440) setup.run(), HRESULT=80004005 (e:\nts_sms_fre\sms\client\osdeployment\setupwindows\setupwindows.cpp,1707) Exiting with code 0x80004005 Windows setup failed, code 31。 操作系统报告错误 2147500037: 未指定的错误

如果在应用镜像的时候,采用的是源文件安装,出现这个错误可能是,你在任务序列中输入的CDKEY与应答文件中的CDKEY不一样造成的。要么修改应答文件,要么不要指定CDKEY。

八 如何在OSD过程中指定计算机名称:

     修改集合设置--〉集合变量--〉新建-〉名称填:OSDComputername 值留空。这样的话,你在分发OSD的时候有机会填写计算机名称。