经过测试,可以通过在系统的封装过程中来更改用户配置文件的默认路径,方法大致如下

1、编写注册表文件

用户配置文件的默认路径可以在“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList”看到,主要就是要修改此项下面的几个值,ProgramData值除外,这是程序安装的默认路径。

要注意的是,这些值的类型是可扩充多字符串值,当你将这个值导出时你会发现导出的值是二进制的,而注册表中显示的是正常的字符

2010-03-09_115842

所以在编写注册表文件的时候要注意,我就想了个办法,先在这个项下加一个同一类型的值,并且赋值“D:\Users”,让后将这个值导出,然后将D:\User的二进制的值替换掉默认值(在注册表文件中,而不是在注册表中)

2010-03-09_120538

我只提供方法,具体的大家自己操作吧。

2、写批处理文件

Windows 7部署过程是通过调用C:\Windows\System32\oobe\windeploy.exe来实现的,所以在批处理中我们也要调用这个程序

批处理如下

@echo off
echo 系统设置中,请勿关闭窗口!!!
reg import C:\Windows\System32\sysprep\profiles.reg
start /wait %windir%\system32\oobe\windeploy.exe
wmic pagefileset delete
wmic pagefileset create name=c:\pagefile.sys

说明:

第一条命名,用于导入注册表,注意,必须在调用部署程序之前

第二条命令,用于调用部署程序

第三条命令,删除所有页面文件,在封装之前,我将页面文件设置到了其它盘,此命令用于删除所有页面文件

第四条命令,设置页面文件在C盘,大小有系统托管

将以上命令粘贴到记事本,保存为批处理文件deploy.cmd(任意名称),然后拷贝到sysprep目录

3、封装系统

使用一下命令封装系统

sysperp.exe /generalize /unattend:untitled.xml

然后弹出对话框,选择“进入系统全新体验(OOBE)”,选择“通用”,选择“退出”

关于无人应答文件,我会用一遍文章来和大家介绍。

4、修改注册表,接管系统部署

打开注册表,注意,要在部署系统之前打开注册表,因为在运行完sysprep后,注册表可能打不开,打开后,找到如下键值

2010-03-12_155935

将CmdLine的值改为sysprep\deploy.cmd,此值的路径是以system32为相对路径的,所以在写的时候要注意。

接写来,重启,进入pe,抓取镜像。

完整的制作过程我整理后将陆续方便。