如何合并Windows系统镜像
说明:本方案采用imagex命令行方式,整合windows MSDN原版镜像里sources文件夹下的install.wim,利用ultraiso将原来windows镜像里的install.wim替换掉,并更改EI.CFG。
一、准备工具
(1).环境准备:windows xp /windows 7/windows8,x86/x64;
(2).必须工具:
1.imagex.exe,进入该文件所在目录管理员身份执行命令,或者将该文件放到C:WindowsSystem32目录下(这个文件很小,几百K),作用是用imagex的若干命令来整合install.wim;
2.UltraISO,用于提取替换ISO文件里面的install.wim。
(3). Windows7/8 iso镜像文件,可去如下地址下载:http://msdn.itellyou.cn/。
(4).辅助工具:
1.Wimtool.exe,用于查看编辑install.wim的卷信息,也可以用imagex命令替代;(另外提供Gimagex工具,功能类似Wimtool)
2.BOOTICE:用于编辑引导项;
3.VHD:虚拟光驱加载工具,可用UltraISO或好压替代。
4.HPUSBFW:惠普U盘存储格式化工具。
二、合并步骤
(1).安装ultraiso,勾选安装虚拟光驱;
(2)用虚拟光驱加载工具ultraiso加载Windows原版镜像,在"我的电脑"中可以看到"CD驱动器",记住此驱动器的盘符(我的为O),右键点击,依次选择"UltraISO"——"Mount..",弹出的对话框中选定已经下载好的Windows镜像文件,如: cn_windows_7_ultimate_with_sp1_x86_dvd_u_677486.iso;
(3).利用imagex.exe导出install.wim,执行之前请务必看本步骤后的说明。将imagex.exe复制到C:WindowsSystem32目录下(或者进入DOS下进入imagex.exe所在目录),管理员身份运行CMD,执行命令:
imagex /export O:sourcesinstall.wim 1 I:OSinstall.wim /compress maximum
等待操作完成后,进入下一步操作;
说明:
1).导出之前,请用wimtool查看镜像的卷信息,如下图,以根据需要导出指定卷。
2).命令参数说明:
- 参数:O:sourcesinstall.wim,为第二步加载ISO镜像的"CD驱动器"所在目录下;
- 参数:1,为原始镜像的卷标,数字表示只导入指定卷,*表示所有卷,导入之前可用wimtooll查看原始镜像卷信息,一个镜像文件可能有多个卷,按图中红色标记3按钮切换卷,可产看卷的版本信息等。如下图所示;
- 参数I:OSinstall.wim,表示目的卷(可以不存在,表示新建),注意路径中不要出现特殊字符(如空格、中文等);
- 参数/compress maximum,表示最大压缩,微软原版镜像为如此。
(4).更改镜像卷信息,可以用imagex命令或用wimtool.exe查看并修改;
1.wimtool修改(推荐):如上图,修改4中的相应内容。注意每切换一个卷标,要点击5 修改映像信息保存修改;
2.imagex命令:imagex /info I:OSinstall.wim 1 "Windows 8.1 Pro X86" "Windows 8.1 专业版[32位]"。
(5).重复步骤(2)-(4),依次导出所需要镜像到install.wim中。注意别遗忘步骤(2)重新加载新的映像,否则合并的是同一映像。通过改变导出的映像顺序,改变合盘后系统版本顺序。
#用wimtool工具修改install.wim卷信息。
#Win8.1 32位、64位所有版本合并完成。
#(3)、开始合并Win7、Win8.1所有版本。
imagex /export I:OSinstall_win7_x86x64_9in1.wim * I:OSinstall.wim /compress maximum
#Win7、Win8.1所有版本合并完成。
#用wimtool工具检查install.wim卷信息。
上述命令执行后,install.wim包含13个Windows版本,版本显示顺序同命令执行的先后顺序。
(6).[可选][有问题],由于合并后镜像大小超过4G,而一边U盘格式FAT32 只支持最大4G单文件,所以如果想用FAT32位的U盘刻录镜像,就必须将install.wim拆分。(当然也可以选择将U盘格式化成NTFS格式后做系统盘)。同样使用imagex命令,如下:
imagex /split I:OSinstall.wim I:OSinstall.swm 3072
参数说明:
- 参数I:OSinstall.wim,表示原始wim映像;
- 参数I:OSinstall.swm,拆分后的映像,将拆分为install.swm、install2.swm、install3.swm等多个映像,个数根据参数3决定;
3、参数3072,每个映像大小最大值。
注意:如果拆分install.wim,安装系统时发现,位于版本列表后面的几个系统安装会出现错误,提示"Windows 找不到Microsoft 软件许可条款…"。至于解决方案,本人网上搜索了很久,确实有许多人遇到,但是都没找到合适的方案。如果有谁找到了相应的解决办法,恳请留言告知,不胜感激!
(7).制作Windows系统合盘镜像。
1.用ultraiso打开一个Windows8.1 (必须是windows8.1,才能安装windows8.1的install.wim,也就是说采用高版本的Windows PE)的iso镜像,删除sources文件夹下面的install.wim,把刚才制作好的install.wim添加进去。
2.将sources文件夹里面EI.CFG文件删除,替换为提供的EI.CFG文件。点击保存,大概需要几分钟到十几分钟。有关EI.CFG说明见后文。
说明:
- 如果需要保留Windows8.1 原版镜像,修改之前请备份。
- 如果出现下图超出范围提示,在红色区域点击右键,选择合适的大小即可。
- 如果想修改合盘镜像卷标,依次点击"工具","修该ISO卷标"完成。
(8).准备可引导U盘,可虑系统文件到U盘。考虑到合盘后install.wim大于4G,而U盘一般格式为FAT32,不支持4G大文件,所以需要将U盘转化为NTFS格式。然后使用BOOICE配置引导项。
- 格式化u盘。如果u盘不是usb-hdd格式的话,需要用工具HPUSBFW.RAR来把u盘格成usb-hdd格式。
- 启动BOOTICE,选中选项页"物理磁盘处理",在"目标磁盘"选中待启动的U盘(根据大小和盘符判断);
- 点击"主引导记录(M)",弹出的对话框中,选择"UltraISO USB-HDD+/USB-ZIP+",点击"安装/配置(s)",弹出的对话框中,点击"UltraISO USB-HDD+",提示"已成功更新主引导记录",点击"确定",再点击"取消"回到软件开始界面;
- 点击"分区引导记录(P)",弹出的对话框中,选择"BOOTMGR引导程序(FAT/FAT32/NTFS/ExFAT)",点击"安装/配置(s)",弹出的对话框中,使用默认设置,点击"确定",提示"成功更新分区的PBR!",点击"确定",再点击"取消"回到软件开始界面;
- 点击"分区管理(G)",弹出的对话框中,选择引导文件"GRLDR"所在的分区,点击"激活",完成启动项设置,退出。如果"激活"按钮为灰色,说明该分区已经为活动分区,无需更改,退出即可。
- 使用UltraISO提取系统文件到U盘,或者用压缩软件解压到U盘。
(9).使用虚拟机或真机测试合盘后的镜像。
三、合并效果
四、问题释疑
1.无法找到install.wim
解决:install.wim镜像出现问题,重新制作吧。可以用wimtool打开,查看卷信息是否与预期的相符。
2.找不到许可验证(如图),或者不出现版本选择界面
解决:EI.CFG 出现问题,重新替换EI.CFG为提供的即可解决。
五、几点说明
(1).EI.CFG文件
Windows 安装光盘中存在着 SOURCESEI.CFG 这样一个配置文件。EI.CFG是特定于 Windows 安装程序的配置文件,用于确定在安装过程中应该使用哪种版本和许可证。EI.CFG是基于文本的文件,可以用记事本打开编辑。如:
[EditionID]
Professional
[Channel]
Volume
[VL]
1
参数说明:
1.[EditionID]:版本名称,必须为有效的 Windows 版本 ID,且具有唯一性。留空或者填写多个,将等同于删除EI.CFG文件。在安装时会被写入注册表HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersion的EditionID之中。其中Win 7 中版本包含:Starter, HomeBasic, HomePremium, Professional, Ultimate, Win 8 中版本包含:Professional, Enterprise。(win 8中还一个核心板,不知ID为什么。)
2. [Channel]:渠道,Win 7指定是OEM还是零售Retail。而Win8指定为零售(Retail)、批量授权(Volume)、OEM(OEM);
3.[VL]:批量版Volume License是批量许可标志。1为 (True) 批量授权版, 0为 (False) 零售版。
安装程序可以自动读取 EI.CFG 并判断用户购买的是什么版本,然后将其它版本的选择列表屏蔽。EI.CFG只要内容或格式有错,安装程序都会列出所有版本的选择列表的。例如[VL]不存在或者填写上非0非1的数字,就会出现版本选择列表。
Retail改成OEM就可以显示OEM的安装协议,否则就是RTL的协议。用这个重新生成的光盘镜像进行安装,就会出现"旗舰版、专业版、家庭高级版、家庭普通版和简易版"等多种版本的安装选项窗口。
(2).关于U盘启动项的更多说明,请参见:制作启动U盘(稍后放出)。