image

HOWTO: 解决 LiteTouch OEM 发生 0xC000014C 引导故障

        通过 LiteTouch OEM 默认任务序列制作好 Media,拿到客户端实施,LiteTouch OEM Media 引导正常,也执行了 LiteTouch OEM 任务序列,正常结束并关机。再次开机后,引导过程中发生 0xC000014C 故障,具体错误可参考下图。

0xc000014c

        该问题通常发生在 UEFI 引导类型的机器上,这是因为 LiteTouch OEM 默认的任务序列中使用的是基于 MBR 类型的分区方案,只有一个 NTFS 格式的分区卷,所以到客户端引导时就会发生故障。

LiteTouchOEM_Default

        解决办法很简单,在现有“Format and Partition Disk”任务上将其改名为“Format and Partition Disk (BIOS)”,然后根据需要重新划分磁盘分区,再在“Options”选项下添加变量:“IsUEFI not equals True”。

FPD_BIOS

        同理再新添加一个磁盘任务序列,命名为“Format and Partition Disk (UEFI)”,定制好分区后,也添加一个变量“IsUEFI equals True”。

FPD_UEFI-1FPD_UEFI-2

        最后重新生成 Media,即可解决 0xC000014C 故障问题,且同时支持 BIOS 和 UEFI 类型的计算机。

image

HOWTO: 解决 LiteTouch OEM 发生 DISM Error 11 故障

        MDT 的 Lite Touch OEM 任务序列用于在计算机硬盘上预加载操作系统映像。通常由计算机原始设备制造商(OEM)使用,但一些企业也有类似场景的需求。本文 gOxiA 将于大家分享的是解决实施 LiteTouch OEM 过程中,可能发生的 DISM Error 11 故障问题。

        按照标准流程创建完毕 LiteTouch OEM,并生成 Media 后,拿到客户端上进行测试,在释放映像的过程中发生故障,导致 LiteTouch OEM 任务序列终止,如下图所示:

Dism_error11

        在 Details 中能看到故障发生在 WIM 释放阶段,尝试手动执行命令提示“Error 11”,指出“试图加载格式不正确的程序”。在网上搜索了 DISM Error 11 的相关信息,并没有多大的帮助。更换了其他版本的 DISM 执行同样发生此错误,只能再重新领会错误信息。

        gOxiA 尝试调用网络共享中的 WIM 执行该命令行,发现并未有问题。说明 MDT 在生成 Media 时出现了异常,但是向导程序并未成功检测到复制发生了错误,最终导致该故障的发生。而 DISM Error 11 给出的错误提示又未能完全表达意思,误导了用户。

        对于 MDT 任务序列的执行过程都是相关命令和资源的调用,如果通过错误提示无法分析故障原因,不妨参考日志手动执行命令行,也许真相就会显露出来。

        补充:该问题最终查明,存储 LiteTouchOEM 的媒介是 连接在这台虚拟机上使用 SCSI 接口的虚拟磁盘,而这个虚拟磁盘又存储在固态硬盘上,所以导致近 9GB 的数据以每秒近 500MB 的速度瞬间写入,随后由于手工断开 SCSI 磁盘,导致缓存未成功写入。:-P

troubleshooting

解决因超大内存导致的Windows系统安装故障

Snipaste_2018-09-03_15-54-46

        一台 Dell 工作站,硬件配置有 128GB 内存和 512GB 固态硬盘,IT 人员为 512GB 固态硬盘平均划分了两个分区,在安装 Windows 操作系统时发生故障,具体表现为在 Specialize 阶段初始化系统时发生错误,如下图所示:

IMG_20180903_143756

        检查了相关日志文件,发现记录有 “CopyProfileDirectory from C:\Users\Administrator failed (0x80070070)” 错误事件,经分析 0x8007007 为磁盘容量已满导致的故障。

0x80080070

        在当前案例场景下检查,512GB 仅划分了两个分区,且只格式化了用于安装系统的分区,而当前硬件设备配置了超大容量的内存(128GB),导致在 Specialize 阶段生成 Hiberfil.sys 文件后,没有可用空间再生成 Pagefile.sys,因为设备存储没有其他有效格式分区,系统无法利用其他分区存储 Pagefile.sys,最终导致 0x80070070 故障。

        这个看似简单的问题实际上在解决过程中非常复杂,尤其是在企业 IT 环境中。如果单纯为了解决本次故障,可以将第二个分区格式化,这样在 Specialize 阶段初始化时,如果系统分区容量不够,则会自动在第二分区上创建 Pagefile.sys。但如果企业采用了定制的标准化系统映像,那么问题就会非常复杂。

        起初 gOxiA 计划在 Specialize 阶段的 RunSynchronous 中添加一条命令“powercfg /h off”来实现关闭休眠文件(Hiberfil.sys),但测试发现此条命令并不会生效。翻阅了微软官方的文档提示应该在 RunAsyncronous 中执行该命令,于是又进行了尝试,结果发现并未生效,也检查了相关的日志文件,确实在 Specialize 阶段成功执行了命令,但也确实并未生效。而微软官方文档推荐在 AuditMode 阶段执行,也就是说 oobe 也是支持的,但是这些阶段执行“powercfg /h off”并不能解决本案例实质性问题。

docs_powercfg

        为了解决这个问题只能从注册表下手,可以修改注册表,将系统 Power 下的 HibernateEnabled 键值设置为 0 ,即可禁用休眠功能。测试在 Specialize 阶段执行如下命令行。

cmd /c reg add HKLM\SYSTEM\CurrentControlSet\Control\Power /v HibernateEnabled /t REG_DWORD /d 00000000 /f

        测试结果是 Specialize 阶段修改了注册表也不会即刻生效,所以最终的结果是直接修改映像(WIM)的注册表键值。通常采取的做法是 Mount WIM,然后在注册表中加载映像中的注册表文件,位于“C:\Windows\System32\config”。

        问题虽然是解决了,但是也引发了其他的问题,企业环境中的笔记本该怎么办呢?!这里给出几个方案供选择:

1. 按照不同机型,分配不同的映像。

2. 按照不同机型,应用不同的应答文件。

3. 不同机型使用同一个映像和应答,附加专为企业定制的配置工具,在配置过程中识别机型,并执行相关配置和维护脚本。

分页: 10/49 第一页 上页 5 6 7 8 9 10 11 12 13 14 下页 最后页 [ 显示模式: 摘要 | 列表 ]