无忧启动论坛

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

vista/2008/win7 安装 WinPE2.x 和 WinPE3.x的批处理

[复制链接]
跳转到指定楼层
1#
发表于 2009-8-29 16:18:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近投入WIN7的怀抱,且开始研究PEY.X(Y=2、3)。因此想在win7 上启动PEY.X(Y=2、3)。苦于无理想的安装器,因此写了一个管用的批处理。它的作用就是在VISTA/2008/WIN7系统上,通过编辑BCD文件,加入BOOT.WIM和BOOT.SDI的引导。
上P:

安装
@echo off
COLOR f9
set vid=
set timeout=%~1
set gname=%~2
set gname2=boot\win7pe.wim
TITLE 设置绝对PE工具箱的BCD相关引导
:bcd_1
bcdedit >temp_bcd.txt
type temp_bcd.txt | find "%gname2%" >nul && goto un_bcd_1
bcdedit.exe /create -device > %windir%\SYSTEM32\win7ram.ini
for,/f,"tokens=2 delims={",%%i,In (%windir%\SYSTEM32\win7ram.ini) Do (
               set vidb=%%i
)
for,/f,"tokens=1 delims=}",%%i,In ("%vidb%") Do (
               set vidram={%%i}
)
echo %vidram%>%windir%\SYSTEM32\win7ram.ini
bcdedit.exe /set %vidram% ramdisksdidevice partition=%systemdrive% >nul
bcdedit.exe /set %vidram% ramdisksdipath \boot\win7pe.sdi >nul

bcdedit   /create /d "%gname%" /application OSLOADER >%windir%\SYSTEM32\win7pe.ini
for,/f,"tokens=2 delims={",%%i,In (%windir%\SYSTEM32\win7pe.ini) Do (
               set vida=%%i
)
for,/f,"tokens=1 delims=}",%%i,In ("%vida%") Do (
               set vid={%%i}
)
echo %vid%>%windir%\SYSTEM32\win7pe.ini
bcdedit  /set %vid% device "ramdisk=[%systemdrive%]\%gname2%,%vidram%" >nul
bcdedit  /set %vid% path "\windows\system32\boot\winload.exe" >nul
bcdedit  /set %vid% osdevice "ramdisk=[%systemdrive%]\%gname2%,%vidram%" >nul
bcdedit  /set %vid% systemroot "\windows" >nul
bcdedit  /set %vid% detecthal "YES" >nul
bcdedit  /set %vid% winpe "YES" >nul
bcdedit  /displayorder %vid% /addlast >nul
bcdedit  /timeout %timeout% >nul
goto exit
:un_bcd_1
If Not Exist %windir%\SYSTEM32\win7pe.ini goto exit
for,/f,"tokens=1",%%i,In (%windir%\SYSTEM32\win7pe.ini) Do (
                set vid=%%i
)
bcdedit /delete %vid% /cleanup >nul
del %windir%\SYSTEM32\win7pe.ini
for,/f,"tokens=1",%%i,In (%windir%\SYSTEM32\win7ram.ini) Do (
                set vidram=%%i
)
bcdedit /delete %vidram% /cleanup >nul
del %windir%\SYSTEM32\win7ram.ini
goto bcd_1
:exit
del temp_bcd.txt



卸载
@echo off
COLOR f9
set vid=
set gname2=boot\win7pe.wim
TITLE 删除绝对PE工具箱的BCD相关引导
If Not Exist %windir%\SYSTEM32\win7pe.ini  exit
for,/f,"tokens=1",%%i,In (%windir%\SYSTEM32\win7pe.ini) Do (
                set vid=%%i
)
bcdedit /delete %vid% /cleanup >nul
If Not Exist %windir%\SYSTEM32\win7ram.ini  exit
for,/f,"tokens=1",%%i,In (%windir%\SYSTEM32\win7ram.ini) Do (
                set vidram=%%i
)
bcdedit /delete %vidram% /cleanup >nul
bcdedit  /timeout 0 >nul
del %windir%\SYSTEM32\win7pe.ini
del %windir%\SYSTEM32\win7ram.ini
del %windir%\SYSTEM32\temp_bcd.txt
del %windir%\SYSTEM32\DELBOOT.CMD



为了方便卸载,在WINDOWS目录下面生成了win7pe.ini和win7ram.ini 用来存放卸载用的GUID。其中红色的部分,为BOOT.WIM和BOOT.SDI的位置。通过对这些文本的修改,可以把BOOT.WIM BOOT.SDI 随意放置(包括放到系统盘以外的分区)。

[ 本帖最后由 uepon 于 2010-12-23 18:18 编辑 ]
2#
发表于 2009-8-29 17:27:54 | 只看该作者
谢谢楼主提供,辛苦了。
回复

使用道具 举报

3#
发表于 2009-9-4 15:52:17 | 只看该作者
感谢楼主分享 能顺便提供个脚本可用的 WinPE3.x 下载地址吗? 本人菜鸟 见笑了
回复

使用道具 举报

4#
发表于 2009-9-5 09:49:50 | 只看该作者
谢谢提供,学习了。我一直没有掌握安装winpe2.x到硬盘的方法
回复

使用道具 举报

5#
发表于 2009-9-9 17:42:28 | 只看该作者
好文章,学习了~
回复

使用道具 举报

6#
发表于 2011-1-2 07:54:41 | 只看该作者
谢谢!辛苦了!又学了一招。
回复

使用道具 举报

7#
发表于 2011-1-3 10:47:47 | 只看该作者
C盘为隐藏分区不好办啊。
回复

使用道具 举报

8#
发表于 2011-1-3 13:23:49 | 只看该作者
首先我们提取Win7安装盘镜像中的BCD引导文件"X:\boot\bcd",把这个文件复制到d:\bcd\文件夹下。
打开管理员身份的CMD
开始编辑BCD咯~

set bcd_path=d:\bcd\bcd   
//设定变量bcd_path方便后面调用
bcdedit /store %bcd_path%   
//用bcdedit命令列出当前光盘的启动项

其结果为
------------------------------------------------------
Windows 启动管理器
--------------------
标识符                  {bootmgr}
description             Windows Boot Manager
locale                  en-US
inherit                 {globalsettings}
default                 {default}
displayorder            {default}
toolsdisplayorder       {memdiag}
timeout                 30

Windows 启动加载器
-------------------
标识符                  {default}
device                  ramdisk=[boot]\sources\boot.wim,{7619dcc8-fafe-11d9-b411
-000476eba25f}
path                    \windows\system32\boot\winload.exe
description             Windows 7 OEM Setup
locale                  en-US
inherit                 {bootloadersettings}
osdevice                ramdisk=[boot]\sources\boot.wim,{7619dcc8-fafe-11d9-b411
-000476eba25f}
systemroot              \windows
detecthal               Yes
winpe                   Yes
ems                     Yes
------------------------------------------------------

bcdedit /store %bcd_path% /copy {default} /d "WinPE"     
//我们复制一下{default}的启动项,将描述修改为"WinPE",此时提示“已将该项成功复制到 {e2591d10-97da-11df-9720-00265ea58674}。”
//(其中{e2591d10-97da-11df-9720-00265ea58674}是新启动项的ID,我们等下需要用这个ID进行操作)
//然后找到我们WinPE的boot.wim文件,改名为Winpe.wim放在安装盘里的sources文件夹中,继续用bcdedit对新的启动项进行修改
bcdedit /store %bcd_path% /set {e2591d10-97da-11df-9720-00265ea58674} device ramdisk=[boot]\sources\winpe.wim,{7619dcc8-fafe-11d9-b411-000476eba25f}
bcdedit /store %bcd_path% /set {e2591d10-97da-11df-9720-00265ea58674} osdevice ramdisk=[boot]\sources\winpe.wim,{7619dcc8-fafe-11d9-b411-000476eba25f}
//这两条命令好长,其作用都是将Win7安装程序的引导部分boot.wim修改为我们的WinPE3.0
//到这里,我们向Win7安装光盘中添加WinPE的工作已经完成了。
//不需要集成XP安装程序的同学,可以看到这里就开始光盘镜像的制作了。
//用UltraISO打开Win7安装盘的镜像,将boot文件夹中的bcd文件用我们刚刚编辑好的d:\bcd\bcd替换,将我们的Winpe.wim文件导入sources文件夹,然后另存为一个新的光盘镜像。然后刻录或者写入U盘都可以~~简单讲一下写入U盘的过程~~插入U盘(确保你的U盘足够大)写入U盘需要管理员权限,所以要用管理员权限运行UltraISO,在"启动"菜单中选择"写入硬盘镜像"

//在“硬盘驱动器”里面选择自己的U盘(这里面也会同时出现你的移动硬盘,存储卡等……请自己根据存储容量和芯片型号判断)写入方式选"USB-HDD+"(如果不能启动请尝试更换其他写入方式),点写入。注意:将镜像写入U盘会清空U盘内全部数据,请做好备份!

//至此我们的Win7安装+WinPE的启动盘就制作完成了~不想再集成XP安装的同学也不要不往下看~文章最后有我编辑好的BCD文件方便不会编辑BCD的同学下载使用。

------------------------------------------------------

//有兴趣继续集成XP安装程序的同学请继续往下看哈~~
//继续刚才我们对BCD文件的编辑,我们为它添加XP安装程序的启动项。
bcdedit /store %bcd_path% /create {ntldr} /d "Windows XP Setup"
bcdedit /store %bcd_path% /set {ntldr} device boot
bcdedit /store %bcd_path% /set {ntldr} path \i386\SETUPLDR.BIN
//虽然我们将XP启动项{NTLDR}添加进去了,但是这个时候我们在启动菜单还看不到。我们需要为之设置启动项顺序(我之间因为没设置顺序总是显示不出XP安装的启动项,后来自己发现了,所以如果不设置顺序可能会导致XP项无法显示)
bcdedit /store %bcd_path% /set {bootmgr} displayorder {default} {ntldr} {e2591d10-97da-11df-9720-00265ea58674}
//将3项的ID按照你想要的顺序排列好,我的顺序是"Windows 7 Setup" "Windows XP Setup" "Windows PE"
//设置好启动项顺序我们的BCD文件就编辑完成了。
//让我们开始制作光盘镜像吧~这一次我们还是要从Win7的镜像入手。用UltraISO打开Win7光盘镜像,"启动"菜单"保存引导文件",将文件存为win7.bif放于D盘
//将Win7光盘中的"BOOT""EFI""SOURCES"三个文件夹,以及BOOTMGR文件和SETUP.EXE提取到D:\Win7  可以关闭Win7的镜像了。
//再用UltraISO打开XP的镜像。"启动"菜单"加载引导文件"选择刚刚导出的win7.bif
//文件菜单-->属性 将介质选为"4.7(4.37)GB"  ISO 9660 文件名格式 选为 Max(221)如图

//设置好之后点确定。
//将D:\Win7文件夹里所有文件和文件夹都放入光盘根目录,制作结果如图(我删掉了很多没用的东西,自己添加了点东西,总共4128MB)。

//将光盘镜像另存为,保存起来。刻录之后就可以使用啦~
//注意:集成XP之后就无法再使用U盘引导了,只能刻录光盘使用,强制使用U盘引导(bootsect /nt60)将导致XP安装程序无法正常运行,但是Win7和WinPE照常使用。
//至此,我们的合盘工作就完成了~~顺便把我制作的两个BCD文件分享给大家~供大家学习研究。一个是Win7安装+WinPE双引导的
//另一个是Win7安装+WinPE+XP安装三引导的,可以直接用于覆盖Win7安装盘上boot文件夹下的BCD文件直接实现合盘。请见附件。
//直接用我的合盘文件的同学请注意:若X:为光盘盘符,请将WinPE.wim放置在X:\sources\下,集成XP的保证光盘根目录有I386文件夹。
//给大家看看我的合盘结果~~
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-18 09:05

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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