今天和大家分享一个SCCM PXE无法找到操作系统的故障,希望可以帮助到大家。

之前我们通过五篇文章给大家介绍了SCCM2016 如何与WDS集成,实现通过网络PXE的启动方式向客户端PC推送操作系统安装包的。

https://blog.51cto.com/horse87/2061619

https://blog.51cto.com/horse87/2061631

https://blog.51cto.com/horse87/2062078

https://blog.51cto.com/horse87/2062097

https://blog.51cto.com/horse87/2067167

这样可以极大的方便企业IT管理员针对客户端的统一化智能部署,而且可以很有效的规范我们的部署方案。

最近,有一个童鞋说他们遇到一个问题,SCCM 客户端通过PXE启动后,系统提示无法找到操作系统。 错误代码是 0X80004005,如下图。

其实能到这一步,我们应该知道,SCCM已经成功的通过PXE找到了这台需要安装操作系统的客户端,并且能到这一步UI视图话操作,说明已经是成功加载了“启动映像”,已经进入到“任务序列”阶段了。

image

但是也不要掉以轻心,先检查一下分发点的状态,可以看到,所有的OS是成功分发的。

image

这个时候,通常我们需要收集客户端PC上的SCCM日志来进行分析。

这个时候小伙伴就犯难了,我的客户端连操作系统都没有,到底有没有日志?日志存哪? 我怎么导出?

其实SCCM已经在 OS Deployment (OSD)这个阶段已经为大家做好了一切的准备,日志是肯定有滴,下面教大家如何导出这个日志。

首先,当我们在OSD过程中遇到问题,系统是给了我们15分钟的时间可以进行操作和日志收集的,但是SCCM默认是没有打开这个命令行调试模式,需要我们手动打开。

在SCCM控制台的 “软件库”中找到“操作系统”,再找到“启动映像”,选择我们的常规x86启动映像,右键点击属性。

image

在“自定义”栏勾选“启用命令行支持”

image

重新回到客户端PC上,重启客户端,重现问题。

同样等到报错界面,按F8 调出命令行模式。

首先我们需要挂载一个网络路径来作为我们这个日志文件的导出目的地。使用 Net use命令

image

然后我们可以在“X:\windows\temp\smstslog\”路径下面找到一个叫做 smsts.log 的日志文件

imageimage

将这和文件直接拷贝到刚才的网络路径下面即可。

image

接下来我们打开这个 SMSTS.log文件来进行排查。

在日志中我们很快发现了原因,“没有可能用的卷”, 系统提示没有找到和验证到可用的驱动卷。

注:这里大家的原因可能都不一样,我的截图只代表我这个CASE是这个问题造成的,大家要根据自己的报错信息来进行排查哈!

image

返回到SCCM控制台的“任务序列”功能区,选中要检查的任务,右键,点击“编辑”,注意这里不是“属性”

image

我们这个时候发现,左侧的任务序列区域并没有关于磁盘的任务,默认才创建序列任务的时候是会有关于磁盘卷的任务的,这里应该是管理员手动删除掉了。

我们点击左上角的“添加”按钮,来进行添加。

image

clip_image002

磁盘创建属性如下图,这个也是默认的图。

image

其实大家在创建“任务序列”的时候,如果不想有的步骤,其实可以在右侧的“选项”里面勾选“禁用这一步”来实现的,如果这里手动删除掉了一些关键步骤,就会有类似的一些报错。

image

大家在发现有任务遗失或者自定义一些步骤的时候,都可以通过这种方式来进行补充,并且调整顺序。

image

之后,我们再次尝试安装操作系统,就正常了! 希望这个问题可以和大家一起共勉,谢谢!