无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 6594|回复: 11
打印 上一主题 下一主题

如何让oem win7 中的boot.wim读取指定路径的install.wim

[复制链接]
跳转到指定楼层
1#
发表于 2012-1-15 11:45:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我提出这个问题,起源于这几天淘了一块老主板,微星865G Neo2-P,04年出的,这个板的bios有两个到现在都没有解决的bug,1是不支持U盘启动,2是仅仅支持dos启动光盘。如果用win7光盘启动,会显示"can not boot from CD, code 5"。所以,我想到了一个问题,如何在dos环境下从硬盘安装win7。
     我的解决路线是,将手上联想OEM win7 光盘的所有文件拷贝至D:\win7_32目录下,在D:\win7_32目录下拷贝三个文件:grub.exe, menu.lst,xcopy.exe, 同时在D:\win7_32目录下新增一个修改后的BCD(修改自D:\win7_32\boot中的BCD),这个BCD指向[boot]\win7_32\sources\dos_ins.wim, 其中新增的dos_ins.wim修改自D:\win7_32\sources中的boot.wim. 最后D:\win7_32目录下建立一个dos_ins.bat, 里面的命令为


copy .\bootmgr .. (将当前目录中的bootmgr 拷贝至D盘根目录)
md ..\boot          (D盘根目录下新建boot目录)
xcopy /e .\boot\*.* ..\boot  (将D:\win7_32\boot中的所有目录及文件拷贝至D:\boot)
copy  /y  .\bcd ..\boot  (将D:\win7_32下的修改后的BCD覆盖D:\boot下的bcd)
grub (启动D:\bootmgr)

这些语句最终目的是载入D:\win7_32\sources\dos_ins.wim。我采取这个路线的理由是,OEM win7 光盘中仅仅需要增加几个文件,若用光盘安装,载入boot.wim,执行光盘上的install.wim , 拷贝至硬盘安装,载入dos_ins.wim,执行硬盘上的install.wim. 所以实现上述目标的关键在于修改原有的boot.wim, 使它指向硬盘上的install.wim。为了实现这个目标,我参考了victor888的经典帖

http://bbs.wuyou.net/forum.php?mod=viewthread&tid=152716&highlight

参照该贴中的
==========================================
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。把这个文件内容变成:



QUOTE:
@echo off
for %%a in (c d e f g h i j k l m n o p q r s t u v w y z) do (if exist %%a:\boot\sources\install.wim x:\sources\winsetup.exe /installfrom:%%a:\boot\sources\install.wim)
exit



当然,要把setup.exe重命名为winsetup.exe

============================================




,我用imageX解开boot.wim, 将source下的setup.exe改名为winsetup,同时编辑windows\system32下的startnet.cmd

  x:\sources\winsetup.exe  /installfrom D:\win7_32\sources\install.wim

最后将修改后的文件打包为dos_ins.wim, 与原来的boot.wim 并列放置于 D:\win7_32\sources下



完成上述修改后,我在dos下做了测试, grub可以启动D:\win7_32\sources 下的dos_ins.wim, 但安装程序在选择完语言后提示未找到   cd/dvd 设备的驱动,此时如果将oem win7光盘放入光驱,则安装可以继续,但此时安装依然是光盘安装,老光驱吱吱叫的声音实在有些不爽。



       所以,我想问的问题是,我对boot.wim的修改遗漏了什么,怎样才能让setup.exe 执行硬盘上指定目录中的istall.wim?
2#
 楼主| 发表于 2012-1-15 11:49:58 | 只看该作者
我仅仅是个初学者,所以请高手包涵某些幼稚的问题
回复

使用道具 举报

3#
发表于 2012-1-15 17:31:55 | 只看该作者
现在有系统吗?有的话就很简单了

[ 本帖最后由 wjgyz740526 于 2012-1-15 17:36 编辑 ]
回复

使用道具 举报

4#
发表于 2012-1-15 17:36:05 | 只看该作者
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=200701&highlight=
回复

使用道具 举报

5#
发表于 2012-1-15 23:18:49 | 只看该作者
不必要把问题搞得这么复杂。
sources、boot文件夹放根目录不是更好吗?
回复

使用道具 举报

6#
 楼主| 发表于 2012-1-16 07:08:51 | 只看该作者
放在D:\win7_32下的目的是为了保证硬盘目录的整洁,因为我还要放win7_64
回复

使用道具 举报

7#
发表于 2012-1-16 08:43:42 | 只看该作者
你安装系统不就是一次性的?你还想整天都在n次的安装?
回复

使用道具 举报

8#
 楼主| 发表于 2012-1-16 18:29:31 | 只看该作者
我自己的电脑不需要经常装,可是我周围有些人经常要我去帮忙维护电脑(帮忙、免费的),他们很多电脑都很老,光驱也老。我的865G就是别人换新电脑后给我的。
      我本不是专业做这个的,遇到有些老的电脑实在是很抓狂,我提出的问题并非要在这些旧的电脑上装win7 ,而是由一个实际问题引申出来的。
回复

使用道具 举报

9#
 楼主| 发表于 2012-1-16 18:33:49 | 只看该作者
谢谢wjgyz740526提供的资源,我下载了试试
回复

使用道具 举报

10#
发表于 2012-1-17 18:03:00 | 只看该作者
我觉得不需要这样吧,如果不考虑文件容量,那么可以把64bit的install.wim导出到32位系统的install.wim中.然后使用64bit的安装盘来安装系统
回复

使用道具 举报

11#
发表于 2012-6-24 22:06:10 | 只看该作者

回复 #1 2012_wwwwww_18 的帖子

楼主确定改的是sources下的setup? boot.wim里可是有两个setup
回复

使用道具 举报

12#
发表于 2012-6-25 20:54:18 | 只看该作者
setup /installfrom 参数完全可以啊, 不知道为什么你的不行??

或者....

boot.wim 不用解开吧, 直接copy 你说的那几个目录, 再加上bootmgr, 然后建一个目录 sources, 将boot.wim 拷贝进去, 甚至可以拷贝任何一个win7 pe进去, 再改名成boot.wim

重启就是直接启动boot.wim, 再从CMD 进入, 运行原来 sources 目录下的setup 即可。

为什么要搞得那么复杂, 从什么 grubdos 启动, 不直接从 bootmgr 启动呢?


最后你想要保持C盘整洁,完成之后不希望看到 old windows, 在安装过程中 “驱动器高级选项”直接格式化即可。

[ 本帖最后由 quya 于 2012-6-25 20:57 编辑 ]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-9-30 22:24

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表