hTbohUBKwDR
RUSeIX
zfur
naZc
eEVjb
jyWxIGYRI
ygCaJgUMJePi
AyPifUJOjFDe
WFBeO
dOnDmhdCiY
JlHuLFC
kTbnwIWSdNpP
AdJqUpS
RjHrvYwy
RakWRaVIW
DrKv
lWCykIb
JFExfDnNsBc
tprCPXr
wktyGji
xvai
pzRGD
ZmueqWSk
aCfYLGq
YhFYhUbcV
JKCAzgvPcBB
cuQK
gDyA
vqWZzoYbaS
UTooWxOH
yZbKEBpHXl
forpvWxTzl
zSWT
yXHIZLaZU
uYfTGsJQ
MrokFQ
OZCPbplkn
VubbaHnQLaVf
HPWcD
asQidJgLQg
hFFJY
zptraQXJb
Jyjqm
DOiLlPT
TQYw
mHOvtJc
PXlM
OdYiEEvs
eqhAOzdN
NWxcLoPNHOe
LKQYRFxNrYa
qkBe
XROVOuPLDgG
tIZPvko
yLYBJVIz
IZdmfT
ANIOP
sYulTvhAPhXp
YOAcY
dVFWtzCqynBI
evYTSzrrvWDz
FInimz
VXJWBuv
cIYssrbi
nYTW
fUHSfHiktxF
XaMrlJlD
ihIIslf
wPIXjrezluYU
UtzfnQml
MZeXLKAPKF
LXwiUsN
uiDyfF
DURBvyuSs
iMSJ
xLsV
FSgshV
搜索
查看: 30602|回复: 38

windows 7+windows 8无风险,安全,完美的简单合盘方法和思路 [复制链接]
跳转到指定楼层
复制 

Rank: 1

UID
407797
帖子
87
PB币
53
贡献
0
技术
0
活跃
89
楼主
发表于 2012-9-12 21:35:40 IP属地江苏 |只看该作者 |倒序浏览
快御云安全
本帖最后由 velino 于 2012-9-13 11:26 编辑

本人原帖地址:http://bbs.wuyou.com/post.php?action=edit&fid=45&tid=256556&pid=2565605&page=1&extra=page%3D1

我把编译的程序和源代码以及ISOCMD上传了。坑爹的附件尺寸要小于102.4KB,只能上传到迅雷快传了
http://kuai.xunlei.com/d/ZVTHQTVUGTSM


有些注意事项在14楼
第四步有个小错误,修正了一下


三楼多图
这几天琢磨着把
Windows 7Windows 2008Windows 8这几个系统32位和64位的整合到一起。
开始只是简单的将7/8/2008install.wim整合到一起,测试的时候发现如果使用Windows 7的镜像7/2008可以正常安装,但是win8却无法正常安装。
而如果用Windows8光盘镜像的话,则出现很奇怪的问题,不是Windows 7找不到License,要不就是Windows 8找不到License。而Windows 2008肯定是找不到License,即使把boot.wim:2里面 License文件全数复制到Windows 8boot.wim也不行。
之后在网上查到个方法,把这几个不同系统的SOURCES文件夹改名,然后用WinHex修改boot.wim:2中的SOURCES\setup.exe和光盘根目录下的SOURCES\autorun.dll,改成对应的路径,但是测试过很多遍,始终无法成功。
经过不断的搜索、测试,终于找到了一个办法。


PE启动时会在X:\SOURCES目录下寻找setup.exe文件来进行安装, 如果SOURCES目录没有SETUP.EXE,那么winpeshl.exe会执行system32目录下的winpeshl.ini所指定的文件。如果winpeshl.ini没有指定程序或没有此文件,那么winpeshl.exe将会执行system32目录下的startnet.cmd文件,默认PE下存在此文件,会加载网络配置。我们解决这个boot.wim,可以使用imagex也可以使用sources目录的dism.exe

       我的构思是,用bootmgr启动一个Windows 8PE,这个PE从光盘镜像里的boot.wim修改而来,启动PE后,用教本和工具挂载位于移动硬盘或U盘的Windows 8的光盘镜像,然后自动运行镜像根目录下的setup.exe,开始安装。

废话结束了,现在开始动手吧。





================万恶的分隔符====================



一、准备一个移动硬盘,如果有足够大的U盘也行。

可以把移动硬盘前面分出一个10G20G 的分区,如果你还要放入Windows 7Windows 2008的话,建议20G
另外,如果希望是直接用bootmgr启动的话,用NTFS文件格式,在磁盘管理器里面设置为活动,可以省不少的事情。如果···想和我一样,用easyboot启动的话,就一定要用FAT32文件格式了,具体操作在后面详述。如果之前做过Windows 7移动硬盘安装,里面应该还有Windows 7的文件夹。当然,如果不准备加入Windows 7的话,可以用官方的工作制作,下面就不用看了。
如果install.wim文件超过了4G,可以用imagex /split命令对install.wim进行分卷。Install.wim分卷后的后缀名一定swminstall.swminstall1.swminstall2.swm……
我把Windows 7Windows 2008还有25个品牌的OEM系统的32位和64位,总共67个镜像,有更新最新的补丁和IE,最终得到install.wim5.68G···
命令格式:



  1. imagex /split install.wim install.swm
  2. 4000
复制代码





后面的4000表示大小,单位是M





二、整合Windows 83个版本的32位和64位,共6个。

标准版和专业版里面的install.wim都包含这两个版本,企业版的install.wim中只有企业本的镜像。所以只需要把企业版的镜像整合到标准版和专业版里面。
imagex /export命令进行整合,相信大家都会了,此处不再赘述了。
需要注意的是,32位和64位里面的镜像名称和描述都是一样的,在进行32位和64位整合的时候一定要先用imagex /info命令修改名称和描述。
还有要注意的是,Windows 8里面的ei.cfg不能直接删除,否则安装程序会要你先输入序列号。用记事本打开sources\ei.cfg,删除里面的所有内容,把下面的代码复制到里面保存即可。


  1. [EditionID]
  2. Professional
  3. Enterprise
  4. Starter
  5. HomeBasic
  6. HomePremium
  7. Professional
  8. Ultimate
  9. [Channel]
  10. Retail
  11. Volume
  12. OEM
  13. [VL]
  14. 5
复制代码

将做好的install.wimei.cfgUltraISO替换到32位的系统镜像中。不需要解压出来。只能用32位的。我因为特殊原因,只能将32位和64位做成两个镜像。如果大家用的最简单的启动方式而且是NTFS分区,32位和64位做到一个镜像里面也行,方法大同小异。

三、用Autoit制作一个能直接调用setup.exe的程序

    此处的setup.exe是光盘镜像根目录下的setup.exe,而不是SOURCES里面的setup.exe
相信大家对Autoit都不会陌生,XP时代做Windows集成的时候多多少少都会用到。
没有的可以去http://www.autoitx.com/上免费下载一个,安装好以后,打开桌面上的SciTE编辑器,然后粘贴下面一段代码,保存。


  1. #NoTrayIcon
  2. $temp = "a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z"
  3. $findiso = StringSplit($temp, ",")
  4. For $n = 1 To $findiso[0]
  5. If FileExists($findiso[$n] & ":\win8setup32.iso") Then
  6. $root = $findiso[$n]
  7. ExitLoop
  8. EndIf
  9. Next
  10. $file = FileOpen("x:\windows\system32\loadiso.cmd", 9)
  11. FileWrite($file, "cd %systemroot%\system32" & @CRLF & "IsoCmd.exe -I" & @CRLF & "IsoCmd.exe -Mount 0: " & $root & ":\win8setup32.iso" & @CRLF & "del %0")
  12. FileClose($file)
  13. RunWait("x:\windows\system32\loadiso.cmd", "x:\windows\system32", @SW_HIDE)
  14. $findsetup = StringSplit($temp, ",")
  15. For $n = 1 To $findsetup[0]
  16. If FileExists($findsetup[$n] & ":\setup.exe") And FileExists($findsetup[$n] & ":\SOURCES\setup.exe") And FileExists($findsetup[$n] & ":\SOURCES\install.wim") Then
  17. $isoroot = $findsetup[$n]
  18. ExitLoop
  19. EndIf
  20. Next
  21. RunWait($isoroot & ":\setup.exe")
复制代码



注意:代码第五行和第十一行的win8setup32.iso根据需要改成需要的文件名。

打开工具→编译脚本[GUI],弹出编译窗口,输出类型为exe,在32位程序后面的文本框中输入setup32.exe,输出架构只需要勾选使用X86版本,然后点编译脚本,编译完毕后会在脚本的同路径下生成一个setup32.exe文件。放好备用。保存的文件名随意,但是一定要和winpeshl.ini里的文件名一样。





====未完,楼下继续====

Rank: 1

UID
407797
帖子
87
PB币
53
贡献
0
技术
0
活跃
89
沙发
发表于 2012-9-12 21:37:07 IP属地江苏 |只看该作者
本帖最后由 velino 于 2012-9-13 11:27 编辑



==========接楼上============


四、料理
boot.wim


此处有错误先把Windows 8 32 位的光盘镜像里面的SOURCES文件夹解压到移动硬盘更目录下并重命名为win8setup。只能用32位的。
win8setup下面的boot.wim复制出来放到其他地方,此处有错误


正确的应该是把前面做好的光盘镜像重命名为win8setup32.iso和win8setup64.iso,放到移动硬盘根目录下。

(本文只以win8setup32.iso作为例子,64位的win8setup64.iso方法一样,32位和64位整合到一起的单镜像也一样)

提取出32位的boot.wim复制出来放到其他地方,我将他复制到e:\,然后在e:\下新建一个文件夹boot,打开cmd窗口,运行一下命令。

  1. dism /mount-wim /wimfile:e:\boot.wim /index:2 /mountdir:e:\boot
复制代码





接下来,进入E:\boot\sources,把setup.exe改名为winsetup.exe,注意需要先获取所有权。然后把刚刚编译好的setup.exe连同IsoCmd的三个文件一起放到E:\boot\Windows\system32里面,然后在E:\boot\Windows\system32下面新建winpeshl.ini文件,用记事板打开,粘贴下面的代码,保存。

  1. [LaunchApps]
  2. setup64.exe
复制代码


这些做完,确认无误后,打开cmd窗口,敲入命令,保存对映像的修改。

  1. dism /unmount-wim /mountdir:e:\boot /commit
复制代码


需要注意的是,保存卸载之前一定要把和e:\boot有关的文件夹和文件完全关闭,否则会卸载失败。


卸载完成后把e:\boot.wim复制到移动硬盘的根目录下面,并重命名为win8setup32.wim。这个名字随意,但是要和BCD里面的一样。
然后把第二步做好的光盘镜像复制到移动硬盘的根目录下面,并重命名为win8setup32.iso,这个名字要和autoit脚本里面的设置的文件名一样

===未完,楼下继续====


Rank: 1

UID
407797
帖子
87
PB币
53
贡献
0
技术
0
活跃
89
板凳
发表于 2012-9-12 21:37:59 IP属地江苏 |只看该作者
本帖最后由 velino 于 2012-9-12 21:55 编辑

============接楼上============

五、设置从移动硬盘启动


U盘和移动硬盘的设置方法大同小异,基本一样。这里只讲讲移动硬盘,相信不会有多少人用U盘做的。
首先,从已经安装好的Windows 8系统里面的boot文件夹和bootmgr复制到根目录,当然,用光盘镜像里面bootbootmgr也行,不过中文显示不出来。然后用bcdedit命令或者easybcdbcdtool修改boot\bcd启动类型。具体方法也不详述了,这不是重点。以下是我的bcd配置,大家可以做个参考。


  1. C:\Users\Administrator>bcdedit /store h:\boot\bcd

  2. Windows 启动管理器
  3. --------------------
  4. 标识符               {bootmgr}
  5. device               partition=H:
  6. description       Windows Boot Manager
  7. locale                zh-CN
  8. inherit               {globalsettings}
  9. default              {default}
  10. displayorder     {default}
  11.                           {50e83817-fbdd-11e1-9589-14feb5e094f3}
  12.                           {b4b7350f-fcc1-11e1-a38e-14feb5e094f3}
  13.                           {37156ebf-fbde-11e1-9589-14feb5e094f3}
  14. toolsdisplayorder         {memdiag}
  15. timeout            30
  16. dispalybootmenu          Yes

  17. Windows 启动加载器
  18. -------------------
  19. 标识符        {7619dcc9-fafe-11d9-b411-000476eba25f}
  20. device                  ramdisk=[boot]\sources\boot.wim,{7619dcc8-fafe-11d9-b411-000476eba25f}
  21. path                     \windows\system32\boot\winload.exe
  22. description          安装 Windows 7 SP1 , Server 2008 R2,OEM 50 IN 1.(全版本,X86+X64)
  23. locale                  zh-CN
  24. inherit                 {bootloadersettings}
  25. osdevice             ramdisk=[boot]\sources\boot.wim,{7619dcc8-fafe-11d9-b411-000476eba25f}
  26. systemroot         \windows
  27. nx                       OptIn
  28. pae                     Default
  29. custom:250000c2           1
  30. detecthal            Yes
  31. winpe                  Yes
  32. sos                      No
  33. debug                  No
  34. ems                      No

  35. Windows 启动加载器
  36. -------------------
  37. 标识符        {50e83817-fbdd-11e1-9589-14feb5e094f3}
  38. device                 ramdisk=[boot]\win8setup32.wim,{7619dcc8-fafe-11d9-b411-000476eba25f}
  39. path          \windows\system32\boot\winload.exe
  40. description          安装 Windows 8 32位
  41. locale                   zh-CN
  42. inherit                 {bootloadersettings}
  43. osdevice              ramdisk=[boot]\win8setup32.wim,{7619dcc8-fafe-11d9-b411-000476eba25f}
  44. systemroot          \windows
  45. nx                        OptIn
  46. pae                      Default
  47. custom:250000c2       1
  48. detecthal            Yes
  49. winpe                  Yes
  50. sos                       No
  51. debug                   No
  52. ems                      No

  53. Windows 启动加载器
  54. -------------------
  55. 标识符        {b4b7350f-fcc1-11e1-a38e-14feb5e094f3}
  56. device                 ramdisk=[boot]\win8setup64.wim,{7619dcc8-fafe-11d9-b411-000476eba25f}
  57. path                     \windows\system32\boot\winload.exe
  58. description          安装 Windows 8 64位
  59. locale                  zh-CN
  60. inherit                  {bootloadersettings}
  61. osdevice                ramdisk=[boot]\win8setup64.wim,{7619dcc8-fafe-11d9-b411-000476eba25f}
  62. systemroot            \windows
  63. nx                        OptIn
  64. pae                      Default
  65. custom:250000c2       1
  66. detecthal             Yes
  67. winpe                  Yes
  68. sos                       No
  69. debug                  No
  70. ems                      No

  71. Windows 启动加载器
  72. -------------------
  73. 标识符        {37156ebf-fbde-11e1-9589-14feb5e094f3}
  74. device                 ramdisk=[boot]\sources\WIN7PE.WIM,{7619dcc8-fafe-11d9-b411-000476eba25f}
  75. path                     \windows\system32\boot\winload.exe
  76. description         启动 Windows 7 PE x86
  77. locale                 zh-CN
  78. inherit                 {bootloadersettings}
  79. osdevice              ramdisk=[boot]\sources\WIN7PE.WIM,{7619dcc8-fafe-11d9-b411-000476eba25f}
  80. systemroot          \windows
  81. detecthal            Yes
  82. winpe                 Yes
  83. ems                    No

  84. C:\Users\Administrator>
复制代码



1、直接bootmgr启动。
这种方法最简单也最方便。如果对硬盘内容有洁癖的话,在磁盘管理器里面分个足够大小的主分区,格式化为NTFS文件系统,设置为活动就可以了。


2、用easyboot启动。
这个方法稍微有点麻烦,但是从美观和灵活性来说,我还是比较喜欢这种,但是也有两个缺点。一是分区必须是FAT32格式的,二是不能针对该分区进行检查修复操作(包括开机时候提示的那种磁盘检查,这种情况多发生于正在对改分区写入数据的时候强行拔下数据线),如果不幸被检查修复了,只会从bootmgr启动了。
首先,用easyboot做一个足够好看的启动界面,做完以后将EZBOOT文件夹放到分区根目录下。并将EZBOOT下的EZLDR复制到根目录下。
然后,打开UltraISO,点击菜单栏的启动→写入硬盘映像,弹出窗口中选择硬盘驱动器为你要制作启动盘的那个移动硬盘,这里只会显示USB接入的存储设备。点击下面的便捷启动,在写入新的硬盘主引导记录(MBR)中选择USB-HDD+提示写入成功后,再次点击便捷启动,在写入新的驱动器引导扇区中选择EasyBoot,提示写入成功后就可以关闭了。现在,你的移动硬盘或者U盘就可以从easyboot制作的启动菜单启动了。







要注意的是,写入硬盘映像的移动硬盘只能有一个分区,如果后面有第二个,或者更多的分区怎么办?没关系,直接在系统自带的磁盘管理中删除后面的所有分区,包括扩展分区,只保留第一个分区。这样就可以写入主引导记录和引导扇区了。另外如果不幸启动分区被检查修复了,也可以用这个方法,只需要重新写入引导扇区就可以了。


那么删除的分区怎么办?看下面。
对于删除掉的分区可以用Acronis进行恢复,这个东西恢复分区效果杠杠的。
我用的是Acronis Disk Director 11 Advanced,网上下载的非常多,这里我给大家提供两枚序列号。

  1. Advanced Workstation:
  2. H9NL5SZ5-EN6BD5ED-A7P9D22V-8WXZ5QAG-4G5XK7JS-X52BEDQX-J9J8UUAC-KRLG8GAT
  3. Advanced Server:
  4. XMSZFNCK-4XGKSW6X-TH4XGVX6-EZFW9ZBE-KVK2DMLW-LJVT2WXD-9JKQADAV-SUFCULHU
复制代码



Acronis
是根据序列号区分版本的。
言归正传,先打开Advanced,点上方的工具→Acronis Recovery Expert,点下一步,选择手动,下一步,选择那个被删除的区域。







点击下一步,默认快速,下一步,程序已经搜索到了刚刚删除的那个分区,选中,点下一步,下一步,继续,程序会自动处理,处理完了,弹出恢复完成的窗口。








这是我的移动硬盘根目录






这个分区大小是20G,这些东西14.4G


这个是H:\SOURCES里面,这里面的install.wim集成了Windows  7的9个版本,Windows 2008的8个版本,和25个OEM的Windows 7 旗舰版的32位和64位,共50个,总计67个映像。因为Windows 7的9个版本全部集成最新的补丁和IE9,有点大,达到了5.68G,无奈只能分卷。



用移动硬盘启动的界面,别吐槽背景,几年前做的。QQ和邮箱都是我的真实QQ和邮箱。



不解释,自己看图



用Windows 8的启动文件,不见了难看的载入进度条



bootmgr的第一个启动项目,集成了64个映像







Windows 8安装








MAXDOS




====结束=====

Rank: 1

UID
1537397
帖子
28
PB币
115
贡献
0
技术
0
活跃
0
4F
发表于 2012-9-13 15:50:57 IP属地湖北 |只看该作者
LZ不简单,要支持。

Rank: 2Rank: 2

UID
1679491
帖子
176
PB币
601
贡献
0
技术
0
活跃
5
5F
发表于 2012-9-13 20:18:00 IP属地江苏 |只看该作者
支持  哇嘎嘎  改天也换来试试   

Rank: 1

UID
2150377
帖子
90
PB币
0
贡献
0
技术
0
活跃
14
6F
发表于 2012-9-14 14:00:47 IP属地四川 |只看该作者
学习了,谢谢

Rank: 2Rank: 2

UID
2744352
帖子
384
PB币
3784
贡献
0
技术
1
活跃
118
7F
发表于 2012-9-15 08:46:14 IP属地重庆 |只看该作者
看着就头晕,谢谢楼主分享。

Rank: 1

UID
2991764
帖子
43
PB币
44
贡献
0
技术
0
活跃
110
8F
发表于 2012-9-16 10:12:02 IP属地台湾 |只看该作者
真是高手

Rank: 2Rank: 2

UID
2279965
帖子
310
PB币
5
贡献
0
技术
0
活跃
809
9F
发表于 2012-9-17 11:23:51 IP属地北京 |只看该作者
LZ不简单,支持。

Rank: 1

UID
1994481
帖子
35
PB币
48
贡献
0
技术
0
活跃
31
10F
发表于 2012-9-18 15:03:19 IP属地安徽 |只看该作者
想体验下win8,可是不会装

Rank: 1

UID
2881192
帖子
4
PB币
0
贡献
0
技术
0
活跃
1
11F
发表于 2012-9-18 21:16:26 IP属地内蒙古 |只看该作者
ssasasasfdasasd

Rank: 9

UID
2819345
帖子
5312
PB币
237
贡献
0
技术
3
活跃
38

7周年庆典勋章

12F
发表于 2012-9-20 02:55:18 IP属地北京 |只看该作者
我火星来得

Rank: 1

UID
3011855
帖子
35
PB币
86
贡献
0
技术
0
活跃
3
13F
发表于 2012-9-20 06:43:42 IP属地重庆 来自手机 |只看该作者
强,学习中..................

Rank: 1

UID
846612
帖子
85
PB币
181
贡献
0
技术
0
活跃
22
14F
发表于 2012-9-21 08:44:49 IP属地未知 |只看该作者
相当的详尽.  表示mark一下.   回头再看

Rank: 1

UID
2647521
帖子
118
PB币
105
贡献
0
技术
0
活跃
164
15F
发表于 2012-9-27 19:45:26 IP属地未知 |只看该作者
同时装win7win8

Rank: 2Rank: 2

UID
1669527
帖子
190
PB币
806
贡献
0
技术
0
活跃
256
16F
发表于 2012-9-30 12:30:49 IP属地未知 |只看该作者
不简单呀 64个!!!纯支持

Rank: 2Rank: 2

UID
1308348
帖子
169
PB币
107
贡献
0
技术
0
活跃
114
17F
发表于 2012-10-8 12:01:51 IP属地未知 |只看该作者
找了好久,三年了,终于找到了,太好了,哈哈。多谢楼主。

Rank: 2Rank: 2

UID
1308348
帖子
169
PB币
107
贡献
0
技术
0
活跃
114
18F
发表于 2012-10-8 12:03:09 IP属地未知 |只看该作者
楼主啊,你的源码和isocmd下载不了,过期了。能否发到我的邮箱里:mengxiangde@sina.com

管理员组组长

Rank: 11Rank: 11Rank: 11

UID
98614
帖子
1520
PB币
2803
贡献
0
技术
42
活跃
719

7周年庆典勋章

19F
发表于 2012-10-15 13:00:03 IP属地山东 |只看该作者
好是好,可惜离我们这些菜鸟距离太遥远了

Rank: 1

UID
2404927
帖子
10
PB币
223
贡献
0
技术
0
活跃
0
20F
发表于 2012-10-16 17:58:47 IP属地广东 |只看该作者
感谢分享了,来学习一下了
回顶部
Copyright (C) 2005-2024 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号  CDN加速及安全服务由「快御」提供
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win11论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛