无忧启动论坛

标题: [结贴]定制NT6.X系统启动/安装目录 [打印本页]

作者: victor888    时间: 2009-10-16 16:35
标题: [结贴]定制NT6.X系统启动/安装目录
本贴原名叫:有没有玩破解的人--WIN7相关
====
本人写此贴的初衷主要是想在硬盘/USB盘上定制安装WIN7系统,摆脱WIN7根目录的众多文件夹,经过无数的失败,终于达到了自己的目的。

在开始这前,要感谢chenall, fujianabc和老九等人的讨论,尤其感谢chenall在关键时候帮助破解了难题。

进入正题
大家都知道,VISTA及以上系统其光盘结构为:
autorun.inf
setup.exe

bootmgr
<boot>
<efi>
<sources>
<support>
<upgrade>

其中:
setup.exe是在WIN下进行安装WIN7的程序
autorn.inf是光盘自动运行文件,插入光盘会通过它运行setup.exe
<boot>文件夹,最重要,含有启动NT6以上系统的启动配置文件BCD(相当于XP的boot.ini),挂载WIM的BOOT.SDI、内存检测和字体等工具
<efi>文件夹,EFI主板启动支持
<support>和<upgrade>就不用说了,是支持和升级相关文件夹。
<sources>,最重要,含有PE文件boot.wim和install.wim,以及在WIN下启动setup所需的文件。

我现在想做的就是把这些文件统计整理到一个文件中进行安装,这里假设我们将所有文件都弄到BOOT文件夹中,操作步骤如下:

1. 更改boot.wim文件的路径
这需要编辑BCD文件,我们使用bcdedit.exe(XP下也可以运行)
先运行:
bcdedit /store BCD文件路径 /enum all /v
Windows 启动管理器
--------------------
标识符                  {9dea862c-5cdd-4e70-acc1-f32b344d4795}
description             Windows Boot Manager
locale                  en-US
inherit                 {7ea2e1ac-2e61-4728-aaa3-896d9d0a9f0e}
default                 {7619dcc9-fafe-11d9-b411-000476eba25f}
displayorder            {7619dcc9-fafe-11d9-b411-000476eba25f}
toolsdisplayorder       {b2721d73-1db4-4c62-bf78-c548a880142d}
timeout                 30

Windows 启动加载器
-------------------
标识符                  {7619dcc9-fafe-11d9-b411-000476eba25f}
device                  ramdisk=[boot]\sources\boot.wim,{7619dcc8-fafe-11d9-b411-000476eba25f}
path                    \windows\system32\boot\winload.exe
description             Windows Setup
locale                  en-US
inherit                 {6efb52bf-1766-41db-a6b3-0ee5eff72bd7}
osdevice                ramdisk=[boot]\sources\boot.wim,{7619dcc8-fafe-11d9-b411-000476eba25f}
systemroot              \windows
detecthal               Yes
winpe                   Yes
ems                     Yes

Windows 内存测试程序
---------------------
标识符                  {b2721d73-1db4-4c62-bf78-c548a880142d}
device                  boot
path                    \boot\memtest.exe
description             Windows Memory Diagnostic
locale                  en-US
inherit                 {7ea2e1ac-2e61-4728-aaa3-896d9d0a9f0e}

EMS 设置
------------
标识符                  {0ce4991b-e6b3-4b16-b23c-5e0d9250e5d9}
bootems                 Yes

调试器设置
-----------------
标识符                  {4636856e-540f-4170-a130-a84776f4c654}
debugtype               Serial
debugport               1
baudrate                115200

全局设置
---------------
标识符                  {7ea2e1ac-2e61-4728-aaa3-896d9d0a9f0e}
inherit                 {4636856e-540f-4170-a130-a84776f4c654}
                        {0ce4991b-e6b3-4b16-b23c-5e0d9250e5d9}

启动加载器设置
--------------------
标识符                  {6efb52bf-1766-41db-a6b3-0ee5eff72bd7}
inherit                 {7ea2e1ac-2e61-4728-aaa3-896d9d0a9f0e}
                        {7ff607e0-4395-11db-b0de-0800200c9a66}

虚拟机监控程序设置
-------------------
标识符                  {7ff607e0-4395-11db-b0de-0800200c9a66}
description             Hypervisor Settings
hypervisordebugtype     Serial
hypervisordebugport     1
hypervisorbaudrate      115200

设备选项
--------------
标识符                  {7619dcc8-fafe-11d9-b411-000476eba25f}
ramdisksdidevice        boot
ramdisksdipath          \boot\boot.sdi

这里我们要改变boot.wim的路径,运行如下命令,

bcdedit /store BCD文件路径 /set {default} device ramdisk=[boot]\boot\sources\boot.wim,{7619dcc8-fafe-11d9-b411-000476eba25f}

同上,将上述的device改成osdevice,再运行一次。

因为我们改变了SOURCES目录的路径,因此还要让PE能找到install.wim文件,要进行下述第2步操作

2.修改startnet.cmd文件
这个文件位于boot.wim第2个映像的windows\system32目录下。
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。把这个文件内容变成:
@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
看到了吧,这个setup.exe可以有参数installfrom,有了它,我们就可以指定wim文件的位置了。
修改完毕:imgaex /unmount /commit 挂载的目录

使用grldr启动系统,chainloder /boot/bootmgr来实现启动或安装系统。

合盘
比如把VISTA、WIN7和2008 R2全部放到一个盘来安装,这些盘目录结构都一致,我们该怎么办呢?
当然我样可以通过配置BCD文件来指定boot.wim的位置,也可以将sources目录换成其它名字,可是这样非常的不爽,原因在于我们要通过BCD菜单来选单,没有直接bootmgr启动进入安装直接,我们该如何操作呢?

加注:有关合盘,可以参考微软的方法:Cross-Platform Deployment http://technet.microsoft.com/en-us/library/cc721953(WS.10).aspx

我们可以通过不同的BCD文件来实现直接启动不同的系统。

一切的入手点在于bootmgr这个文件,它是启动管理器,类似于XP的NTLDR,所不同的是这个文件即有CHECKSUM校验,又有数字签名验证,要修改它,必须解决这两个问题

国外的高手解决了checksum问题(http://www.boot-land.net/forums/index.php?showtopic=8043,6楼)
我们必须用VISTA SP0的BOOTMGR,用起文本编辑器打开,在0xe28处将7403更改为EB1A这样就去除了checksum校验。
0x54b68处找到B.O.O.T.\.B.C.D,我们可以将BCD换成我们要的名字,例如VISTA使用BCD,WIN7使用7CD,2008使用8CD等。将这个bootmgr改名为你所需要的就可以了。

这样够了吗?不够,没有解决数字签名的问题,对于这个数字签名,国内有N人写了一篇文章(http://bbs.driverdevelop.com/htm_data/16/0711/106925.html),这篇文件解决了checksum和数字签名,可惜我“水平太潜”,用IDA如何也没有找到他所说的那几个函数,当然也无法修改。

用得着那么复杂的操作吗?用不着,国外的高手同样解决了数字签名问题,而且非常非常的签单,但他们只想到的是PXE启动PE,即用于bootmgr.exe启动过程,经过我试验,这个方法同样对bootmgr有效:

打开BCD文件,运行:bcdedit /store BCD文件 /set {bootmgr} nointegritychecks yes
OK,数字签名问题搞定。

说到这里,你可能要问,为什么不把bootmgr中的boot也给改名了?是的,我也尝试过,可是就是不成功,bootmgr里面所有出现boot的地方都改了,可是就是无法启动。

同样,如果你厉害,可以把sources目录的setup.exewinsetup.dll也给改了,让它不用通过installfrom参数一指定WIM文件,可以直接启动安装。这个setup.exe没有checksum也没有数字签名,IDA打开,有PDB表,修改应该容易些。我尝试着改winsetup.dll失败了。可能你感兴趣,会IDA,那么说不定你会成功。

说到这里,你可能感到不爽,把SOURCES目录放到BOOT里,有什么用啊?目录结构与原来还不一致了,别急,下面告诉你一个比较好的方案:

把WIN7.ISO里面的install.wim放到U盘,参照微软的这篇文章HOW WIN PE WORKS(http://technet.microsoft.com/en-us/library/cc721977(WS.10).aspx),不修改startnet.cmd文件,添加一个winpeshl.ini文件,其内容为启动同目录下的setup.cmd文件,后者的内容同上述第2步的startnet.cmd,winpeshl.ini文件的内容为:
[launchapps]
x:\windows\system32\setup.cmd
另外,还要把sources目录的setup.exe更名为winsetup.exe。把修改后的boot.wim放入ISO中,直接
map ISO文件 (hd32)
chainloader (hd32)
boot
启动即可,这样我们可以随意把ISO和install.wim文件放到想放的位置。

还有没有更灵活的方法了?有的,chenall最终破解了将BOOT.WIM放到与BOOTMGR不在同一介质安装方法,同时经过测试,我俩还研究明白了BCD对畸形目录的写法

OK, 现在假设把BOOT.WIM和INSTATLL.WIM同到到U盘的一个根目录下面,我们可以只留一个WIN7 ISO去除这两个文件的ISO,则我们必须修改BCD文件,因为这里的BOOT.WIM已经与ISO不在同一盘上了:

一切的问题根本在这个BCD文件,如果从与BOOTMGR非同一分区或介质上以RAMDISK启动BOOT.WIM,那么我们需要设定这个BOOT.WIM文件的路径的,光盘BCD目录默认其在SOURCES目录,且启动盘为BOOT,这个BOOT名字是很特殊的设备,是从光盘的BCD里发现的。为此,CHENALL专门写了一篇文章“单击打开:【分享】小技巧,两条命令解决WIN7安装后改MBR启动失败问题”,这是一个重要发现,将硬盘BCD文件启动区设置为BOOT后,MBR怎样改都不会出错。这样的问题最早PT在时空论坛遇到过(单击打开:修复 win 7 引导的一些经验),最后是FUJIANABC给出的解决办法,对比这个办法,还是CHENALL的简单、一劳永逸。

以上是我说的一个插曲,下面我继续说,如何从BCD入手去解决问题,在上面PT的贴子里已经提到了BCD文件是记录MBR和分区信息的,这非常的重要,我当初这所以失败,就是因为只考虑了盘符,不知道还有MBR的问题。解决方法就是先启动WIN系统,比如在PE下,假设你的U盘盘符为C:,那么,你就设置device和osdevice的rmadisk=[C:]\XX,U盘符是什么这里就设置什么,只这样做还不够,还必须改BOOT.SDI的盘符和路径,将ramdisksdidevice设置为=U盘的盘符,好了,你现在能正确启动BOOT.WIM,因为这时BCDEDIT在BCD文件中记录了磁盘的DISK SIGNATURE和分区的起始偏移,盘符只是个代码,BCD里记录的DISK SIGNATURE和OFFSET值才最终决定你是从什么盘什么分区指定DEVICE和OSDEVICE的。另外请参考本人在PE区发的“注册表与盘符”一文,会对DISK SIGNATURE和OFFSET有深入的了解。

对于畸形目录,有一个发现,比如本人的U盘为NTFS系统,dir显示畸形目录名为dat.,我当初在BCD中指定路径时都是使用的dat~1来代替,结果就是不成功,在CHENALL的提醒下,直接使用dat.做为路径名称就成功了。

本人目前的U盘就是把所有的WIN7相关的文件都放入了畸形目录,但没有使用去除了两个WIM文件的ISO,因为感觉体积还是大,就只保留了BOOTMGR和BOOT目录以及下面的BCD和MEMTEST文件,其余的都不要,做了一个1.4M的IMG,启动进直接将其MAP成FD0,再CHAINLOADER (FD0)/BOOTMGR就可以了。

全文完 20091103

[ 本帖最后由 victor888 于 2010-2-11 12:39 编辑 ]
作者: fujianabc    时间: 2009-10-16 17:19
bootmgr以前有人改过,是vista sp0的bootmgr,某高手把模拟slic的代码加到了bootmgr中,但后来这种破解方法被微软给封了
作者: lxl1638    时间: 2009-10-16 17:52
好象 SETUP.EXE 支持命令行参数的,如果是这样,破解的必要性就不大了。
作者: victor888    时间: 2009-10-16 19:34
setup的参数没有什么作用,可选的参数很少,且没有像XP的WINNT32的MAKELOCAL SOURCE选项。
作者: fujianabc    时间: 2009-10-16 20:28
用setup /installfrom参数可以指定其他wim文件

至于你说的makelocal source对于vista/win7根本没必要,因为nt 6.x安装本来就只需要插一次光盘,重启后就不要光盘了,而nt 5.x如果不加makelocal source则重启后还要你插光盘。
作者: victor888    时间: 2009-10-16 21:50
没有installfrom这个选项

setup.jpg (74.6 KB, 下载次数: 196)

setup.jpg

作者: fujianabc    时间: 2009-10-16 22:15
原帖由 victor888 于 2009-10-16 21:50 发表
没有installfrom这个选项

帮助中漏写了此参数

看这里,更全
http://technet.microsoft.com/en-us/library/cc766446(WS.10).aspx
作者: victor888    时间: 2009-10-16 22:37
这个是VISTA的参数,不是WIN7的。我刚才试着直接setup /installfrom
结果提示无法分析参数。
作者: fujianabc    时间: 2009-10-17 16:33
原帖由 victor888 于 2009-10-16 22:37 发表
这个是VISTA的参数,不是WIN7的。我刚才试着直接setup /installfrom
结果提示无法分析参数。

vista和win7的我都测试过,installfrom可以用的,比如

setup.exe /installfrom:g:\sources\install.wim
作者: lxl1638    时间: 2009-10-17 16:36
setup.exe 是可以通过参数指定源(WIM)和目标(分区)的,有这两项参数的支持,破解 setup.exe 的必要性就不大了。
作者: fujianabc    时间: 2009-10-17 16:44
但nt 6.x的setup.exe有一点很不爽,就是不能制定启动分区,也就是bootmgr所在分区。
这样,从usb启动后,setup.exe会自作主张的把启动文件放到usb设备上。

nt 5.x的winnt32.exe则可以用syspart参数来制定启动分区,而nt 6.x根本无法指定。
作者: victor888    时间: 2009-10-17 21:33
我和chenall讨论了半天,结合以上各位的讨论,现在就确定这样一些事情:

1. 在WIN下安装,使用ISO根目录的SETUP.EXE结合INSTALLFROM参数,可以实验将INSTALL.WIM文件放到其他位置。

2. WIN下安装,如果运行SOURCES目录下的SETUP.EXE,那么,不论SOURCES目录是什么名或深度如何都可以正常安装。

3. 在PE3.X下,可以通过以下手段实现WIN7的定制安装

A. 将SETUP.EXE和在其相同目录的INSTALL.WIM文件放到PE的SOURCES目录,BOOTMGR启动WINLOGON,后者会启动winpeshl.exe来自动运行这个SETUP文件实现安装。

B. 如果SOURCES目录没有SETUP.EXE,那么winpeshl.exe会执行system32目录下的winpeshl.ini所指定的文件。---这对我们用处不大。

C. 如果winpeshl.ini没有程序或没有此文件,那么winpeshl.exe将会执行system32目录下的startnet.cmd文件,默认PE下存在此文件,会加载网络配置。---这对我们用处也不大。

4. 如果我们能搞定BOOTMGR文件,那么,我们可以将BOOT文件夹也更名,从而-----------------------------最终实验把ISO解开全部放到U盘的一个文件夹中去安装WIN7!

[ 本帖最后由 victor888 于 2009-10-17 21:38 编辑 ]
作者: Pauly    时间: 2009-10-17 23:13
用 WINHEX 打开 BOOTMGR,以 UNICODE 方式搜索文本 \BOOT 应该能找到吧,找到后修改一下应该就可以了。现在在网吧没条件测试
作者: chenall    时间: 2009-10-18 00:47
原帖由 victor888 于 2009-10-17 21:33 发表
我和chenall讨论了半天,结合以上各位的讨论,现在就确定这样一些事情:

1. 在WIN下安装,使用ISO根目录的SETUP.EXE结合INSTALLFROM参数,可以实验将INSTALL.WIM文件放到其他位置。

2. WIN下安装,如果运 ...


我觉得问题不在于BOOTMGR。主要还是SETUP.EXE的问题。
得了解一下SETUP.EXE是如何确定安装源的,已知把光盘的SOURCES目录复制到U盘上并改名为BOOT直接启动里面的SETUP.EXE是可以进行安装的,这个SETUP.EXE和PE的\SOURCES\SETUP.EXE一样的。

我猜可能和注册表或WINPESHL.EXE有关(可以重点根踪一下注册表或WINPESL.EXE的调用过程)


另外前面的关于startnet.cmd,其实是可以利用的,
首先删除PE的SOURCES\SETUP.EXE
然后创建一个STARTNET.CMD在SYSTEM32目录下。

可以在STARTNET.CMD里面编写批处理脚本来找到U盘上的安装程序进行安装。这样不管安装程序放在哪个目录都可以进行安装。
作者: victor888    时间: 2009-10-18 04:52
标题: 回复 #13 Pauly 的帖子
有校验的,况且,这个字符也找不到。
作者: mfkwgij    时间: 2009-10-18 12:21
我也来试试看的了!~
作者: lxl1638    时间: 2009-10-18 14:40
原帖由 victor888 于 2009-10-17 21:33 发表
我和chenall讨论了半天,结合以上各位的讨论,现在就确定这样一些事情:

1. 在WIN下安装,使用ISO根目录的SETUP.EXE结合INSTALLFROM参数,可以实验将INSTALL.WIM文件放到其他位置。

2. WIN下安装,如果运 ...


只要SETUP.EXE支持指定源(WIM)和目标(分区),所有的问题都已经解决了。

我们可以在 winpeshl.ini 或 startnet.cmd 中做手脚,虽然 startnet.cmd 是加载网络配置的,但完全可以修改它的全部CMD代码,搜索特定分区特定目录中的SETUP.EXE(INSTALL.WIM也放在SETUP.EXE所在目录),找到SETUP.EXE后,启动它就是了;也可以在 winpeshl.ini 指定自己的EXE文件,通过自己的EXE文件来搜索特定分区特定目录中的SETUP.EXE(INSTALL.WIM也放在SETUP.EXE所在目录)。

老外的Win7PE就是在 winpeshl.ini 指定自己的 PE 外壳初始化程序的,所以微软的SETUP.EXE已提供了足够的扩展支持了,就看使用的人如何用,会不会用了;或者你会问到另一个问题 --- BOOT目录名不能改,这个改与不改是没有区别的,如果微软当初就把这个目录名定为"MS_BOOT",可能你就想把它改成现在的"BOOT"。就是说,微软不可能按别人的想法去定义某个目录的名称,即使微软按张三的想法定义了一个目录的名称,李四也有可能将它改成别一个名称,名称符号而已,用什么都没有实质的区别,只要功能正常就够了。
作者: victor888    时间: 2009-10-18 15:25
先说一下好消息,我已经初步成功修改了setup.exe并安装成功,下一步我将进一步的测试,具体方法先保密。

老九说的意思我明白了,利用PE的定制功能来实现SETUP指定安装源位置。但对比修改SETUP来讲,嘿嘿,还有点麻烦。另,我之所以想把BOOT文件夹也改名,是为了把这个文件夹更名为畸形目录,这样在U盘上安全性更高。

晚上我会给出更详细的测试报告。

[ 本帖最后由 victor888 于 2009-10-18 15:26 编辑 ]
作者: 玄天    时间: 2009-10-18 22:20
将启动文件给改的面目全非其实没多大必要,看着头大~
作者: hcbeyond    时间: 2009-10-18 22:21
我直接刷BIOS激活的!!!安全啊
作者: victor888    时间: 2009-10-19 10:06
楼上是驴唇不对马嘴。
楼上的楼上是没读懂首贴要问的问题。
====
回老九,用installfrom参数最大的问题是不知道INSTALL.WIM文件所在的盘符,当然,可以通过批处理来解决。

我在18楼说的的方法是修改boot.wim第2个映像根目录的setup.exe以及sources目录的setup.exe和autorun.dll将里面的sources字符(需要查找unicode和非unicode字符)更换成想要的字符,如:boot\ls,这几个文件没有校验,可以更改。ISO根目录的setup.exe以及sources目录的setup.exe和autorun.exe可以不用改。如果在WIN下安装,只运行sources目录的setup.exe就可以了。

至此,讨论似乎可以告一段落,接下来我们只能等高手(国内的不可能了)研究明白bootmgr我们可以把校验去除,把boot目录也给改了名。

有时间我会继续试验改setup.exe的方法,现在基本可以认定成功。
作者: chenall    时间: 2009-10-19 11:26
个人觉得修改BOOTMGR的BOOT的目录没有意义。

就算改了BOOT目录的名子又有什么好处,我是没有发现这样做的实际用途。
作者: victor888    时间: 2009-10-19 11:59
如果不把BOOT设置成为畸形目录有被病毒干掉的危险。
当然,可以将BOOT目录设置NTFS权限。
作者: cxzcvbnm    时间: 2009-10-19 14:45
原帖由 victor888 于 2009-10-18 15:25 发表
先说一下好消息,我已经初步成功修改了setup.exe并安装成功,下一步我将进一步的测试,具体方法先保密。

老九说的意思我明白了,利用PE的定制功能来实现SETUP指定安装源位置。但对比修改SETUP来讲,嘿嘿,还 ...

10月22日就出正版了
版主大大赶紧第一时间放出安装方法教程
首先造福无忧启动论坛再说。。。。。。。
作者: fujianabc    时间: 2009-10-19 14:54
boot目录不光boomgr要用,windows系统中有些功能也要用。你如果改了目录名,bcdedit就找不到bcd了
作者: victor888    时间: 2009-10-19 15:15
我要是能改就好了,只要能改,就不怕BCD和其它文件不能处理。
另回24楼,我已经把方法在21楼说了。
作者: victor888    时间: 2009-10-20 08:07
试验证明失败,移动了BOOT.WIM的位置会造成顶楼说的蓝屏。
作者: fujianabc    时间: 2009-10-20 14:27
原帖由 victor888 于 2009-10-20 08:07 发表
试验证明失败,移动了BOOT.WIM的位置会造成顶楼说的蓝屏。

boot.wim和boot.sdi的路径可以用bcdedit在bcd中指定的
作者: victor888    时间: 2009-10-20 15:04
fujianabc老兄,你说我能犯不改BCD那样的低级错误吗?我现在遗憾没有人动手和我一起探讨问题。
作者: lxl1638    时间: 2009-10-20 19:06
boot.wim 和 boot.sdi 的文件名本人成功改过,修路径名没能修改成功,精力有限也就停止YY了。
作者: fujianabc    时间: 2009-10-20 20:46
原帖由 victor888 于 2009-10-20 15:04 发表
fujianabc老兄,你说我能犯不改BCD那样的低级错误吗?我现在遗憾没有人动手和我一起探讨问题。

没问题阿,我把boot.sdi和boot.wim放到其它地方可以启动winpe 3.0阿,只要bcd中路径改一下就可以了。

另外,win7安装后默认有一个winre,在F8菜单中,这个pe 3.0就是放在c:盘的一个隐藏目录中,路径名还很长
作者: victor888    时间: 2009-10-20 22:04
你是用WIN7测试的?我用的虚拟机,一块硬盘为解包的ISO,另一块为待安装盘,只要我把BOOT.WIM放到别的位置,这个东西就蓝屏。
作者: fujianabc    时间: 2009-10-20 22:16
原帖由 victor888 于 2009-10-20 22:04 发表
你是用WIN7测试的?我用的虚拟机,一块硬盘为解包的ISO,另一块为待安装盘,只要我把BOOT.WIM放到别的位置,这个东西就蓝屏。

当然了,vista/win7我都试过,默认的boot.wim在sources目录,我把它放到其它目录没任何问题,另外你的蓝屏代码?

按理找不到boot.wim就直接bootmgr报错,连蓝屏的机会都没有。
作者: victor888    时间: 2009-10-21 08:09
见顶楼,我的错误原因是deviceid值没有配置,现在已经可以启动boot.wim了。
谢谢fujianabc。
作者: fujianabc    时间: 2009-10-21 14:31
vista sp0 6000的bootmgr能启动win7也很正常,因为nt 6.x启动的关键文件是winload.exe,只要这个文件的版本正确就行了。
作者: victor888    时间: 2009-10-21 15:23
如果我们可以使用GRUB4DOS给WINLOAD传递启动参数就好了,那样就不需要这个BOOTMGR了。
作者: fantasy    时间: 2009-10-21 15:43
现在还有一个问题 就是windows 7开始才支持vhd部署。如果替换了bootmgr和boot文件会不会影响到已经部署的vhd环境。如果修改后是否还能正确 部署vhd系统呢?
作者: fujianabc    时间: 2009-10-21 15:46
原帖由 victor888 于 2009-10-21 15:23 发表
如果我们可以使用GRUB4DOS给WINLOAD传递启动参数就好了,那样就不需要这个BOOTMGR了。

sdi和wim两个文件都是bootmgr加载的,grub4dos不可能实现这些功能。
作者: victor888    时间: 2009-10-21 16:43
开个玩笑,MS是不可能公开解包WIM的方法的。
作者: victor888    时间: 2009-10-22 08:24
自己顶一下,先不进行研究了。
作者: victor888    时间: 2009-10-22 19:33
原帖由 fantasy 于 2009-10-21 15:43 发表
现在还有一个问题 就是windows 7开始才支持vhd部署。如果替换了bootmgr和boot文件会不会影响到已经部署的vhd环境。如果修改后是否还能正确 部署vhd系统呢?


这个问题是不会发生的,因为我们不是启动VHD的WIN7,我们是安装WIN7,INSTALL.WIM里面的bootmgr会是WIN7的,没有问题。
作者: victor888    时间: 2009-10-25 15:40
最后顶起。
作者: qiudejun    时间: 2009-10-27 14:57
感谢楼主尝试和辛勤劳动,说实话我每天都不得在关注这个贴也就是你的进展。我觉得对我最重要是合盘问题,我要试一下能否成功,不要说我灌水。因为我是一个菜鸟,只能为你默默地加油!!!
作者: victor888    时间: 2009-10-27 16:48
你不算灌水,你发的贴子有意义。
我现在用U盘测试,好让我恼火,PE启动后setup安装install.wim要等待的时间好长。
作者: chenall    时间: 2009-10-27 17:40
U盘读写速度慢?还是。。。。
作者: victor888    时间: 2009-10-27 18:16
是速度的问题,USB2.0加上就可以了。
作者: victor888    时间: 2009-10-28 12:55
重新回顾了一下所有的回贴,FUJIANABC说的应该正确,我如果把BOOT文件夹也给改了,其它程序就找不到,也就无法启动了,如BCDEDIT程序,我觉得这个问题的瓶颈肯定在WINLOAD.EXE,这个解决了,可能还有别的麻烦,但应该不是大问题了。

既然找到了使用ISO的方法,我也就先不去研究它了,有兴趣的自己动手吧。
作者: abs    时间: 2009-10-29 12:20
原帖由 victor888 于 2009-10-21 16:43 发表
开个玩笑,MS是不可能公开解包WIM的方法的。

这个是有的,合盘也是可能的,只是我觉得这样意义不大,除了三次封装限制,我还是觉得应该使用RAMOS
作者: victor888    时间: 2009-10-29 14:50
楼上的,你还是把你的技术公开下吧,好东西不能捂着,公开了,大家才能深入探讨并深入下去的。

RAMOS,天风玩的多,你可以和他联合一下。
作者: chenall    时间: 2009-10-29 18:55
启动其它硬盘上的BOOT.WIM,可以把BOOT.SDI也复制过去和BOOT.WIM同一目录。

例子全部复制到F:\WIN7_SETUP目录下
首先找到ramdisksoptionsid 替换下面的内容对应的内容。
{default} 也替换成对应的ID,(如果是直接使用光盘上的BCD文件不用替换)
bcdedit /store bcd /set {ramdiskoptionsid}  ramdisksdidevice partition=f:
bcdedit /store bcd /set {ramdiskoptionsid}  ramdisksdipath \win7_setup\boot.sdi
bcdedit /store bcd /set {default} device ramdisk=[f:]\win7_setup\boot.wim,{ramdiskoptionsid}
bcdedit /store bcd /set {default} osdevice ramdisk=[f:]\win7_setup\boot.wim,{ramdiskoptionsid}
作者: abs    时间: 2009-10-30 13:40
原帖由 victor888 于 2009-10-29 14:50 发表
楼上的,你还是把你的技术公开下吧,好东西不能捂着,公开了,大家才能深入探讨并深入下去的。

RAMOS,天风玩的多,你可以和他联合一下。

天风是我的老大,我也是跟他学的:)不是我捂着,有些是朋友的技术,我有协议的!大家多用天使,不贵!
作者: x.Nichdlas    时间: 2009-11-10 15:58
请问标识符这个东西是规定的还是随机的啊
作者: raycar0    时间: 2009-11-11 16:13
我们必须用VISTA SP0的BOOTMGR,用起文本编辑器打开,在0xe28处将5413更改为EB1A这样就去除了checksum校验。


这里写错了,我还以为我找错了文件,还好是对的。原文如下:
change 74 03 to EB 1A at adress E28。
作者: victor888    时间: 2009-11-11 18:20
感谢楼上,是我搞错了,对了,楼上操作成功了吗?
作者: raycar0    时间: 2009-11-11 19:25
是的,这个很管用,谢谢了!

我接触win7,主要是为了做我的多启动光盘。在集成Win7安装和WinPE时就遇到了问题。我想到以前的多合一Windows安装盘(XP)的方法想hex edit the bootmgr,都搜索不到,google了下发现修改不了。后来我发现bcd就像boot.ini,所以在bcd添加菜单解决了问题,不过不能显示中文。看了楼主的文章便有了希望,只需要找个Vista的版本就行了。我已经实践成功,这样我的菜单都是在grub4dos下,而不用在bootmgr下来个二级菜单了。在此表示感谢!

我搜索“bootmgr”时都会出现许多关于启动失败,提示找不到bootmgr的问题。我现在所知启动系统是bootmgr -> bcd ->winlogon.exe,不知道正确不。我想在我启动光盘的bcd里加条启动C盘Win7的菜单,这样C盘(或隐藏分区)里的bootmgr或bcd文件丢失也可以启动了。

不知道我的想法可行不,还请楼主指教。
我的贴子http://bbs.wuyou.net/forum.php?mod=viewthread&tid=154427把我引导到楼主的文章下,但是我看了还是没想出办法。


[ 本帖最后由 raycar0 于 2009-11-11 19:28 编辑 ]
作者: victor888    时间: 2009-11-11 20:05
raycar0,从光盘启动硬盘上的WIN7----你的想法非常的不错。

我认为CHENALL已经解决了你的问题,那晚我们沟通,他通过试验发现,只要把BCD文件中partition=c:这样的GUID改成BOOT即可,点击这里:http://www.chenall.com/blog/2009/10/win7_bcdfix.html

我相信你会成功的。

[ 本帖最后由 victor888 于 2009-11-11 20:08 编辑 ]
作者: fujianabc    时间: 2009-11-11 20:33
原帖由 victor888 于 2009-11-11 20:05 发表
raycar0,从光盘启动硬盘上的WIN7----你的想法非常的不错。

我认为CHENALL已经解决了你的问题,那晚我们沟通,他通过试验发现,只要把BCD文件中partition=c:这样的GUID改成BOOT即可,点击这里:http://www.c ...

这是不对的,bcdedit /set {current} device boot中的boot是指的当前启动设备,也就是bootmgr/bcd所在的分区或者设备。

从光盘启动后,device boot就是光盘,这样bootmgr会试图从光盘上寻找winload.exe的
作者: victor888    时间: 2009-11-11 20:40
WINLOAD在哪个位置都没有关系,光盘上有也可以的,为什么说不行呢?
===
其实另外一种方法就是用GRLDR找硬盘上的BOOTMGR。

[ 本帖最后由 victor888 于 2009-11-11 20:52 编辑 ]
作者: xiaoyuan0417    时间: 2009-11-11 21:27
原帖由 victor888 于 2009-10-16 16:35 发表
……必须用VISTA SP0 的 BOOTMGR……

老大能传一个上来吗?
作者: fujianabc    时间: 2009-11-11 22:21
原帖由 victor888 于 2009-11-11 20:40 发表
WINLOAD在哪个位置都没有关系,光盘上有也可以的,为什么说不行呢?
===
其实另外一种方法就是用GRLDR找硬盘上的BOOTMGR。

winload必须在windows\system32文件夹内,不能在其他地方。

如果winload放在光盘上,就意味着整个windows都在光盘上才行
作者: victor888    时间: 2009-11-12 05:38
原帖由 xiaoyuan0417 于 2009-11-11 21:27 发表

老大能传一个上来吗?

我不喜欢找链接,你搜索打狗的贴子,我已经上传过了。
作者: victor888    时间: 2009-11-12 05:55
经过分析,FUJIANABC说的应该是对的。
因为BCD文件不同于BOOT.INI,后者可以使用rdisk等值指定硬盘,而BCD只能通过disk signature来指定硬盘,如果不知道硬盘硬盘上这个signature是无法启动的。

当然,可以考虑变通,方法就是grldr引导一个IMG,IMG启动到DOS开启一个MBR工具,该工具读取了MBR中的SIGNATURE和WIN7所在分区的OFFSET值,并将二者写入IMG中的BCD文件。

以上操作不知道用GRLDR的DD命令可不可以。

[ 本帖最后由 victor888 于 2009-11-12 08:28 编辑 ]
作者: xiaoyuan0417    时间: 2009-11-12 09:25
原帖由 victor888 于 2009-11-12 05:38 发表

我不喜欢找链接,你搜索打狗的贴子,我已经上传过了。


搜索打狗的贴子,最新的是今年10月31日,老大在其中上传了 Vista 光盘引导文件,不是 Vista 的 bootmgr;打狗的其他贴子都是2006年以前发的,呵呵……

自己找到了 Vista SP0 的 Bootmgr,按老大的教程修改成功!
感谢老大!!!
作者: victor888    时间: 2009-11-12 10:09
你不要管我叫老大,我只不过是一个疯狂研究赶兴趣问题的人。
作者: xiaoyuan0417    时间: 2009-11-12 10:24
原帖由 victor888 于 2009-11-12 10:09 发表
你不要管我叫老大,我只不过是一个疯狂研究赶兴趣问题的人。


再次感谢!XP 也是按您的教程做出了 U 盘安装程序,所有的文件都放进一个文件夹里,U 盘根目录那是相当滴干净……
作者: victor888    时间: 2009-11-12 10:27
哪怕只有你一个观众会做了,我也满足了,我们CHEERS一下吧,你不要回帖灌水了!
作者: xiaoyuan0417    时间: 2009-11-12 20:45
用 UltraISO 将“无约而来”的 Windows 7 OEM 30in1,以 HDD+ 方式写入 U 盘,可顺利从 U 盘执行安装程序,点击“现在安装”后,出现品牌选择窗口,选定后完成安装!

按 LZ 的教程进行改造,将所有东东放进 Boot 文件夹,修改 BCD、Boot.win 中的 Startnet.cmd,将 sources 文件夹下的 setup.exe 更名为 winsetup.exe……

完成改造后从 U 盘安装,点击“现在安装”后,却出现提示窗口“缺少所需CD/DVD驱动器的驱动程序……”,安装进程到此打住,无法继续了……

恳请 LZ 点拨!!!先谢过了……
作者: victor888    时间: 2009-11-12 21:17
你看看批处理内容对不对,如果对,那么请注意,这个SOURCES文件夹,是指BOOT.WIM解包后的目录,而不是ISO中的SOURCES.
作者: xiaoyuan0417    时间: 2009-11-12 21:48
原帖由 victor888 于 2009-11-12 21:17 发表
你看看批处理内容对不对,如果对,那么请注意,这个SOURCES文件夹,是指BOOT.WIM解包后的目录,而不是ISO中的SOURCES.


谢点拨,但还是不成……
将原根目录下 Sources 文件夹中的 Setup.exe 恢复原名,将 Boot.wim 中 Sources 文件夹里的 Setup.exe 更名为 Winsetup.exe,Startnet.cmd 文件的内容是直接从 LZ 的贴子中复制的:
@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 initialization failed”,就此打住,无法继续……

不好意思,还想有劳 LZ……
作者: victor888    时间: 2009-11-13 08:10
楼上,你不要使用startnet.cmd了,我好像也遇到过这样的问题,使用那个winpeshl.ini来安装吧。
作者: xiaoyuan0417    时间: 2009-11-13 08:22
原帖由 victor888 于 2009-11-13 08:10 发表
楼上,你不要使用startnet.cmd了,我好像也遇到过这样的问题,使用那个winpeshl.ini来安装吧。


谢回复!
我的 Boot.wim 中没有 winpeshl.ini,该文件的内容为何?望告……
作者: victor888    时间: 2009-11-13 08:26
我不想和你--LS继续对话了,答案都在首贴中写的清清楚楚,还问我怎么操作,你再问这样的FOOLISH问题,我直接把这贴删除了!
作者: xiaoyuan0417    时间: 2009-11-13 08:36
原帖由 victor888 于 2009-11-13 08:26 发表
我不想和你--LS继续对话了,答案都在首贴中写的清清楚楚,还问我怎么操作,你再问这样的FOOLISH问题,我直接把这贴删除了!


兄弟,消消气……别因为我这菜鸟,把这么好的贴子删了,不值当的,其他坛友还要借鉴呢……
不打扰了……祝好运……
作者: raycar0    时间: 2009-11-13 10:17
原帖由 raycar0 于 2009-11-11 19:25 发表
  看了楼主的文章便有了希望,只需要找个Vista的版本就行了。我已经实践成功,这样我的菜单都是在grub4dos下,而不用在bootmgr下来个二级菜单了。在此表示感谢! ...



以上我是这样测试:
按楼主提示修改bootmgr,使其指向bpe,然后修改PE的bcd文件使其指向bootpe.wim;重命名bootmgr为bootpe3,bcd为bpe。
把bootpe3、boot文件夹放入优盘根目录,bpe放入boot文件夹;新建sources文件夹,把PE的boot.wim放入其中,重命名为bootpe.wim。
优盘是grub4dos引导,命令chainloader /bootpe3 成功启动PE3.0

-------------------
把以上文件放入win7安装目录,这样就不会出现重名了。光盘也是grub4dos引导。但是提示bcd文件配置错误;然后我制作ISO时,不添加win7安装文件,可是也不行。
现在我又改回二级菜单了,即把PE和win7安装在一个菜单里。

搞得我头大,因为实在看不出这2者能有何区别。况且把菜单添加到win7安装的bcd中却可以启动了。


启动盘测试环境:Windows 7 32bit Ultimate, VMware Workstation 7.0.0 build-203739
菜单也没内置到grldr

[ 本帖最后由 raycar0 于 2009-11-13 14:42 编辑 ]
作者: victor888    时间: 2009-11-13 10:41
楼上的问题是U盘可以安装而光盘不可以。

我对这个问题也晕,你只是改了BOOT.WIM的路径,别的东西没有动吧?
我现在对这个光启也不太清楚,[BOOT],应该就是BOOGMGR所在介质上的文件夹。

你是实机测试还是虚拟机测?你的MENU菜单是内置到了GRLDR中吗?

你可以加我QQ

[ 本帖最后由 victor888 于 2009-11-15 17:38 编辑 ]
作者: xiaoyuan0417    时间: 2009-11-13 11:07
所有东东放入 Boot 文件夹,制作成功了……
71楼的贴子确实有问题,当时折腾得头大,没再仔细阅读 LZ 首贴后半部分,报歉……
无论如何感谢 LZ !
作者: zhoubin    时间: 2010-2-2 22:21
原帖由 xiaoyuan0417 于 2009-11-12 09:25 发表
自己找到了 Vista SP0 的 Bootmgr,按老大的教程修改成功!

我的邮箱:519792545@qq.com,能给我传一下这个 Vista SP0 的 Bootmgr 吗,我找不到这个文件,谢谢您,谢谢。。。。
作者: xiaoyuan0417    时间: 2010-2-3 09:16
原帖由 zhoubin 于 2010-2-2 22:21 发表

我的邮箱:519792545@qq.com,能给我传一下这个 Vista SP0 的 Bootmgr 吗,我找不到这个文件,谢谢您,谢谢。。。。


收附件吧……

BOOTMGR(Vista).rar

194.43 KB, 下载次数: 80, 下载积分: 无忧币 -2


作者: zhoubin    时间: 2010-2-3 11:21
标题: 回复 #78 xiaoyuan0417 的帖子
谢谢您,尊贵的朋友,收到了。。。
顺便问一下您,我用WINHEX14.1,修改了,怎么不起作用,不知您用什么软件修改的?
谢谢,给您添麻烦了。。。。
作者: xiaoyuan0417    时间: 2010-2-3 11:41
原帖由 zhoubin 于 2010-2-3 11:21 发表
谢谢您,尊贵的朋友,收到了。。。
顺便问一下您,我用WINHEX14.1,修改了,怎么不起作用,不知您用什么软件修改的?
谢谢,给您添麻烦了。。。。


“不起作用”是什么意思?

UltraEdit、WinHex 都可修改,我是用 WinHex 修改的……

——————————————————————————————————
我把 BCD 文件改名为 W7U,然后……

用 WinHex 打开 Bootmgr,在偏移 0xe28 处将 74 03 更改为 EB 1A,在偏移 0x54b68 处找到 B.O.O.T.\.B.C.D,将 B.C.D 换成 W.7.U
作者: zhoubin    时间: 2010-2-3 15:31
标题: 回复 #80 xiaoyuan0417 的帖子
谢谢您,尊贵的朋友,搞定了。。。。。
刚开始我用的是查找替换的办法,后来我直接用手工查找更改,结果就行了。。。

只是启动界面不能显示中文了,没办法,改成英文算了。。。。。
最后再次感谢您,我尊贵的朋友。。。。顺祝您天天开心!!!!!
作者: longlaozong    时间: 2010-2-5 03:50
楼主,我按照你的方法给U盘和盘:
1.bcdedit /store BCD /set {default} device ramdisk=[boot]\boot\sources\7PE.wim,{7619dcc8-fafe-11d9-b411-000476eba25f}
2.bcdedit /store BCD /set {default} osdevice ramdisk=[boot]\boot\sources\7PE.wim,{7619dcc8-fafe-11d9-b411-000476eba25f}
3.bcdedit /store BCD /set {bootmgr} nointegritychecks yes
4.用楼上朋友提供的Vista SP0 bootmgr改EB 1A和7.C.D,把bootmgr改为MGR,然后分别把7.C.D和MGR拷贝到boot下和sources下,grub引导MGR

请问为什么启动PE时就卡住不动了呢?



[ 本帖最后由 longlaozong 于 2010-2-5 04:45 编辑 ]
作者: zhoubin    时间: 2010-2-5 08:42
我很菜,我尽我所能,给你指出几点,仅供你参考:
1.bcdedit /store BCD /set {default} device ramdisk=[boot]\boot\sources\7PE.wim,{7619dcc8-fafe-11d9-b411-000476eba25f}
2.bcdedit /store BCD /set {default} osdevice ramdisk=[boot]\boot\sources\7PE.wim,{7619dcc8-fafe-11d9-b411-000476eba25f}

{default}参数错误,应该是具体数值。
3.bcdedit /store BCD /set {bootmgr} nointegritychecks yes

将此处的BCD改为7CD。
作者: longlaozong    时间: 2010-2-5 19:30
原帖由 zhoubin 于 2010-2-5 08:42 发表
我很菜,我尽我所能,给你指出几点,仅供你参考:

{default}参数错误,应该是具体数值。

将此处的BCD改为7CD。

这个路径没错,命令和BCDTool都试过都是不行
bcdedit /store BCD /set {default} device ramdisk=[boot]\sources\7PE.wim,{7619dcc8-fafe-11d9-b411-000476eba25f}
bcdedit /store BCD /set {default} osdevice ramdisk=[boot]\sources\7PE.wim,{7619dcc8-fafe-11d9-b411-000476eba25f}

bcd先改7cd或导入再改7cd都一样不行
bcdedit /store BCD /set {bootmgr} nointegritychecks yes



看来我更菜呢,折腾了半天还是没成功,一引导就卡住,不知到底哪没弄对!
兄台如果有时间的话麻烦帮我改一个BCD,命名为7CD。用来引导U盘根目录sources文件夹下Win7PE.wim,先谢啦~!

[ 本帖最后由 longlaozong 于 2010-2-5 19:37 编辑 ]
作者: zhoubin    时间: 2010-2-5 21:02
标题: 回复 #84 longlaozong 的帖子
看78楼,加我的qq,并把你的bcd文件传给我,我帮你改。。。。


唉,干脆我用我的bcd文件,改动一下,帮你做了一个,你试试看吧,启动的是\sources\7PE.wim。。。

[ 本帖最后由 zhoubin 于 2010-2-5 23:02 编辑 ]

7CD.rar

196.61 KB, 下载次数: 44, 下载积分: 无忧币 -2


作者: zhoubin    时间: 2010-2-5 22:57
唉,我有一个超级郁闷的问题,为什么我用这个BOOTMGR做了一个光盘合集,启动选项菜单不能正常显示中文。。。。。

那位好心的朋友,帮我分析一下。。。

顺便也想再次麻烦,尊贵的朋友:xiaoyuan0417 帮我看看,如何才能显示中文,同时对 xiaoyuan0417 给本人的帮助表示感谢。。。

同时也要感谢楼主,提供了这么好的帖子,谢谢楼主。。。
作者: longlaozong    时间: 2010-2-6 00:43
原帖由 zhoubin 于 2010-2-5 22:57 发表
唉,我有一个超级郁闷的问题,为什么我用这个BOOTMGR做了一个光盘合集,启动选项菜单不能正常显示中文。。。。。

那位好心的朋友,帮我分析一下。。。

顺便也想再次麻烦,尊贵的朋友:xiaoyuan0417 帮我看 ...

谢谢你的BCD,我去试试看去。

对了,中文的mgr首先确保boot/fonts下中文字体存在,再在/boot/zh-cn文件夹中加入bootmgr.exe.mui文件即可。

我顺便帮你打了个包,你试试
[local]1[/local]

[ 本帖最后由 longlaozong 于 2010-2-6 01:53 编辑 ]
作者: longlaozong    时间: 2010-2-6 02:09
真是奇怪了,用了你的BCD和bootmgr效果也一样,卡住提示Will boot ntldr from drive=0x80,partion=0x1(hidden secctors=0x32fcd)??

[ 本帖最后由 longlaozong 于 2010-2-6 02:11 编辑 ]
作者: zjindong    时间: 2010-2-6 02:30
现在还不怎么看得懂。
作者: yeyinchuang    时间: 2010-2-6 02:38
如果只是启动WIN7 PE,用WIN7的BOOTMGR,不就可以了,为什么要用VISTA的BOOTMGR
作者: xiaoyuan0417    时间: 2010-2-6 08:14
标题: 回复 #86 zhoubin 的帖子
前几天没理解你的意思,以为是说启动过程中屏幕底部的信息不能显示中文了……
请问你是用什么做启动选项菜单的?Grldr 的 Menu.lst?Syslinux 的 System.cfg?还是其它什么?
不会是用 BCD 做选项菜单吧?如果是用 BCD 做菜单,就没有必要替换 BOOTMGR 了……
我是将 Grldr 的 Menu.lst 做为启动选项菜单,GfxMenu 做菜单背景的……

Windows.JPG (37.71 KB, 下载次数: 125)

Windows.JPG

作者: zhoubin    时间: 2010-2-6 08:41
标题: 回复 #88 longlaozong 的帖子
检查一下grub4dos:

title 【 2 】-- 启动 Vista / Win7 PE 工具箱
chainloader /BOOT/MGR
作者: zhoubin    时间: 2010-2-6 09:09
原帖由 xiaoyuan0417 于 2010-2-6 08:14 发表
不会是用 BCD 做选项菜单吧?

就是 BCD 做选项菜单,见下图:

原帖由 xiaoyuan0417 于 2010-2-6 08:14 发表
如果是用 BCD 做菜单,就没有必要替换 BOOTMGR 了

我在这个启动光盘中用了两个BOOTMGR(分别是BOOTMGR和BOOTMGE)和两个BCD(分别是BCD和BCE),光盘引导文件.BIF我也改成了引导BOOTMGE。。。

BOOTMGE+BCE负责本地启动,启动的就是上面这个效果,中文字体显示不了,只好用英文。。。

BOOTMGR+BCD+。。。负责pxe网络启动win7pe 32位和win7pe 64位,因为pxe用BOOTMGR+BCD+。。。引导,只能启动win7pe 32位和win7pe 64位,其他启动选项无效,其他启动选项用的是PXELINUX.CFG。。。

PXELINUX.CFG网络启动效果 见下图:


pxe网络启动里的BOOTMGR+BCD+。。。引导效果图:



所以在这个光盘集合里,我用了两个两个BOOTMGR和两个BCD。。。。

尊贵的朋友,给您添麻烦了,谢谢您。。。。。

[ 本帖最后由 zhoubin 于 2010-2-6 20:14 编辑 ]
作者: xiaoyuan0417    时间: 2010-2-6 09:57
标题: 回复 #93 zhoubin 的帖子
我替换 VISTA 的 BOOTMGR,使 BCD 可随意改名(限定三个字母),目的就是避开 BCD 菜单,否则就没必要替换了……BCD 菜单只能黑底白字,太难看……

假如需要4对 BOOTMGR+BCD,分区启动 Windows7X86 安装程序、Windows7X64 安装程序、Windows7X86 PE 工具箱、Windows7X64 PE 工具箱,可按如下方式分别改名 BOOTMGR 和 BCD:

BOOTX86 + X86 >>>>>> Windows7X86 安装程序
BOOTX64 + X64 >>>>>> Windows7X66 安装程序
BOOTP86 + P86 >>>>>> Windows7X86 PE工具箱
BOOTP64 + P64 >>>>>> Windows7X64 PE工具箱

然后,在 Grldr 的 Menu.lst 中设置4个 chainloader 引导项,就可以完全避开 BCD 菜单了!
如果按此方法形成的 Menu.lst 太长,单屏不能全部显示,可考虑用子菜单……

本人回避 BCD 菜单,因而没研究 BOOTMGR 替换后的中文显示问题,也许我的这个文件不支持中文,另有支持中文的,也未可知……
作者: longlaozong    时间: 2010-2-6 10:10
原帖由 zhoubin 于 2010-2-6 08:41 发表
检查一下grub4dos:

title 【 2 】-- 启动 Vista / Win7 PE 工具箱
chainloader /BOOT/MGR


对啊,这个没错,我放在sources里。

[ 本帖最后由 longlaozong 于 2010-2-6 10:15 编辑 ]
作者: xiaoyuan0417    时间: 2010-2-6 11:24
标题: 回复 #95 longlaozong 的帖子
把 7CD 改回 BCD,换回 W7 的 BOOTMGR,可以引导吗?
作者: longlaozong    时间: 2010-2-6 12:16
原帖由 xiaoyuan0417 于 2010-2-6 11:24 发表
把 7CD 改回 BCD,换回 W7 的 BOOTMGR,可以引导吗?

可以的,原来的没问题,多菜单也没问题,就是独立配套的就无法引导。

[ 本帖最后由 longlaozong 于 2010-2-6 12:17 编辑 ]
作者: xiaoyuan0417    时间: 2010-2-6 13:26
标题: 回复 #97 longlaozong 的帖子
如果只修改 W7PE 的路径,不替换 BOOTMGR,启动没问题,替换 BOOTMGR 后也应当正常启动的……
如果是 BCD 的内容有误,报错信息也不应当是你的截图中的情况……
作者: zhoubin    时间: 2010-2-6 20:27
标题: 回复 #94 xiaoyuan0417 的帖子
谢谢您 尊贵的朋友:xiaoyuan0417,让您费心了。。。。
早晨因为有点事,启动截图没有贴全,93楼补充了两个图片。。。
谢谢您的回复,谢谢。。。。。。


顺便:回复 #95 longlaozong 的帖子
对啊,这个没错,我放在sources里。

把我给你的7CD和MGR文件放入根目录下的\BOOT文件夹。。。。
作者: victor888    时间: 2010-2-9 22:02
标题: 回复 #82 longlaozong 的帖子
你应该把[BOOT]换为你的U盘盘符的。




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