在通用 sysprep 之后,Windows 无法完成系统配置

在通用 sysprep 之后,Windows 无法完成系统配置

我有 2 个配置完全相同的 Windows 安装,均为 32 位和 64 位。这些 Windows 安装引用了其他驱动器以进行特定设置,例如:

  • 用户文件夹被重定向到U:\Users驱动器
  • 一些程序安装在P:\驱动器上。

操作系统安装在C:\驱动器上。

为了不断测试这些配置好的机器的设置,我使用了非通用的 sysprep,并重新启动到同一个虚拟机(我还没有在另一台机器上测试它)。

这些非通用的 OOBE 系统准备工作非常完美。它指的是这个问题

当我按自己想要的方式配置完机器,并知道它们都可以在非通用 sysprep 中工作后,我使用通用选项对它们进行了 sysprepped。

OS从这里我创建了一个 WinPE 启动环境并捕获了分区(C:\)和PROGRAMS分区( )的图像P:\

现在我创建了一个新的虚拟机,并使用连接的设备启动到 WinPE,我们捕获的图像就位于该设备上。

这里我使用 diskpart 创建了以下(需要的)分区:

在此处输入图片描述

这些是与没有使用 generalize 的 sysprepped 机器相对应的分区。系统分区只是一次尝试,我也尝试过不使用该系统分区。

创建分区后,我将映像应用到相应的磁盘(C:\-> OS 分区,P:\-> Programs 分区)。这是通过使用 DISM /apply-image 命令实现的。我确信我选择了正确的 .WIM 文件索引。

然后我用它bcdboot C:\Windows /s C:来创建启动文件,成功了。

使用命令重新启动机器后exit,如果未启动到 WinPE,则出现以下错误消息。

错误信息

图片取自这篇 Wintips 文章

通过 SHIFT + F10 打开记事本并打开文件时\Windows\Panther\setuperr.log,出现以下行:

2016-08-20 21:13:01, Error [0x0606ae] IBS [SetupCl library] Required profile hive does not exist [\??\E:\WINDOWS\system32\config\systemprofile\NTUSER.DAT].

注意:从错误消息中删除空格

另外,当我打开记事本并在打开文件时检查我的驱动器时,发现里面有各种我没有在 WinPE 中创建的驱动器。

在此处输入图片描述

唯一正确的是C:\驱动器,PROGRAMS 驱动器应该是P:\,而 USERS 驱动器应该是U:\


更新日期 2016/05/09

在启动到应用的 Windows 映像时出现错误后,我按 SHIFT + F10 打开了 CMD,并打开了 DISKPART 程序。

在这里,我选择了驱动器号错误的驱动器,然后使用以下命令重新设置驱动器号

assign letter=X

右侧对应的驱动器号。

重新启动机器后,仍然出现同样的错误。

问题

  • 这些随机驱动器号是从哪里来的?我在开始 Windows 安装之前已经在 WinPE 中设置了它们。
  • 如何使我的通用 sysprep 使用这些设置?

答案1

经过大量的调试和检查日志文件后,我终于找到了问题所在。注册表中的默认程序文件位置被设置为驱动C:\器(默认)。

我制作了第二个驱动器P:\(PROGRAMS),安装了一些软件。阅读后本文,我打开了那个日志文件并查找注册表中的错误。

其中一行指出找不到安装在其他驱动器上的 AVAST 软件的密钥。

卸载 AVAST 后,错误不再出现。

相关内容