本人已研究Windows系统合盘安装镜像多年。自Vista系统开始使用“bootmgr”文件引导,预加载“\sources\boot.wim”PE微型系统进入安装程序,然后解包“\sources\install.wim”文件进行系统安装。后来得知wim文件支持合盘系统安装,能大大减少占用空间(谁也不想把一堆系统的完整镜像刻几张碟或者都拷到U盘里吧,太搞笑了),本人就从Windows 7开始踏上了合盘的研究之旅,经历了7、8、8.1,到现在的10,屡屡碰壁,但每次都有所收获,过程还是很愉快的。
近期我终于把一个困扰我许久的难题攻破了,颇有成就感,在此跟大家分享一下。
众所周知,Windows 7和以上的系统有32位和6电脑4位之分(有什么区别我就不说了,应该都知道),而引导安装的方式又有legacy和UEFI两种,老主板只支持legacy的传统引导方式,而新主板的UEFI方式,结合GPT分区和Windows 8以上的系统可以实现快速启动等功能。Windows 7以上的系统安装镜像都支持legacy和UEFI两种引导安装方式,但32位和64位的镜像又是分开的,然而不止是我,很多人都想到了将一些常用系统镜像的32位和64位都集成到一个wim文件,封装成一个镜像,安装系统的时候可以直接选择装哪个系统。然而会出现一个问题,合盘倒是不难,用ImageX就可以了,但是为了能让wim文件正常使用,该使用32位还是64位的镜像作为母盘呢?对此,我用两种盘做了尝试。
一:用32位镜像做母盘集成合盘wim文件,在legacy引导方式下,32位和64位的系统都能正常安装,但是在UEFI引导方式下会报错(大部分UEFI主板只支持引导64位系统,估计引导32位系统可以,我没见过):
UEFI引导报错
二:用64位镜像做母盘集成合盘wim文件,无论在legacy还是UEFI引导方式下,64位的系统能正常安装,32位的系统在安装的最后环节会提示文件受损无法继续安装:
电脑安装32位系统报错
为实现两全其美,我花了很多时间各处翻查资料逛论坛贴吧,也下载了一些别人的镜像拆开研究,在一次测试失败中被我用连拍拍到一个很吊我胃口的cmd窗口:
神奇的cmd窗口
这个cmd窗口的标题成为了我破案的关键(破什么案,柯南看多了吧)。于是我顺藤摸瓜找到了cmd窗口原本想执行的批处理文件,真相大白,在这里大致讲一下实施方法。
用64位的镜像做母盘,但是镜像中的“sources”文件夹要用32位镜像里面的,又但是32位的“sources”里面又要用64位的“boot.wim”文件(别说你们,我也觉得很不可思议,我到底是怎么发现的)。然后解包“boot.wim”文件,搜索找到“startnet.cmd”批处理文件并在这个批处理中输入命令,让它在启动“boot.wim”系统后马上执行“boot.wim”里面自带的“setup.exe”程序,而不用它原来的运行方法,这样可以实现在UEFI下引导32位“sources”里面的64位“boot.wim”而不会提示缺少驱动程序。为什么一定要32位的“sources”?因为只有32位的才能在legacy引导方式下成功安装32位和64位的系统。
咦?前面不是说用电脑64位镜像做母盘装32位的系统会提示文件受损吗,那怎么装32位?很简单,再放一个32位的“boot.wim”就行了,legacy下引导32位的“boot.wim”,UEFI下引导64位的“boot.wim”,完美解决。你们要做的就是把64位的“boot.wim”改个名字,比如我改成“boot2.wim”;然后“boot2.wim”里面“2”文件夹里的“setup.exe”也要改名字,比如我改成“setup2.exe”,不然会出问题;最后还要将镜像中的“\efi\microsoft\boot\bcd”文件改一下引导文件为“boot2.wim”,封盘即可。
合盘研究不易,纯手工码字,喜欢我的经验分享可以点个赞哦!祝大家装机愉快。
电脑