无忧启动论坛

标题: win8安装正常:win7/vista安装器,支持安装系统到USB硬盘,可在xp的pe下运行,x86/x64通用 [打印本页]

作者: fujianabc    时间: 2009-6-4 03:42
标题: win8安装正常:win7/vista安装器,支持安装系统到USB硬盘,可在xp的pe下运行,x86/x64通用
最近一直有人在问怎么在xp核心的pe中安装win7,我在一些回帖中简略提到过方法,在这索性总结一下,把其中所需的工具发上来。

由于xp核心的pe不能直接运行win7的setup.exe,就直接从install.wim解压安装,三条命令即可。
假设要安装win7/2008 r2的分区在pe下盘符是c:,光盘盘符是d:(虚拟光驱也行),激活主分区盘符为e:
1、imagex /apply d:\sources\install.wim 5 c:    (注意,这里5是指ultimate版,要装其它版本把这个数字换成其它)
2、bcdboot c:\windows /s e: /l zh-CN            (一条命令搞定bootmgr和bcd,并把启动菜单设成中文的)
3、bootsect /nt60 e:                                (写入c:盘的bootmgr引导扇区)   

执行了以上命令之后,重启即可

以上3个程序可以从下面的安装器中提取,目前试验最好的版本是7600的imagex/bootsect以及7000的bcdboot

下面的安装器是基于上面的原理制作的,其中代码最基本部分来自zjqcomputer (小小强),我在此基础上作了很多修改和增强。

感谢yuanxin8701 制作了图形版,详见649楼  (由于论坛的bug,如果649楼没有的话,请到639楼找)
2楼是安装器更新记录

下载:
NT6.X快速安装器100227.part1.rar (500 KB, 下载次数: 53893) NT6.X快速安装器100227.part2.rar (8.77 KB, 下载次数: 35711) (中文版)
NT6.X fast installer 100227.EXE.7z (493.9 KB, 下载次数: 19818) (English version)
(目前cmd版比GUI版更稳定一些)
NT6快捷安装器v1.1.exe.7z (444.13 KB, 下载次数: 32312) yuanxin8701的GUI版。GUI版现已为正式版了!!
英文版的一些相关讨论和信息可以看bootland的帖子:
http://www.boot-land.net/forums/index.php?showtopic=10126

本安装器相比微软的setup.exe有4个优点:
1、支持xp核心的winpe下安装win7和vista
2、支持直接把系统装到USB移动硬盘
3、支持手动选择bootmgr所在分区,从而避免了移动硬盘/U盘启动pe时把启动文件装到移动硬盘/U盘的尴尬
4、支持更改系统分区所占用的盘符。用setup.exe从winpe安装win7/2008 ,系统分区会占用C:盘,这让一些人感觉不爽,本安装器允许你自己选择win7/2008 r2系统分区所占用的盘符。

5、安装速度快。用此安装器硬盘安装,一般主流的5400转的笔记本盘上用11-12分钟,台式机7200转的不到10分钟


说明:
1、此方法可在xp sp1以上版本的winpe中使用,包括2003的pe和vista的pe 2.x。此方法也可以在win2000 sp4以上windows中使用
2、由于vista/2008直接用imagex解压后不会自动调整系统盘盘符,用上面3条命令的方法安装vista/2008可能会出现问题,详见31楼。
     而安装器在9月5日的更新中引入了微软的一段注册表盘符处理脚本,解决了31楼的问题。从而可以支持VISTA/2008的安装,安装后Vista/2008的系统盘盘符为D:
3、此工具支持直接把系统装到usb移动硬盘上(不支持装到u盘上)。usb硬盘上系统安装完后,建议手动开启usb硬盘的写缓存。
4、如果要把usb系统插到其它电脑上用,请先执行\Windows\System32\sysprep\sysprep.exe /oobe /generalize /shutdown。关机后即可插到其它电脑上启动了。
5、对于用此安装器安装win7后系统占用C:盘感到不爽的人,可以看这里,提供了解决工具。(12月2日更新已经包含了此功能了)





[ 本帖最后由 fujianabc 于 2012-3-1 18:24 编辑 ]
作者: fujianabc    时间: 2009-6-4 03:50
安装器更新记录

2012-03-01:
测试了win8的beta版,安装一切正常。
GUI版会出现无法识别nt 6.2版本的问题,不过手动确认非vista/2008后也正常

2010-02-28更新:
1、增添对一些由wimtool制作的非标准wim文件的检测,提示用户确认版本
2、增添对nt 5.x的wim的检测

2010-02-19更新:
1、修正了输入单一空格退出的bug,并修改了提示。
2、修正了光驱、软驱没盘时,某些杀毒软件的所给出额外出错提示


2010-01-20添加yuanxin8701 制作的图形版,详见649

2010-01-03更新:
1、重新整理了一下代码,去除了一些多余代码,增加了注释和可读性。以便与bootland发布的同步
2、根据install.wim安装源自动判断bcdboot /l后面启动菜单的语言,避免了安装其他语言系统时提示中文启动文件缺失的问题。


09-12-20更新:
修改了安装系统到usb的处理方法,舍弃了原来inf修改和替换的方法。改用了注册表项监控程序usbbootwatcher,这样无需再修改和替换inf,可以让各个版本的系统安装到usb硬盘,安装补丁也不受影响。
现在任意版本的vista/2008/win7/2008 r2(任意sp版本)都能装到usb硬盘上了。

09-12-05更新:
感谢“系统维护”制作的utf8->ansi的转码器,这下彻底解决了中文乱码的问题。这个utf8togbk的源代码在
480楼


09-12-02更新:
1、把我的osletter7.cmd包含到了安装器中,大家安装win7/2008 r2时可以自己决定windows所在分区在系统占用哪个盘符
2、写了一个简单的readme,里面包含了本安装器的特点介绍以及本贴后面的注意事项。可以在开始时显示出来


09-11-21更新:
1、根据ioripalm的报告,修正install.wim包含超过10个映像时映像号选择的bug,现在支持install.wim最多包含999个映像
2、根据之前翻译以及一些网友反映的情况,修正了中文版的一些提示信息


09-11-01更新:
应巴基斯坦的网友maanu的请求,翻译制作了英文版,中文版没动。由于代码每变动过,因此英文版版本号依旧是090915

09-09-15更新:
1、根据dvd008 的报告,6001的bootsect在某些pe上无法正常执行,所以用7600的bootsect替换了
2、为适应某些过度精简的winpe,格式化前增加了format命令是否存在的判断
3、增加了对$oem$文件夹处理的处理

09-09-06更新:
隐藏了bcdboot某些错误提示的显示。

09-09-05更新:
1、
安装器支持VISTA/2008安装。
     我找到一段微软写的盘符调整cmd脚本,稍加修改后引入了安装器,使得vista/2008用此方法不会出现31楼的问题了。
2、小修正,以适应那些存在后期自动脚本SetupComplete.cmd的系统


09-09-03更新:
1、修正分区容量判断部分的一个bug
2、一些显示改进
3、感谢alexo帮忙更改了一些文字表述


09-09-02更新:
1、修正一个由bootsect命令的/force参数导致bcdboot写缓存没跟上的bug (感谢comiclife的试验)
2、修正wim文件路径有空格时的bug
3、增加安装分区容量判断

09-09-01更新:
1. 启动菜单中增加对XP等ntldr系统的多系统启动支持
2. 系统安装到USB移动硬盘时会自动禁用休眠
3. 增加目标分区NTFS的检测,因为Win7要求系统分区必须是NTFS

09-08-27更新:
1、添加了usb驱动后期处理,支持直接把win7/2008 r2直接装到usb移动硬盘上,x86/x64的系统都支持。
     至于具体修改的原理,3楼有简单介绍,感兴趣的可以直接看cmd代码。
2、小修正:添加了格式化判断,如果系统盘已有windows文件夹,则会提示格式化。

09-08-11更新:
感谢zjqcomputer (小小强)制作的工具,可以自由查看和选择版本,在任意版本32位的winpe中可以安装,在win2000 sp4以上windows中也可以


[ 本帖最后由 fujianabc 于 2012-3-1 18:26 编辑 ]
作者: fujianabc    时间: 2009-6-4 04:12
usb移动硬盘启动windows 6.x原理大致介绍

系统默认的情况下,usb驱动在启动之后才加载,而如果要让系统从usb启动,就必须让系统在启动时就加载usb驱动,因此把注册表中所有usb存储驱动项的加载方式改为boot,修改内容相见安装器里的usb.reg。
但光修改这几项是不够的,因为系统随时会把这几个注册表项还原(比如扫描安装硬件驱动阶段、新插入usb设备、新安装补丁等),这样下次重启会0x7b蓝屏。有两种方法可以防止这几项注册表还原,一种是修改inf文件,另一种是安装注册表监控程序。
本安装器2009年12月19日之前版本用了第一种方法,之后的版本采取了第二种方法。下面分别简单介绍一下:

方法一:修改替换inf文件
这种方法本质上就是修改了usb驱动的默认注册表设置项,因为注册表更改会按照inf的内容来进行,所以改了inf后,会按照inf的内容来还原。具体方法是把usb驱动的usb.inf,usbstor.inf,usbport.inf中与加载相对应的项作以下修改:
搜索.AddService],把其下starttype和LoadOrderGroup 项改为
[*.AddService]
StartType = 0
LoadOrderGroup = boot bus extender
然后要在3个文件夹中替换inf文件。替换文件的小技巧:因为直接替换几个inf需要先解除权限,比较麻烦,但微软自己的imagex拥有修改系统文件的权限,能随便替换系统文件,所以把要替换的inf打包到一个wim中,imagex直接解压就能覆盖。
这种方法,很麻烦,而且不通用,每个版本要修改相应的inf,并且如果遇到系统更新,以上修改便会失效。

方法二:usb注册表项监控
正由于以上方法的不通用性,所以在之后采用了另一种方法,就是安装程序来实时监控注册表usb存储相关的这些项,一但有更改立刻还原,这样就免去了inf修改以及替换的麻烦。而且各个版本通用,系统更新也没问题。
在911cd上,有人专门写了一个usb注册表项监控程序usbbootwatcher
http://www.911cd.net/forums//index.php?showtopic=22473
我把它引入了本安装器中,这样任意版本的vista/2008/win7/2008 r2(任意sp版本)都能装到usb硬盘上了。

usbbootwatcher使用的技巧:
1、把服务类型改成0x20(默认0x10),这样才在第一次重启后进入硬件配置阶段(微软叫specialize阶段)时自动运行
2、要把usbbootwatcher服务的注册表项添加到安全模式的加载项中,否则安全模式下该监控程序不会启动
以上两点都已经添加到了usb.reg中

[ 本帖最后由 fujianabc 于 2009-12-20 22:54 编辑 ]
作者: wdjlll    时间: 2009-6-4 08:05
谢谢楼主,这个问题让你给解决了,不过,还要再简单一点就更好了
作者: chenall    时间: 2009-6-4 09:42
这样子安装看起来比较简单...

但是用原来的安装程序好像有一些设置.这个的设置要在哪里设置?重启后可以设置吗?

还没有试过.
作者: 888111    时间: 2009-6-4 11:08
我用PE裡的WIN7簡易安裝器成功安裝WIN2K8 SP2,展開文件至26%時會出錯,不管它,重啟可繼續安裝.
作者: fujianabc    时间: 2009-6-4 15:20
原帖由 chenall 于 2009-6-4 09:42 发表
这样子安装看起来比较简单...

但是用原来的安装程序好像有一些设置.这个的设置要在哪里设置?重启后可以设置吗?

还没有试过.

原来安装程序的设置部分包括时区、接受协议、输入序列号等。

这些设置在win7已经移到系统安装完后,第一次登陆前了。

原帖由 zhxy9804 于 2009-6-4 07:56 发表
imagx 在pe中需要组件支持吧?

现在大家玩得pe 1.x里面都有wim挂载组件和驱动,因此直接就能用imagex.exe

[ 本帖最后由 fujianabc 于 2009-6-4 15:23 编辑 ]
作者: lxl1638    时间: 2009-6-4 17:10
@echo off
REM %1 安装win7/2008 r2分区在winpe中的盘符
REM %2 光驱盘符
REM %3 启动分区,即激活主分区在winpe中的盘符
imagex /apply %2\sources\install.wim 5 %1
bcdboot %1\windows /s %3 /l zh-CN
bootsector /nt60 %3


本人没有玩过Win7和Vista,现请教:红色两条命令有没有先后之分,即先执行bootsector再执行bcdboot
作者: lqcai    时间: 2009-6-4 17:29
应该没有先后之分吧,bootsect 改写磁盘主启动代码,如果是Vista及其以上,winpe2.0及其以上系统diskpart或磁盘管理工具创建的活动主分区则不需执行此命令,如果是第三方工具如 diskgenius工具创建的就必须执行此命令

bcdboot 处理系统引导,自动创建 bcd 文件

[ 本帖最后由 lqcai 于 2009-6-4 20:15 编辑 ]
作者: lxl1638    时间: 2009-6-4 18:01
原帖由 lqcai 于 2009-6-4 17:29 发表
应该没有先后之分吧,bootsector 改写磁盘主启动代码,如果是Vista及其以上,winpe2.0及其以上系统diskpart或磁盘管理工具创建的活动主分区则不需执行此命令,如果是第三方工具如 diskgenius工具创建的就必须执 ...


如果是这样,用WIM可以完全代替GHO的实现万能封装了,展开WIM映像比解开GHO文件快多了,不同版本要求的系统封装到同一个WIM同会比GHO文件省体积,唯一不足是将系统封装成WIM时需要的时间比GHO封装的要多(一次封装的时间长,以后每次安装的时间短,还是有优势的)。

谁来为它做个图形外壳?
作者: yjd    时间: 2009-6-4 18:08
好方法。收藏了。到现在也是没玩过vista和win7-_-!!。。。。
作者: dvd008    时间: 2009-6-4 18:18
bootsector /nt60 %3 有这个工具吗?
我用的是 bootsect /nt60 c:
本来呢,windows的备份(克隆),自从有了 bootsect.exe就可以用复制文件的方法+写引导代码
ghost恢复后,目标盘数据全没,如果用gho浏览器将文件复制到目标盘
手工修改nt52或nt60,以及 ntldr,boot.ini 等或bootmgr bcd就可以完成,并且原来数据可以保存。
封装的话,打包gho,wim,rar,zip,iso,什么都行。
作者: uepon    时间: 2009-6-4 18:26
ultimate 对应的是5,其它版本对应的是什么?
作者: uepon    时间: 2009-6-4 18:49
是不是类似这样的?

1212.jpg (22.28 KB, 下载次数: 537)

1212.jpg

作者: tegl    时间: 2009-6-4 18:52
好方法,感谢分享~~
作者: 蓝色天使    时间: 2009-6-4 18:57
楼上的那个什么时候放出来测试?
作者: fujianabc    时间: 2009-6-4 19:33
原帖由 dvd008 于 2009-6-4 18:18 发表
bootsector /nt60 %3 有这个工具吗?

不好意思,写错了,是bootsect,已经改过来了。

原帖由 uepon 于 2009-6-4 18:26 发表
ultimate 对应的是5,其它版本对应的是什么?

这个你可以用7-zip打开install.wim然后在windows文件夹下看到诸如Ultimate.xml的文件来确定版本。最近的win7还是测试版,改动比较大,install.wim在版本间有些变化
以rc 7100中文版为例:
1、starter
2、home basic
3、home premium
4、professional
5、ultimate

原帖由 zhxy9804 于 2009-6-4 18:30 发表
主要是,gho方便,通用,如果wim能做到这些,取代是可能的:
1.wim能够把硬盘的mbr也给打包进去吗?
2.wim能在软盘镜像启动吗?
3.对硬件的兼容性怎么样啊???

1.mbr不用了,用bootsect命令可以写mbr,bootsect c: /mbr
2.wim只能在windows或winpe下恢复,软盘镜像什么意思?
3.硬件兼容性和打包格式无关,封装前sysprep时选择通用硬件即可

[ 本帖最后由 fujianabc 于 2009-6-4 19:39 编辑 ]
作者: fujianabc    时间: 2009-6-4 19:36
原帖由 uepon 于 2009-6-4 18:49 发表
是不是类似这样的?

建议把系统分区(windows文件夹所在分区)和启动分区(bootmgr所在分区)分成两个选项,因为bootmgr必须放在激活的主分区上,windows文件夹可以放在任意分区上

我在上面的批处理里就用了%1和%3两个参数来代表系统分区和boot分区
作者: 蓝色天使    时间: 2009-6-4 19:36
bcdboot,能解释一下用法和参数吗?
比如 c盘的坏了
或者要引导 d盘的win7
作者: fujianabc    时间: 2009-6-4 19:41
原帖由 蓝色天使 于 2009-6-4 19:36 发表
bcdboot,能解释一下用法和参数吗?
比如 c盘的坏了
或者要引导 d盘的win7

自己看一下bcdboot /?,很简单的
像你这样windows在d:,要修复c:的bootmgr和bcd
bcdboot d:\windows /s c: /l zh-CN
作者: fujianabc    时间: 2009-6-4 19:51
原帖由 dvd008 于 2009-6-4 18:18 发表
手工修改nt52或nt60,以及 ntldr,boot.ini 等或bootmgr bcd就可以完成,并且原来数据可以保存。
封装的话,打包gho,wim,rar,zip,iso,什么都行。


wim格式的好处是重复文件只存储一次,ghost则不行。以前ghost xp为了dllcache文件夹中的大堆重复文件还要专门工具删除和恢复。

vista/win7中重复文件更多,全在winsxs文件夹内,有几万个重复文件,其实这些重复文件全是hard link,并不占用硬盘空间,但如果用rar/zip/iso打包恢复后,就要占用两倍空间了,而且会把系统文件的那些权限全部丢失。
作者: lqcai    时间: 2009-6-4 20:23
不好意思,写错了,是bootsect,已经改过来了。


呵呵,下午回复的时候由于在办公室,手头上没有任何win7的资料,我还以为我记错了,win7的bootsect已经改名了


bcdboot 确定不能用于 Vista 和 2008 安装吗?
作者: tanmaodou    时间: 2009-6-4 20:30
谢谢楼主,受益匪浅啊。
作者: yt982000    时间: 2009-6-4 20:36
我也学习一下,谢谢顶贴
作者: yuan_53770    时间: 2009-6-4 20:56
原帖由 uepon 于 2009-6-4 18:49 发表
是不是类似这样的?

这个在哪有的下载??
作者: fujianabc    时间: 2009-6-4 21:14
原帖由 lqcai 于 2009-6-4 20:23 发表


呵呵,下午回复的时候由于在办公室,手头上没有任何win7的资料,我还以为我记错了,win7的bootsect已经改名了


bcdboot 确定不能用于 Vista 和 2008 安装吗?

bcdboot完全可以用在vista和2008上

我说的是vista/2008一般不能直接用imagex解压来安装,因为vista/2008不能自己调整系统盘盘符,而win7/2008 r2可以。
作者: uepon    时间: 2009-6-4 22:08
已经搞定外壳。NSIS写。码也贴上来了。

[ 本帖最后由 uepon 于 2009-6-7 13:21 编辑 ]

a.jpg (28.89 KB, 下载次数: 331)

a.jpg

b.jpg (34.27 KB, 下载次数: 334)

b.jpg

inswin7.rar

280.84 KB, 下载次数: 4091, 下载积分: 无忧币 -2

INSWIN7_nsis.rar

272 KB, 下载次数: 1109, 下载积分: 无忧币 -2


作者: lqcai    时间: 2009-6-4 22:26
原帖由 fujianabc 于 2009-6-4 21:14 发表

bcdboot完全可以用在vista和2008上

我说的是vista/2008一般不能直接用imagex解压来安装,因为vista/2008不能自己调整系统盘盘符,而win7/2008 r2可以。


不懂vista/2008不能自己调整系统盘盘符是什么意思呀?

是不是可以这么理解:

winpe2.x(3.0)环境重新分区后,磁盘顺序虽连续,但可能不是默认顺序,通过磁盘管理器调整盘符为默认顺序,或者重启计算机重新进入winpe2.x(3.0),所分配的驱动器号恢复为默认顺序后,就可以使用 imagex 解压安装 vista/2008了?
作者: fujianabc    时间: 2009-6-4 23:34
原帖由 lqcai 于 2009-6-4 22:26 发表


不懂vista/2008不能自己调整系统盘盘符是什么意思呀?

是不是可以这么理解:

winpe2.x(3.0)环境重新分区后,磁盘顺序虽连续,但可能不是默认顺序,通过磁盘管理器调整盘符为默认顺序,或者重启计算机重新进 ...

不是的。

微软在制作install.wim时,vista/win7是装在d:盘,然后用imagex制作成镜像的。
因此按理来说,你要手动解压wim,就要解压到默认顺序的d:盘,否则在重启之后会提示盘符出错,可以参考
http://support.microsoft.com/kb/947245/en-us
但是,vista/2008的setup.exe在解压wim的同时对注册表中系统盘的盘符进行了修改,所以用setup装出来的vista/2008系统盘一般都不是d:

对于,win7/2008 r2,则无需setup.exe,在imagex /apply,然后重启时,自动会把系统盘设为c:,而不会出现kb947245的错误。

你也可以参考远景的这个帖子
http://bbs.pcbeta.com/viewthread.php?tid=482968
作者: fujianabc    时间: 2009-6-5 00:06
原帖由 zhxy9804 于 2009-6-4 23:58 发表

mbr的意思是我这个硬盘安装了f11,ghost可以整盘打包把f11的mbr也给打上!

ghost有dos版,生成wim的程序有dos版本吗?

ghost对硬盘的支持是很强大的,wim的是不是依赖系统?

ghost有dos版,imagex没有,否则vista/win7甚至可以在dos下安装了

ghost有内置磁盘驱动,imagex没有,imagex靠windows的磁盘驱动访问磁盘。
作者: uepon    时间: 2009-6-5 07:49
那个外壳有试过的吗?能否装啊?
作者: netwinxp    时间: 2009-6-5 08:12
原帖由 zhxy9804 于 2009-6-4 23:58 发表
mbr的意思是我这个硬盘安装了f11,ghost可以整盘打包把f11的mbr也给打上!
ghost有dos版,生成wim的程序有dos版本吗?
ghost对硬盘的支持是很强大的,wim的是不是依赖系统?


1、很显然即使你用GHOST,通常也不会使用DISK from IMAGES,除非是给自己的机子做的备份。

2、这正如DOS VS WINPE,我现在越来越多地使用PE而不是DOS,虽然我对DOS比PE还熟。

3、GHOST32是依靠谁的驱动?GHOST靠的是INT 13H。

[ 本帖最后由 netwinxp 于 2009-6-5 08:13 编辑 ]
作者: peihong998    时间: 2009-6-5 08:20
好工具,已下载,谢谢!
作者: uepon    时间: 2009-6-5 08:40
原帖由 zhxy9804 于 2009-6-5 08:11 发表
还有,你用的nsis打包软件也发上来,我也学习一下制作安装程序。
有nsis脚本简单介绍吗?

太大,不好上传。我用的是NSIS 2.14。网上一搜一大堆。
NSIS 教程也一搜一大堆。
作者: xiaobais    时间: 2009-6-5 10:47
请教一下,如果我是在PE里用虚拟光驱载WIN7的镜像,在重启后,以经没有了虚拟光驱(也就像用物理光驱安装时,光碟已经弹出了),没有了安装源文件,安装是如何继续下去呢?
我以前的用的方法是要先将镜像解压到D盘,再把必要的启动文件拷到C盘,重启后再进入WIN7安装程序中的COMMAND中修改安装源文件指向D盘.这样才可以继续安装.
作者: xiaobais    时间: 2009-6-5 10:55
难道是install.wim解压出来就已经是一个完整的安装源文件?
作者: edisonvon    时间: 2009-6-5 11:37
哈哈Uepon果然厉害
作者: lqcai    时间: 2009-6-5 12:19
原帖由 xiaobais 于 2009-6-5 10:55 发表
难道是install.wim解压出来就已经是一个完整的安装源文件?


setup.exe 安装中第一步复制文件应该就是复制系统引导信息如 bootmgr、BCD等文件到活动主分区
展开文件环节就是解压 install.wim 至安装分区。手动用 imagex /mountrw(apply) 展开 install.wim 就会发展其文件结构和已安装好的系统文件结构是一样的,不同的是安装进程修改了系统配置
作者: tzxinqing    时间: 2009-6-5 12:24
已经下载31楼的GUI版!谢谢楼主!谢谢李培聪!
作者: yewuqiu    时间: 2009-6-5 12:43
如果能把VISTA\2008的此种安装方法的盘符问题也解决了
确实就可以不需要64bit的pe了

不过MS上给出的解决方案(1.部署的盘符一致;2.采用基于imagex的安装程序)好像没有解决问题
作者: cnad    时间: 2009-6-5 13:39
启动到WINPE后使用WimTools解压缩也是可以的,后边两步都一样
作者: cnad    时间: 2009-6-5 13:40
WimTools可以直接看到每个系统的编号和描述
作者: fujianabc    时间: 2009-6-5 15:06
原帖由 xiaobais 于 2009-6-5 10:47 发表
请教一下,如果我是在PE里用虚拟光驱载WIN7的镜像,在重启后,以经没有了虚拟光驱(也就像用物理光驱安装时,光碟已经弹出了),没有了安装源文件,安装是如何继续下去呢?
我以前的用的方法是要先将镜像解压到D盘,再把 ...

安装vista/2008/win7/2008 r2,一个install.wim已经包含系统所有文件,重启之后不会再像xp那样还要读光盘了

原帖由 yewuqiu 于 2009-6-5 12:43 发表
如果能把VISTA\2008的此种安装方法的盘符问题也解决了
确实就可以不需要64bit的pe了

不过MS上给出的解决方案(1.部署的盘符一致;2.采用基于imagex的安装程序)好像没有解决问题

理论上用我说的这种方法也可以装vista/2008,不过后面要多一步注册表盘符调整,而且装出来的vista/2008系统盘盘符是d:,个人感觉不太爽

原帖由 cnad 于 2009-6-5 13:39 发表
启动到WINPE后使用WimTools解压缩也是可以的,后边两步都一样

对的,winmtool也可以,而且wimtool已经把bootsect集成进去了,因此用wimtool之后只要运行一下bcdboot就行了

[ 本帖最后由 fujianabc 于 2009-6-5 15:07 编辑 ]
作者: zqjiang    时间: 2009-6-5 15:59
31楼的工具 很不错  可以装
作者: dvd008    时间: 2009-6-5 16:19
现在看来,就是把安装文件复制到 c盘,然后用bootmgr自动引导安装,
这里bcdboot的作用是不是和 直接复制bootmgr 和 bcd(应该是在boot目录)到c盘作用一样?
然后bootsect /nt60 c:

重新启动
作者: febwind    时间: 2009-6-5 16:56
刚好下了个64位的WIN7,可以试试了
作者: lxl1638    时间: 2009-6-5 17:29
原帖由 fujianabc 于 2009-6-5 15:06 发表

安装vista/2008/win7/2008 r2,一个install.wim已经包含系统所有文件,重启之后不会再像xp那样还要读光盘了
理论上用我说的这种方法也可以装vista/2008,不过后面要多一步注册表盘符调整,而且装出来的v ...



bootsect、bcdboot有没有必要使用最高版本的?或者你提供的这个版本就可以了?
或者使用最新最高版本的会更好?

网上找到了一些资料,WimTool再集成bcdboot的部分功能也可以,大概WimTool会增大40~60K。
作者: dvd008    时间: 2009-6-5 17:35
bootsect 我用过,vista和win7的,如果只是写nt52,nt60,没有区别
win7的大 10k
bcdboot也不一定集成吧,就是设置启动菜单,直接用做好的 bcd也可以
作者: fujianabc    时间: 2009-6-5 18:24
原帖由 dvd008 于 2009-6-5 16:19 发表
现在看来,就是把安装文件复制到 c盘,然后用bootmgr自动引导安装,
这里bcdboot的作用是不是和 直接复制bootmgr 和 bcd(应该是在boot目录)到c盘作用一样?
然后bootsect /nt60 c:

重新启动

bcdboot不光是拷贝,而且还会自动修改bcd中的内容。

原帖由 lxl1638 于 2009-6-5 17:29 发表

bootsect、bcdboot有没有必要使用最高版本的?或者你提供的这个版本就可以了?
或者使用最新最高版本的会更好?

网上找到了一些资料,WimTool再集成bcdboot的部分功能也可以,大概WimTool会增大40~60K。

bootsect都一样,我这发的是vista sp1的
bcdboot最新版的似乎无法在pe 1.x下运行,我这发的是win7 beta 7000的,可以在xp的pe运行
作者: 66369    时间: 2009-6-5 19:34
原帖由 zhxy9804 于 2009-6-4 18:30 发表
主要是,gho方便,通用,如果wim能做到这些,取代是可能的:
1.wim能够把硬盘的mbr也给打包进去吗?
2.wim能在软盘镜像启动吗?
3.对硬件的兼容性怎么样啊???



好象WIM不能包含MBR.需C盘引导信息恢复的.搞不定.
作者: jzdai0903    时间: 2009-6-6 15:00
請教個問題假设要安装win7/2008 r2的分区在pe下盘符是D:(USB XPE開機 C:被USB開機區佔走的話)

光盘盘符是E(虛擬光驅)

這樣的情況也可以正常安裝嗎?
作者: uepon    时间: 2009-6-6 15:35
原帖由 jzdai0903 于 2009-6-6 15:00 发表
請教個問題假设要安装win7/2008 r2的分区在pe下盘符是D:(USB XPE開機 C:被USB開機區佔走的話)

光盘盘符是E(虛擬光驅)

這樣的情況也可以正常安裝嗎?


假如你的硬盘上的主分区是在C盘。USB启动PE后C盘被U盘占了,那就变成D盘了,然后你在PE里安装进了D盘,但是重启后你的盘符就要恢复过来了。建议调整盘符后再安装。
作者: fujianabc    时间: 2009-6-6 18:31
原帖由 uepon 于 2009-6-6 15:35 发表


假如你的硬盘上的主分区是在C盘。USB启动PE后C盘被U盘占了,那就变成D盘了,然后你在PE里安装进了D盘,但是重启后你的盘符就要恢复过来了。建议调整盘符后再安装。

不用手动调整盘符,winpe下系统盘为d:,装完win7重启后。系统自动会把windows文件夹所在分区调成c:的
作者: jzdai0903    时间: 2009-6-6 19:03
原帖由 fujianabc 于 2009-6-6 18:31 发表

不用手动调整盘符,winpe下系统盘为d:,装完win7重启后。系统自动会把windows文件夹所在分区调成c:的


是這樣就很好...有空再來試試...感謝摟主...

附上繁體版uepon大做的安裝程式...

[ 本帖最后由 jzdai0903 于 2009-6-6 22:25 编辑 ]

inswin7.rar

278.69 KB, 下载次数: 344, 下载积分: 无忧币 -2


作者: lostwolf    时间: 2009-6-6 19:57
困扰我1个多月啊
终于找到了~~
作者: uepon    时间: 2009-6-6 20:34
原帖由 fujianabc 于 2009-6-6 18:31 发表

不用手动调整盘符,winpe下系统盘为d:,装完win7重启后。系统自动会把windows文件夹所在分区调成c:的


原来是这样。
假如把windows文件夹安装到第二个分区,那启动分区(激活了的主分区)变成什么?B:?
作者: rd268    时间: 2009-6-6 21:06
已使用成功的大哥, 31楼下载的文件解压后,文件位置是不是如下

Win7 (主目录)
     ---INSWIN7 (子目录)
     ---inswin7.exe (安装启动文件)
作者: uepon    时间: 2009-6-6 21:34
inswin7.exe  放哪里无所谓,执行即可。
作者: rd268    时间: 2009-6-6 21:43
原帖由 uepon 于 2009-6-6 21:34 发表
inswin7.exe  放哪里无所谓,执行即可。



是不是单一 " inswin7.exe "  文件就可以了.
作者: fujianabc    时间: 2009-6-6 21:50
原帖由 rd268 于 2009-6-6 21:43 发表



是不是单一 " inswin7.exe "  文件就可以了.

这一个文件就够了

原帖由 uepon 于 2009-6-6 20:34 发表
原来是这样。
假如把windows文件夹安装到第二个分区,那启动分区(激活了的主分区)变成什么?B:?

按照windows默认的盘符规则,系统会再给bootmgr所在分区分一个其他盘符,比如d:或者其他。
但不会是b:,那是给软驱保留的。

[ 本帖最后由 fujianabc 于 2009-6-6 21:55 编辑 ]
作者: yaojy    时间: 2009-6-7 10:33
试过,可以安装win7。
果然是高手。
作者: DDZJD439    时间: 2009-6-7 11:01
问一个很菜的问题:是只执行inswin7.exe重启后就自动安装WIN7了,还是需要在重启后执行setup.exe?另外,在PE下用虚拟光驱截入WIN7的ISO就能直接用inswin7.exe了,还是需要把WIN7的ISO解压到硬盘?

[ 本帖最后由 DDZJD439 于 2009-6-7 11:04 编辑 ]
作者: uepon    时间: 2009-6-7 13:18
原帖由 DDZJD439 于 2009-6-7 11:01 发表
问一个很菜的问题:是只执行inswin7.exe重启后就自动安装WIN7了,还是需要在重启后执行setup.exe?另外,在PE下用虚拟光驱截入WIN7的ISO就能直接用inswin7.exe了,还是需要把WIN7的ISO解压到硬盘?


按照工具的提示,进行操作,完毕后直接重启,无需执行setup.exe
作者: DDZJD439    时间: 2009-6-7 13:21
原帖由 uepon 于 2009-6-7 13:18 发表


按照工具的提示,进行操作,完毕后直接重启,无需执行setup.exe


谢谢UEPON李培聪。我一直用你的通用PE,感觉最适用。期待您的新作品出现。
作者: DDZJD439    时间: 2009-6-7 14:23
某些PE下使用安装器出现错误。图在74楼。

[ 本帖最后由 DDZJD439 于 2009-6-7 14:35 编辑 ]
作者: DDZJD439    时间: 2009-6-7 14:26
反馈一下,安装器在通用PE下使用没问题,但在另一个XPSP2核心的PE下使用出现如图的错误。图上我把安装器重新命了名,我试了,即使不重命名,还是有相同的错误出现。

TT截图未命名.jpg (18.21 KB, 下载次数: 220)

TT截图未命名.jpg

作者: fujianabc    时间: 2009-6-7 18:02
原帖由 DDZJD439 于 2009-6-7 14:26 发表
反馈一下,安装器在通用PE下使用没问题,但在另一个XPSP2核心的PE下使用出现如图的错误。图上我把安装器重新命了名,我试了,即使不重命名,还是有相同的错误出现。

请你用一楼的方法,手动执行一下三条命令,看看有没有问题?
作者: DDZJD439    时间: 2009-6-7 18:54
原帖由 fujianabc 于 2009-6-7 18:02 发表

请你用一楼的方法,手动执行一下三条命令,看看有没有问题?

在同样的PE下,手动执行三条命令,没有发现问题。
作者: fujianabc    时间: 2009-6-7 19:07
原帖由 DDZJD439 于 2009-6-7 18:54 发表

在同样的PE下,手动执行三条命令,没有发现问题。

那就是这个pe中缺少了执行NSIS打包程序所需的组件了。
作者: uepon    时间: 2009-6-7 19:55
原帖由 DDZJD439 于 2009-6-7 14:26 发表
反馈一下,安装器在通用PE下使用没问题,但在另一个XPSP2核心的PE下使用出现如图的错误。图上我把安装器重新命了名,我试了,即使不重命名,还是有相同的错误出现。


哪一个PE,我去试试缺了什么文件。
作者: DDZJD439    时间: 2009-6-7 20:05
原帖由 uepon 于 2009-6-7 19:55 发表


哪一个PE,我去试试缺了什么文件。

是这个,发表在深度的。
http://os.deepin.org/read-htm-tid-1051249.html#11303901

PE核心我上传到了这里:http://www.rayfile.com/files/1ce ... -acb0-0014221b798a/

[ 本帖最后由 DDZJD439 于 2009-6-7 20:08 编辑 ]
作者: uepon    时间: 2009-6-7 21:30
原帖由 uepon 于 2009-6-7 19:55 发表


哪一个PE,我去试试缺了什么文件。


比较了那个PE的SYSTEM32和通用PE工具箱的,发现只有RICHED20.DLL有可能性,他PE里面没有。也有可能是他哪个文件加了壳,或换了版本。没进PE试,DDZJD439 自己试试吧。
作者: 270979789    时间: 2009-6-7 23:48
新制作的PE都应该集成这几个文件:
BCDBOOT.exe
bcdboot.exe.mui
BCDEDIT.exe
bcdedit.exe.mui
BOOTSECT.exe
.mui是帮助语言文件,熟悉英文可不要。BOOTSECT加入mui的话反而不能显示帮助,可能与字体有关。

BCDBOOT图形化脚本:

CALL @子程序
_SUB 子程序,W283H150,Vista/WIN7/2008引导修复,,SHELL32.DLL#46
        FDRV AllDrive=
        LABE 标签1,L10T16W133H15,请选择引导(活动)分区:
        LIST 组合框1,L145T13W50H20,%AllDrive%,,
        LABE 标签2,L9T43W138H16,请选择Windows所在分区:
        LABE 标签3,L9T70W138H16,语言:
        EDIT Edit1,L145T70W50H20,ZH-CN
        ITEM 按钮2,L200T38W64H24,修复,CALL fixnt6,,0
        ITEM 按钮3,L8T100W69H24,命令提示符,EXEC CMD.EXE /k @ECHO 控制启动管理器:BCDEdit  主启动代码更新:Bootsect  启动文件修复:bcdboot      使用/?查看帮助        注:bcdboot支持Vista以上系统
        ITEM 按钮4,L83T100W69H24,重启计算机,CALL CSHUT,,0
        LIST 组合框2,L145T38W50H20,%AllDrive%,,
_END

_SUB  fixnt6
ENVI sdir=%组合框1%
FIND $%sdir%=,TEAM MESS 请选择引导(活动)分区。@ 选择分区#OK|EXIT
MESS 请确认引导分区为 %sdir%@信息#YN
FIND $%YESNO%=NO,EXIT
ENVI win=%组合框2%\Windows
ENVI lan=%Edit1%
IFEX %lan%=,ENVI lan=ZH-CN
IFEX %win%,!TEAM MESS %win%目录不存在。@ 目录检查#OK|EXIT
EXEC CMD.EXE /k bcdboot.exe %win% /s %sdir% /L %lan%
_END


_SUB  CSHUT
MESS 你确定马上重启计算机吗?@信息#YN
FIND $%YESNO%=NO,EXIT
SHUT R
_END
作者: 66369    时间: 2009-6-8 07:44
搞个"最终".造福无忧.关注...........
作者: sxs608    时间: 2009-6-8 09:10
想问一下,使用uepon大 的工具之前,用不用先格式化  所要安装到的硬盘?
作者: uepon    时间: 2009-6-8 10:29
原帖由 zhxy9804 于 2009-6-8 09:52 发表
实际上,安装2008的时候,让你选择的版本可不止是五个,这时候如何选择?


是否是按这个顺序从1排到6呢?

还有个问题,假如安装别人重新封装的WIM,比如精简版,里面只有一个卷,那怎么选序号呢?
作者: lqcai    时间: 2009-6-8 10:44
原帖由 uepon 于 2009-6-8 10:29 发表

63210
是否是按这个顺序从1排到6呢?

还有个问题,假如安装别人重新封装的WIM,比如精简版,里面只有一个卷,那怎么选序号呢?


希望能做到这样,第一步选择安装映像 install.wim 、活动主分区以及安装分区,第二步使用 imagex /info 命令给出映像信息,再给出安装版本选择。第三步列出详细安装信息,点确定后才正式开始安装

或者在已选择安装映像 install.wim 后,在右侧给出映像信息,且安装版本选项启用,未选择 install.wim 时不可用。

或者像 Gimagex、WimTools 一样给出一个查看映像信息选项卡

也想自己 DIY 一个,奈何不会做图形界面

[ 本帖最后由 lqcai 于 2009-6-8 10:47 编辑 ]
作者: uepon    时间: 2009-6-8 11:20
原帖由 lqcai 于 2009-6-8 10:44 发表


希望能做到这样,第一步选择安装映像 install.wim 、活动主分区以及安装分区,第二步使用 imagex /info 命令给出映像信息,再给出安装版本选择。第三步列出详细安装信息,点确定后才正式开始安装

或者在 ...

如果这样的话,可能有些新手看不懂/INFO 导出的txt,从而无法正确选择序号。我有这样的设想:
程序自动从WIM的NIFO中查找所有的IMAGE INDEX (ID),然后列出其对应的“NAME”。然后在一个选择框里列出来,交给用户选择。用户选择了他要安装的那个“NAME”,程序自动用其对应的IMAGE INDEX 进行imagex /apply。
作者: uepon    时间: 2009-6-8 11:27
我对NSIS 操作TXT不是很了解。因WIM里卷数量不确定,还可能用到其它数据结构。以我的的水平,无法在NSIS实现。还是让其它高手用C来写吧。
作者: NicTense    时间: 2009-6-8 11:56
原帖由 uepon 于 2009-6-5 08:40 发表

太大,不好上传。我用的是NSIS 2.14。网上一搜一大堆。
NSIS 教程也一搜一大堆。


太久没编过程了,都不知道nsis为何物了,这个是不是比vc,delphi那些要方便一些啊

不过我电脑上现在连delphi都没了,只能尽量用cmd解决了,再不行,就只能找现成的了
作者: uepon    时间: 2009-6-8 12:03
原帖由 NicTense 于 2009-6-8 11:56 发表


太久没编过程了,都不知道nsis为何物了,这个是不是比vc,delphi那些要方便一些啊

不过我电脑上现在连delphi都没了,只能尽量用cmd解决了,再不行,就只能找现成的了


NSIS打包的,而且可以实现点小功能。
作者: zqjiang    时间: 2009-6-8 14:30
原帖由 zhxy9804 于 2009-6-8 09:52 发表
实际上,安装2008的时候,让你选择的版本可不止是五个,这时候如何选择?

不止是5个 或者 少了 5 个   
不知道要怎么选择
作者: fujianabc    时间: 2009-6-8 15:08
原帖由 sxs608 于 2009-6-8 09:10 发表
想问一下,使用uepon大 的工具之前,用不用先格式化  所要安装到的硬盘?

最好先格一下
作者: lxl1638    时间: 2009-6-8 17:48
3、解开映像
   ①.静默方式,不提供处理进度
   格式:WimTool.EXE [/YES] /Apply <Wim映像文件> <映像卷ID|映像卷名> <目标路径>
   示例:WimTool.EXE /Yes /Apply  D:\Test.WIM 2 D:\PROGRAMS
   其中参数 "/Yes" 表示不确认目标目录是否存在文件而直接解开映像(解开的文件有可能覆盖已存在的文件),省略该参数时,若目标目录已存在文件则要用户确认才执行解开映像操作。其中映像文件可以是分包文件。
   ②.窗口方式,提供处理进度,支持文件过滤,支持操作隐藏分区
   格式: WimTool.EXE <映像名> </ExtrFile> [格式化参数] [引导参数] [解压规则] [映像卷ID] [,目标路径]
         格式化参数: [[/Format|/QFormat] [FAT32|NTFS]]
         引导参数为: [/BOOT <WINNT|VISTA>]
         解压规则为: [/Config <配置文件>]
   示例: WimTool.EXE  D:\Test.WIM  /ExtrFile ,D:\PROGRAMS
         WimTool.EXE  0:4\SysBack.WIM /ExtrFile /Format FAT32 /Boot WINNT 1, C:\
         WimTool.EXE  F:\SysBack.WIM  /ExtrFile /QFormat NTFS /Boot VISTA 1, 0:1\
         WimTool.EXE  0:4\SysBack.WIM /ExtrFile /Format /Boot WINNT  1, C:\
         WimTool.EXE  F:\SysBack.WIM  /ExtrFile /QFormat /Boot VISTA 1, 0:1\
         WimTool.EXE  0:4\SysBack.WIM /ExtrFile /Format /Config  MyConfig1.INI 1, C:\
         WimTool.EXE  F:\SysBack.WIM  /ExtrFile /QFormat /Config MyConfig2.INI 1, 0:1\
   当以系统管理员登录,本项功能支持操作隐藏分区,并可用分区号代替盘符,见上面的示例。
   "映像卷ID"为 1 时可以省略,省略"目标路径名"时WimTool将在映像文件所在的目录中建立一个与映像基本名同名的目录,并将映像解开到其中。WimTool能识别分包映像并自动解开分包映像(要求所有的分包映像位于同一目录,展开时从1号分包开始)。


WimTool已集成了格式化分区、解压文件和BootSect.EXE([引导参数])的功能


[ 本帖最后由 lxl1638 于 2009-6-8 17:50 编辑 ]
作者: wylpage    时间: 2009-6-8 19:36
重启后不起作用啊
作者: zoom4ever    时间: 2009-6-9 13:48
fujianabc,我想问下 环境是这样的 我有两块硬盘:一块160G 一块500G 160G那块在BIOS中识别为DISK0(也就是第一块),然后我装WIN7在第2块硬盘上(也就是500G那块),这时候WIN7的引导程序会写bootmgr和BOOT文件夹到第一块硬盘(也就是160G那块)的主活动分区。
我现在想怎么把bootmgr和BOOT文件夹移到500G那块硬盘 然后把160G那块硬盘扯掉 不影响启动 不知道我的表述能看明白吗?
作者: fujianabc    时间: 2009-6-9 14:59
原帖由 zoom4ever 于 2009-6-9 13:48 发表
fujianabc,我想问下 环境是这样的 我有两块硬盘:一块160G 一块500G 160G那块在BIOS中识别为DISK0(也就是第一块),然后我装WIN7在第2块硬盘上(也就是500G那块),这时候WIN7的引导程序会写bootmgr和BOOT文件 ...

假设你现在windows分区是c:,500GB硬盘的活动分区是d:(如果没有活动分区,先激活一个主分区),那么执行下面命令
bcdboot c:\windows /s d: /l zh-CN
bootsect /nt60 d: /mbr
然后就可以拔掉160GB分区,在bios中设置从500G的硬盘启动

[ 本帖最后由 fujianabc 于 2009-6-9 15:00 编辑 ]
作者: zts59    时间: 2009-6-9 15:27
这个方法可以安装VISTA么?有没有试过?
作者: fujianabc    时间: 2009-6-9 16:46
原帖由 zts59 于 2009-6-9 15:27 发表
这个方法可以安装VISTA么?有没有试过?

祥见33楼解释
作者: aidixiao    时间: 2009-6-9 16:52
太好了,谢谢分享。。。。。。。。。
作者: lrbin50    时间: 2009-6-17 23:10
原帖由 uepon 于 2009-6-7 21:30 发表


比较了那个PE的SYSTEM32和通用PE工具箱的,发现只有RICHED20.DLL有可能性,他PE里面没有。也有可能是他哪个文件加了壳,或换了版本。没进PE试,DDZJD439 自己试试吧。

不太可能,测试其它PE,也没有这个RICHED20.DLL,但运行没问题.
作者: lovenana81    时间: 2009-6-18 00:58
标题: 回复 #1 fujianabc 的帖子
很好的帖子  支持了
作者: ryvius    时间: 2009-6-18 10:30
xp/2003 pe能挂载vhd就爽了
直接用imagex把install.wim灌入到vhd里
再把win7/08 r2装在vhd上
虽然不能休眠不能评分
多系统共存的情况下磁盘分区的复杂问题就迎刃而解

暂时来说还是pe 3.0可以一条龙搞定(创建vhd、挂载vhd、分区、格式化、灌入系统...)


http://blogs.technet.com/fyu/archive/2009/01/21/windows-7-virtual-hard-disk-vhd.aspx
http://www.caterqiu.cn/Article/Setup_With_Windos7.html

[ 本帖最后由 ryvius 于 2009-6-19 03:50 编辑 ]
作者: fujianabc    时间: 2009-6-18 15:25
原帖由 ryvius 于 2009-6-18 10:30 发表
xp/2003 pe能挂载vhd就爽了

这个可以实现,需要在pe制作时包含微软的vhdmount工具及相关驱动。
作者: 66369    时间: 2009-6-18 15:30
uepon

早加进了更新的PE.

道谢LZ开贴.
作者: kices    时间: 2009-6-20 14:17
这个我要顶! 一定要顶!
作者: zsjyll    时间: 2009-6-20 14:19
学下,等RTM版本出来后就用
作者: snaketsg    时间: 2009-6-20 16:59
VISTA的在PE2.0不是已经解决了吗?
2008的内核和它是一样的,也可以用同样方法解决
作者: fujianabc    时间: 2009-6-20 18:05
原帖由 snaketsg 于 2009-6-20 16:59 发表
VISTA的在PE2.0不是已经解决了吗?
2008的内核和它是一样的,也可以用同样方法解决

vista/2008有盘符问题,一般不能这样安装,详见33楼说明
作者: 极度凶残    时间: 2009-7-3 11:37
真是太好了,楼主的绝招让我们省事不少,谢谢楼主的分享




欢迎光临 无忧启动论坛 (http://bbs.c3.wuyou.net/) Powered by Discuz! X3.3