无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 5983|回复: 13
打印 上一主题 下一主题

高手请进:多系统安装文件帮助找错

[复制链接]
跳转到指定楼层
1#
发表于 2010-1-1 22:37:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
近来折腾了几个自己用的PE,想编个安装程序,适合XP,VISTA,WIN7,还要U盘,里面还有个天风的RAMXP。折腾几晚,参考了小马和hhh333的安装代码,再恶补了下批处理的基础,再狂灌点BCDEDIT的资料,然后不懂再厚着脸皮向论坛上的各位高手请教。在此再次谢谢了。
有个问题,大家也注意下,在WIN7中WINNT.XPE里面不知道为什么,那个WINPE.IS_一定要写成WINPE.ISO,不然老提示找不到TXTSETUP.SIF,我是用SETUPLDR.BIN引导的,原因是我还装了XP。以前一直用XP,直接过到WIN7,很不习惯。
大家帮我看看那个安装的批处理还有没有什么地方错了,我没有VISTA,所以只有WIN7和XP中安装到硬盘和U盘通过,同时上传一个多启的模版,对应着我的安装批,这个光盘是以X.Nichdlas的多启为模版的,主要是按我的使用习惯自己整了下。里面也有网启功能,各个PE文件齐全,一般全放在MINIPE下,以同名文件替换就可以启动PE,PE我就不发了。

安装PE.rar (4.29 KB, 下载次数: 212)

启动盘.iso
大小:18M

再上张图,U盘的差不多就是下面这样,安装了那个可以选那个项进入,可以不同时的安装不同的PE。也可以U+写入,U+时是SYSLINUX引导



[ 本帖最后由 潮退潮生 于 2010-1-2 17:52 编辑 ]
2#
 楼主| 发表于 2010-1-1 22:38:01 | 只看该作者
@Echo Off
PUSHD %~dp0
COLOR 2F
Set Prog= 兵临城下专用PE安装卸载工具
Set L1=      ╭══════════════════╮
Set L2=      ║                  ║
Set L3=   ╭══┤    %Prog%    ├══╮
Set L4=   ║  ║                  ║  ║
Set L5=   ║  ╰══════════════════╯  ║
Set L6=   ║                        ║
Set L7=   ╟════════════════════════╢
Set L8=   ║             版权没有 翻版不究               ║
Set L9=   ╰────────────────────────╯
Title %Prog%
Set AddATTR=ATTRIB +S +H
Set DelATTR=ATTRIB -S -H -R
Set LogFile=PEInstall.log
:CheckOS
if /i not "%os%."=="Windows_NT." goto SystemErro
::判断系统版本并设置TheOS
ver|find /i " 6.1">nul &&set Winver=WIN7&&  set TheOS=WIN7
ver|find /i " 6.0">nul &&set Winver=vista&&  set TheOS=Vista
ver|find /i " 5.0">nul &&set Winver=winnt&&  set TheOS=2000
ver|find /i " 5.1">nul &&set Winver=winnt&&  set TheOS=XP
ver|find /i " 5.2">nul &&set Winver=winnt&&  set TheOS=2003
goto Start
:SystemErro
cls
Echo.
Echo.
Echo  注意:未经测试,本软件可能不适用于非 Windows PE/2000/XP/2003/Vista/WIN7 操作系统。
Echo  按回车键退出安装程序
Pause >nul
Exit
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:Start
CLS
Title %Prog%——主菜单
Echo.
Echo %L1%
Echo %L2%
Echo %L3%
Echo %L4%
Echo %L5%
Echo %L6%
Echo    ║  请选择:                       ║
Echo %L6%
Echo    ║            [1] 安装                   ║
Echo    ║                                              ║
Echo    ║            [2] 卸载                    ║
Echo    ║                                              ║
Echo    ║            [Q] 退出                         ║
Echo %L6%
Echo %L7%
Echo %L7%
Echo %L8%
Echo %L9%
Echo.
Echo.
::Set Choice=
Set /P Choice=   请选择要进行的操作 (1/2/Q) ,然后按回车:
If "%Choice%"=="" Goto Start
If Not "%Choice%"=="" Set Choice=%Choice:~0,1%
If /I "%Choice%"=="1" Goto INSTALL
If /I "%Choice%"=="2" Goto UNINSTALL
If /I "%Choice%"=="Q" Exit
Goto Start
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:INSTALL
cls
Echo.
Echo.
Set /P Choice=   请选择要安装的目标盘(如C,按-键回主选单),然后按回车:
If "%Choice%"=="" Goto INSTALL
If Not "%Choice%"=="" Set Choice=%Choice:~0,1%
If /I "%Choice%"=="-" Goto Start
Set RP=%Choice%:
IF NOT EXIST %RP% (
echo.
echo      %RP%盘不存在,请重新选择!
echo.
        echo.
pause
Goto INSTALL
)
Set PEDIR=%RP%\MINIPE
For /F %%I In ('MYINS\CHECKUSB.EXE %RP%') DO SET ISUD=%%I
Echo.
IF "%ISUD%"=="1" ECHO     检测结果:%RP%为USB磁盘。
IF "%ISUD%"=="0" ECHO     检测结果:%RP%不是USB磁盘
Set TestFile=%RP%\MINIPETest_%RANDOM%.MT
Cd.>%TestFile%
If Not Exist %TestFile% Set UNWRITE=1
If Exist %TestFile% Del %TestFile% /Q>NUL 2>NUL
IF "%UNWRITE%"=="1" IF not "%ISUD%"=="1" Goto ErrHd
Echo.
IF #%UNWRITE%==#1 (
Echo     测试结果:目标盘不可写!
) ELSE Echo     测试结果:目标盘可写!
IF "%ISUD%"=="1" (
CALL :FORMAT_U
)
Goto INST_PE
:ErrHd
cls
echo.
echo     目标硬盘写保护或未格式化!按任意键退出.....
pause>nul
exit
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:FORMAT_U
CLS
Echo.
Echo.
Echo     您选择的%RP%盘为 U 盘分区,下面将对您的 U 盘进行格式化并写入引导
Echo.
Echo     请格式化主引导记录MBR 为Grub For DOS
Echo.
Echo.
pause
start /wait MYINS\BOOTICE.EXE
GOTO :EOF
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:INST_PE
CLS
Title %Prog%——安装
Echo.
Echo %L1%
Echo %L2%
Echo %L3%
Echo %L4%
Echo %L5%
Echo %L6%
Echo    ║  请选择:                       ║
Echo %L6%
Echo    ║            [1] 安装 Windows XPE          ║
Echo    ║                                              ║
Echo    ║            [2] 安装 Windows7 PE3       ║
Echo    ║                                              ║
Echo    ║            [3] 安装 RAMXP               ║
Echo    ║                                              ║
Echo    ║            [Q] 退出                         ║
Echo %L6%
Echo %L7%
Echo %L8%
Echo %L9%
Echo       您现在使用的是 Windows %TheOS% 操作系统 !
if "%TheOS%"=="XP" Echo       ( 或 Windows XP 核心的 WinPE )
if "%TheOS%"=="2003" Echo       ( 或 Windows 2003 核心的 WinPE )
if "%TheOS%"=="Vista" Echo       ( 请确保您拥有管理员权限以及关闭了UAC,否则安装可能失败 )
if "%TheOS%"=="WIN7" Echo       ( 请确保您拥有管理员权限以及关闭了UAC,否则安装可能失败 )
Echo.
::Set Choice=
Set /P Choice=   请选择要进行的操作 (1/2/3/Q) ,然后按回车:
If "%Choice%"=="" Goto INST_PE
If Not "%Choice%"=="" Set Choice=%Choice:~0,1%
If /I "%Choice%"=="1" Goto XPE
If /I "%Choice%"=="2" Goto PE3
If /I "%Choice%"=="3" Goto RAMXP
If /I "%Choice%"=="Q" Exit
Goto INST_PE
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:XPE
Set XPEDIR=%RP%\MINIPE\WINPE.IS_
If Exist %XPEDIR% Goto Err1
If Not Exist %PEDIR% MD %PEDIR%>NUL 2>NUL
CLS
Echo.
SET Choice=
SET /P Choice=   外置程序包默认放到您选定的 %RP%盘,要放到其他盘吗?(Y/N):
ECHO.
Echo.
Echo 正在复制文件,请稍候 ............
IF NOT #%Choice%==# SET Choice=%Choice:~0,1%
IF /I '%Choice%'=='y' CALL :SetExtra
IF /I NOT '%Choice%'=='y' SET OP=%RP%
If Not Exist %PEDIR% MD %PEDIR%>NUL 2>NUL
if /i Exist %RP%\ProgramData (
       CALL :Vista_Install
) Else (
       CALL :Pubilc_Install
)
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:Vista_Install
set WINPE_GUID={589f9ce2-f634-11de-97a2-001d0f0e0ef6}
bcdedit /timeout 3 >NUL 2>NUL
bcdedit /create %WINPE_GUID% /d "Windows XPE" /application BOOTSECTOR >NUL 2>NUL
bcdedit /set %WINPE_GUID% device partition=%RP% >NUL 2>NUL
bcdedit /set %WINPE_GUID% path \PELDR >NUL 2>NUL
bcdedit /displayorder %WINPE_GUID% /addlast >NUL 2>NUL
copy MYINS\SETUPLDR.BIN %RP%\PELDR >NUL 2>NUL
If Not Exist %RP%\NTDETECT.COM copy MYINS\NTDETECT.COM %RP%\NTDETECT.COM >NUL 2>NUL
copy MYINS\WINNT.XPE %RP%\WINNT.XPE /y>NUL 2>NUL
Copy ..\MINIPE\WINPE.IS_ %RP%\MINIPE\ /Y>NUL 2>NUL
Copy ..\MINIPE\WINPE.INI %OP%\MINIPE\ /Y>NUL 2>NUL
Copy ..\MINIPE\SOFT.INI %OP%\MINIPE\ /Y>NUL 2>NUL
Copy ..\MINIPE\Driver.WIM %OP%\MINIPE\ /Y>NUL 2>NUL
IF NOT Exist %OP%\MINIPE\SOFT.WIM Copy ..\MINIPE\SOFT.WIM %OP%\MINIPE\ /Y>NUL 2>NUL
%AddATTR% %RP%\MINIPE /S /D
%AddATTR% %RP%\MINIPE\*.* /S /D
%AddATTR% %OP%\MINIPE /S /D
%AddATTR% %OP%\MINIPE\*.* /S /D
%AddATTR% %RP%\PELDR /S /D
%AddATTR% %RP%\WINNT.XPE
%AddATTR% %RP%\NTDETECT.COM
CALL :LOG
CALL :SUCCESS
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:Pubilc_Install
IF "%ISUD%"=="1" (
CALL :UD
) ELSE (
CALL :CopyFile
)
CALL :LOG
CALL :SUCCESS
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:CopyFile
copy MYINS\SETUPLDR.BIN %RP%\PELDR >NUL 2>NUL
copy MYINS\AVLDR %RP%\MINIPE\AVLDR >nul 2>nul
copy MYINS\WINNT.XPE %RP%\WINNT.XPE /y>NUL 2>NUL
If Not Exist %RP%\NTDETECT.COM copy MYINS\NTDETECT.COM %RP%\NTDETECT.COM >NUL 2>NUL
If Not Exist %RP%\NTLDR copy MYINS\NTLDR %RP%\NTLDR >NUL 2>NUL
Copy ..\MINIPE\WINPE.IS_ %RP%\MINIPE\ /Y>NUL 2>NUL
Copy ..\MINIPE\WINPE.INI %OP%\MINIPE\ /Y>NUL 2>NUL
Copy ..\MINIPE\SOFT.INI %OP%\MINIPE\ /Y>NUL 2>NUL
Copy ..\MINIPE\Driver.WIM %OP%\MINIPE\ /Y>NUL 2>NUL
Copy ..\MINIPE\SOFT.WIM %OP%\MINIPE\ /Y>NUL 2>NUL
If Exist %RP%\BOOT.INI %DelATTR% %RP%\BOOT.INI
If Exist %RP%\BOOT.INI If Exist %RP%\BOOT.BAK %DelATTR% %RP%\BOOT.BAK
If Exist %RP%\BOOT.INI Copy %RP%\BOOT.INI %RP%\BOOT.BAK>NUL 2>NUL
If Exist %RP%\BOOT.INI TYPE %RP%\BOOT.BAK|FIND /I /V "%RP%\MINIPE">%RP%\BOOT.INI
If Exist %RP%\BOOT.INI Echo %RP%\MINIPE\AVLDR=Windows XPE>>%RP%\BOOT.INI
If /I "%TheOS%"=="2000" (
%DelATTR% %RP%\NTLDR&&%DelATTR% %RP%\bootfont.bin
del /f /q %RP%\NTLDR
del /f /q %RP%\bootfont.bin
copy ..\BOOT\FONT.BIN %RP%\bootfont.bin /y>nul
copy MYINS\ntldr1 %RP%\ntldr /y>nul
)
%AddATTR% %RP%\MINIPE /S /D
%AddATTR% %RP%\MINIPE\*.* /S /D
%AddATTR% %OP%\MINIPE /S /D
%AddATTR% %OP%\MINIPE\*.* /S /D
%AddATTR% %RP%\PELDR /S /D
%AddATTR% %RP%\BOOT.BAK /S /D
%AddATTR% %RP%\WINNT.XPE
If Exist %RP%\BOOT.INI %AddATTR% %RP%\BOOT.INI
Goto :EOF
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:UD
If Not Exist %RP%\BOOT MD %RP%\BOOT>NUL 2>NUL
Copy ..\BOOT\NTDETECT %RP%\BOOT\NTDETECT /y>NUL 2>NUL
Copy MYINS\grldr %RP%\GRLDR /y>NUL 2>NUL
Copy MYINS\menu.lst %RP%\menu.lst /y>NUL 2>NUL
XCOPY ..\BOOT\GRUB4DOS /E %RP%\BOOT\GRUB4DOS\ /Y /H /R>NUL 2>NUL
Copy ..\BOOT\XPPE %RP%\BOOT\XPPE /y>NUL 2>NUL
Copy ..\MINIPE\WINPE.IS_ %RP%\MINIPE\ /Y>NUL 2>NUL
Copy ..\MINIPE\WINPE.INI %OP%\MINIPE\ /Y>NUL 2>NUL
Copy ..\MINIPE\SOFT.INI %OP%\MINIPE\ /Y>NUL 2>NUL
Copy ..\MINIPE\Driver.WIM %OP%\MINIPE\ /Y>NUL 2>NUL
Copy ..\MINIPE\SOFT.WIM %OP%\MINIPE\ /Y>NUL 2>NUL
Goto :EOF
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:SetExtra
CLS
If "%NoOP%"=="Yes" Echo 错误:您设定的分区不存在或写保护,请按任意键重新设定。&&Echo.
Set /P OP=请设定 外置程序 存放的分区符[不需要冒号,例如 D(推荐)]:
Echo.&&Echo.
If "%OP%"=="" Goto SetExtra
If Not "%OP%"=="" Set OP=%OP:~0,1%:
Set TestFile=%OP%\MaotaoTest.MT
Cd.>%TestFile%
If Not Exist %TestFile% Set NoOP=Yes&&Goto SetExtra
Del %TestFile% /Q>NUL 2>NUL
Goto :EOF
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:SUCCESS
Title %Prog%——安装完成
CLS
Echo.
Echo.
Echo 已经成功将镜像安装到 %RP% 盘
Echo.
Echo 已经成功将外置程序安装到 %OP% 盘
Echo.
If Exist %RP%\Boot.INI Echo 系统分区中的BOOT.INI备份为BOOT.BAK
Echo.
Echo 如果您需要将 WinPE 卸载,请重新运行本安装程序。
Echo.
Echo.
Echo 请按任意键退出......
PAUSE>NUL 2>NUL
Exit
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:LOG
>%RP%\%LogFile% Cd.
>>%RP%\%LogFile% Echo ;此文件为 WinPE 的安装LogFile,请不要随意删除
>>%RP%\%LogFile% Echo ;否则可能会造成 WinPE 的卸载不够彻底!!!
>>%RP%\%LogFile% Echo.
>>%RP%\%LogFile% Echo WinPE镜像文件=%PEFile%
>>%RP%\%LogFile% Echo WinPE外置位置=%OP%
>>%RP%\%LogFile% Echo WinPE安装日期=%Date% %Time%
%AddATTR% %RP%\%LogFile%
Goto :EOF
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:Err1
CLS
Title %Prog%——卸载
Echo.
Echo %L1%
Echo %L2%
Echo %L3%
Echo %L4%
Echo %L5%
Echo %L6%
Echo    ║ 您好像已经安装了镜像中的系统,您想怎么办?     ║
Echo %L6%
Echo    ║  [1] 卸载原有的 WinPE,并且重新安装。    ║
Echo    ║  [2] 卸载原有的 WinPE,并且不再安装。    ║
Echo    ║   返回首页,重新选择安装选项。      ║
Echo    ║  [Q] 退出安装                ║
Echo %L6%
Echo %L7%
Echo %L8%
Echo %L9%
Echo.
Set Choice=
Set /P Choice=   请选择要进行的操作 (1/2/B/Q) ,然后按回车:
If "%Choice%"=="" Goto Err1
If Not "%Choice%"=="" Set Choice=%Choice:~0,1%
If /I "%Choice%"=="1" Set UN=1&&Set Choi=1&&Goto UnInstall
If /I "%Choice%"=="2" Set UN=1&&Goto UnInstall
If /I "%Choice%"=="B" Goto Start
If /I "%Choice%"=="Q" Exit
Goto Err1
Exit
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:UnInstall
cls
If /I "%UN%"=="1" (
Goto Un
)
Echo.
Echo.
Echo.
Set /P Choice=   请选择要进行卸载的目标盘(如C,按-键回主菜单),然后按回车:
If "%Choice%"=="" Goto KillFile
If Not "%Choice%"=="" Set Choice=%Choice:~0,1%
If /I "%Choice%"=="-" Goto Start
Set RP=%Choice%:
IF NOT EXIST %RP% (
echo.
echo 选定的盘%RP%不存在,请重新输入!
echo.
pause
Goto Err1
)
:Un
If Exist %RP%\%LogFile% For /F "eol=; tokens=2 delims=^=" %%i In ('find /I ^"WinPE外挂位置^" %RP%\%LogFile%') do SET OPD=%%i
If "%OPD%"=="" Set OPD=%RP%
If Exist %RP%\WINNT.XPE %DelATTR% %RP%\WINNT.XPE&&Del %RP%\WINNT.XPE /Q>NUL 2>NUL
If Exist %RP%\%LogFile% %DelATTR% %RP%\%LogFile%&&Del %RP%\%LogFile% /Q>NUL 2>NUL
If Exist %RP%\PELDR %DelATTR% %RP%\PELDR&&Del %RP%\PELDR /Q>NUL 2>NUL
If Exist %RP%\MINIPE RD %RP%\MINIPE /S /Q>NUL 2>NUL
If Exist %OPD%\MINIPE RD %OPD%\MINIPE /S /Q>NUL 2>NUL
If Exist %RP%\BOOT RD %RP%\BOOT /S /Q>NUL 2>NUL
If Exist %RP%\GRLDR %DelATTR% %RP%\GRLDR&&Del %RP%\GRLDR /Q>NUL 2>NUL
If Exist %RP%\menu.lst %DelATTR% %RP%\menu.lst&&Del %RP%\menu.lst /Q>NUL 2>NUL
If Exist %RP%\W7LDR %DelATTR% %RP%\W7LDR&&Del %RP%\W7LDR /Q>NUL 2>NUL
If Exist %RP%\ramxp %DelATTR% %RP%\ramxp&&Del %RP%\ramxp /Q>NUL 2>NUL
If Exist %RP%\grldr.mbr %DelATTR% %RP%\grldr.mbr&&Del %RP%\grldr.mbr /Q>NUL 2>NUL
If Exist %RP%\ramos.gz %DelATTR% %RP%\ramos.gz&&Del %RP%\ramos.gz /Q>NUL 2>NUL
if /i NOT "%TheOS%"=="Vista" if /i NOT "%TheOS%"=="WIN7" Del %RP%\BOOTMGR /Q>NUL 2>NUL
If Exist %RP%\NTDETECT.COM if /i Exist %RP%\ProgramData %DelATTR% %RP%\NTDETECT.COM&&Del %RP%\NTDETECT.COM /Q>NUL 2>NUL
FIND /I "%RP%\MINIPE" %RP%\BOOT.INI>NUL 2>NUL
If "%Errorlevel%"=="0" %DelATTR% %RP%\BOOT.INI&&Del %RP%\BOOT.INI
%DelATTR% %RP%\BOOT.INI>NUL 2>NUL
If Exist %RP%\BOOT.BAK (
%DelATTR% %RP%\BOOT.BAK
TYPE %RP%\BOOT.BAK|FIND /I /V "%LDRFLAG%">%RP%\BOOT.INI
) Else (
If Exist %RP%\BOOT.INI Copy %RP%\BOOT.INI %RP%\BOOT.BAK /Y>NUL 2>NUL
If Exist %RP%\BOOT.BAK TYPE %RP%\BOOT.BAK|FIND /I /V "%LDRFLAG%">%RP%\BOOT.INI
)
If Exist %RP%\BOOT.BAK %DelATTR% %RP%\BOOT.BAK&&Del %RP%\BOOT.BAK>NUL 2>NUL
If Exist %RP%\BOOT.INI %AddATTR% %RP%\BOOT.INI >NUL 2>NUL
if /i Exist %RP%\ProgramData bcdedit /delete {2a16f1f0-f610-11de-b8bd-001d0f0e0ef6}>NUL 2>NUL
if /i Exist %RP%\ProgramData bcdedit /delete {3e3895fa-74d4-11de-a03b-00242cc11ea1}>NUL 2>NUL
if /i Exist %RP%\ProgramData bcdedit /delete {589f9ce2-f634-11de-97a2-001d0f0e0ef6}>NUL 2>NUL
Set RP=
Title %Prog%——卸载完成
If /I "%Choi%"=="1" (
Echo.
Echo.
Echo    卸载完成,请按任意键准备重新安装 。。。
PAUSE>NUL 2>NUL
Goto :Start
)
Echo.
Echo.
Echo    卸载完成,请按任意键退出 。。。
PAUSE>NUL 2>NUL
Exit
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:PE3
Set PEDIR=%RP%\MINIPE
Set PE3DIR=%RP%\MINIPE\WIN7PE.WIM
If Exist %PE3DIR% Goto Err1
CLS
Echo.
SET Choice=
SET /P Choice=   外置程序包默认放到您选定的 %RP%盘,要放到其他盘吗?(Y/N):
ECHO.
IF NOT #%Choice%==# SET Choice=%Choice:~0,1%
IF /I '%Choice%'=='y' CALL :SetExtra
IF /I NOT '%Choice%'=='y' SET OP=%RP%
If Not Exist %PEDIR% MD %PEDIR%>NUL 2>NUL
If Not Exist %RP%\BOOT MD %RP%\BOOT>NUL 2>NUL
Echo.
Echo 正在复制文件,请稍候 ............
if /i Exist %RP%\ProgramData (
       CALL :Vista_PE3
) Else (
       CALL :Pubilc_PE3
)
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:Vista_PE3
bcdedit /timeout 3 >NUL 2>NUL
set RAMDISK_OPTIONS={ed539f34-74d6-11de-b518-00242cc11ea1}
set WINPE_GUID={3e3895fa-74d4-11de-a03b-00242cc11ea1}
bcdedit /create %RAMDISK_OPTIONS% -d "Windows7 PE3.0" -device>NUL 2>NUL
bcdedit /set %RAMDISK_OPTIONS% ramdisksdidevice boot>NUL 2>NUL
bcdedit /set %RAMDISK_OPTIONS% ramdisksdipath \boot\boot.sdi>NUL 2>NUL
bcdedit /create %WINPE_GUID% -d "Windows7 PE3.0" -application OSLOADER>NUL 2>NUL
bcdedit /set %WINPE_GUID% device ramdisk=[BOOT]\MINIPE\WIN7PE.wim,%RAMDISK_OPTIONS%>NUL 2>NUL
bcdedit /set %WINPE_GUID% path \windows\system32\boot\winload.exe>NUL 2>NUL
bcdedit /set %WINPE_GUID% osdevice ramdisk=[BOOT]\MINIPE\WIN7PE.wim,%RAMDISK_OPTIONS%>NUL 2>NUL
bcdedit /set %WINPE_GUID% systemroot \windows>NUL 2>NUL
bcdedit /set %WINPE_GUID% detecthal yes>NUL 2>NUL
bcdedit /set %WINPE_GUID% winpe yes>NUL 2>NUL
bcdedit /set %WINPE_GUID% locale "zh-CN">NUL 2>NUL
bcdedit -displayorder %WINPE_GUID% /addlast>NUL 2>NUL
XCOPY ..\MINIPE\WIN7PE.WIM %RP%\MINIPE\ /Y /H /R>NUL 2>NUL
If Not Exist %OP%\MINIPE\SOFT.WIM Copy ..\MINIPE\SOFT.WIM %OP%\MINIPE\ /Y>NUL 2>NUL
If Not Exist %OP%\MINIPE\WIN7PE.INI Copy ..\MINIPE\WIN7PE.INI %OP%\MINIPE\ /Y>NUL 2>NUL
CALL :LOG
CALL :SUCCESS
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:Pubilc_PE3
If /I NOT Exist %RP%\ProgramData XCOPY ..\BOOT\ZH-CN /E %RP%\BOOT\ZH-CN\ /Y /H /R>NUL 2>NUL
If /I NOT Exist %RP%\ProgramData XCOPY ..\BOOT\FONTS /E %RP%\BOOT\FONTS\ /Y /H /R>NUL 2>NUL
If /I NOT Exist %RP%\BOOT\BCD COPY ..\BOOT\BCD %RP%\BOOT\BCD /Y>NUL 2>NUL
If /I NOT Exist %RP%\ProgramData COPY ..\BOOT\BOOT.SDI %RP%\BOOT\BOOT.SDI /Y>NUL 2>NUL
If /I NOT Exist %RP%\ProgramData COPY ..\BOOT\MEMTEST.EXE %RP%\BOOT\MEMTEST.EXE /Y>NUL 2>NUL
If /I NOT Exist %RP%\ProgramData COPY ..\BOOT\BOOTSECT.EXE %RP%\BOOT\BOOTSECT.EXE /Y>NUL 2>NUL
If /I NOT Exist %RP%\ProgramData COPY ..\BOOT\ETFSBOOT.COM %RP%\BOOT\ETFSBOOT.COM /Y>NUL 2>NUL
XCOPY ..\MINIPE\WIN7PE.WIM %RP%\MINIPE\ /Y /H /R>NUL 2>NUL
If Not Exist %OP%\MINIPE\SOFT.WIM Copy ..\MINIPE\SOFT.WIM %OP%\MINIPE\ /Y>NUL 2>NUL
If Not Exist %OP%\MINIPE\WIN7PE.INI Copy ..\MINIPE\WIN7PE.INI %OP%\MINIPE\ /Y>NUL 2>NUL
IF "%ISUD%"=="1" (
CALL :PE3_U
) Else (
        CALL :XP
)
If /i NOT Exist %RP%\BOOTMGR Copy ..\BOOTMGR %RP%\BOOTMGR /Y>NUL 2>NUL
CALL :LOG
CALL :SUCCESS
Goto :EOF
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:XP
If /I NOT Exist %RP%\ProgramData Copy MYINS\W7LDR %RP%\W7LDR /y>NUL 2>NUL
If /I NOT Exist %RP%\ProgramData %DelATTR% %RP%\BOOT.INI
If /I NOT Exist %RP%\ProgramData If Exist %RP%\BOOT.BAK %DelATTR% %RP%\BOOT.BAK
If /I NOT Exist %RP%\ProgramDataI Copy %RP%\BOOT.INI %RP%\BOOT.BAK>NUL 2>NUL
If /I NOT Exist %RP%\ProgramData Echo %RP%\W7LDR=Windows7 PE3.0>>%RP%\BOOT.INI
%AddATTR% %RP%\MINIPE /S /D
%AddATTR% %RP%\MINIPE\*.* /S /D
%AddATTR% %OP%\MINIPE /S /D
%AddATTR% %OP%\MINIPE\*.* /S /D
If /I NOT Exist %RP%\ProgramData %AddATTR% %RP%\BOOT /S /D
If /I NOT Exist %RP%\ProgramData %AddATTR% %RP%\BOOT\*.* /S /D
If /I NOT Exist %RP%\ProgramData %AddATTR% %RP%\W7LDR
If Exist %RP%\BOOT.INI %AddATTR% %RP%\BOOT.INI
Goto :EOF
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:PE3_U
XCOPY ..\BOOT\GRUB4DOS /E %RP%\BOOT\GRUB4DOS\ /Y /H /R>NUL 2>NUL
Copy MYINS\grldr %RP%\GRLDR /y>NUL 2>NUL
Copy MYINS\menu.lst %RP%\menu.lst /y>NUL 2>NUL
Goto :EOF
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:RAMXP
Set RAMXPDIR=%RP%\ramos.gz
If Exist %RAMXPDIR% Goto Err1
if /i Exist %RP%\ProgramData (
       CALL :Vista_RAM
) Else (
       CALL :Pubilc_RAM
)
Goto :RAMXP
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:Vista_RAM
set WINPE_GUID={2a16f1f0-f610-11de-b8bd-001d0f0e0ef6}
bcdedit /timeout 3 >NUL 2>NUL
bcdedit /create %WINPE_GUID% /d "RamOS XP" /application BOOTSECTOR>NUL 2>NUL
bcdedit /set %WINPE_GUID% device partition=%RP%>NUL 2>NUL
bcdedit /set %WINPE_GUID% path \grldr.mbr>NUL 2>NUL
bcdedit /displayorder %WINPE_GUID% /addlast>NUL 2>NUL
Copy ..\ramos.gz %RP%\ramos.gz /y>NUL 2>NUL
Copy MYINS\grldr.mbr %RP%\grldr.mbr /y>NUL 2>NUL
Copy MYINS\grldr-ram %RP%\grldr /y>NUL 2>NUL
%AddATTR% %RP%\grldr.mbr
%AddATTR% %RP%\grldr
%AddATTR% %RP%\ramos.gz
CLS
Echo.
Echo 已经成功将镜像安装到 %RP% 盘
Echo.
Echo 如果您需要将 RAMXP 卸载,请重新运行本安装程序。
Echo.
Echo.
Echo 请按任意键退出......
PAUSE>NUL 2>NUL
Exit
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:Pubilc_RAM
Copy ..\ramos.gz %RP%\ramos.gz /y>NUL 2>NUL
IF "%ISUD%"=="1" (
CALL :RAM_U
) Else (
        CALL :RAMHD
)
CLS
Echo.
Echo 已经成功将镜像安装到 %RP% 盘
Echo.
Echo 如果您需要将 RAMXP 卸载,请重新运行本安装程序。
Echo.
Echo.
Echo 请按任意键退出......
PAUSE>NUL 2>NUL
Exit
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:RAM_U
XCOPY ..\BOOT\GRUB4DOS /E %RP%\BOOT\GRUB4DOS\ /Y /H /R>NUL 2>NUL
Copy MYINS\grldr %RP%\GRLDR /y>NUL 2>NUL
Copy MYINS\menu.lst %RP%\menu.lst /y>NUL 2>NUL
Goto :EOF
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:RAMHD
Copy MYINS\ramxp %RP%\ramxp /y>NUL 2>NUL
If Exist %RP%\BOOT.INI %DelATTR% %RP%\BOOT.INI
If Exist %RP%\BOOT.INI If Exist %RP%\BOOT.BAK %DelATTR% %RP%\BOOT.BAK
If Exist %RP%\BOOT.INI Copy %RP%\BOOT.INI %RP%\BOOT.BAK>NUL 2>NUL
If Exist %RP%\BOOT.INI TYPE %RP%\BOOT.BAK|FIND /I /V "%RP%\MINIPE">%RP%\BOOT.INI
If Exist %RP%\BOOT.INI Echo %RP%\ramxp=RamOS XP>>%RP%\BOOT.INI
%AddATTR% %RP%\ramos.gz
%AddATTR% %RP%\ramxp
If Exist %RP%\BOOT.INI %AddATTR% %RP%\BOOT.INI
Goto :EOF


[ 本帖最后由 潮退潮生 于 2010-1-2 17:16 编辑 ]
回复

使用道具 举报

3#
 楼主| 发表于 2010-1-1 22:39:13 | 只看该作者
其它的高级使用看X.Nichdlas的多启说明所有文件说明:
\超级启动盘            
//
根文件夹

  bootmgr      


// PE3.0
WIN7系统启动文件

  ramos.gz      

//RAMXP
系统

  PXELINUX.0        
//pxe
启动文件

  
├─BOOT            

//
启动中心,除了EZBOOT一般启动引导的东西全放在这

    bcd           

//PE3.0
WIN7系统启动文件

    BOOT.SDI     

// PE3.0
WIN7系统启动文件

    MEMTEST.EXE      

// PE3.0
WIN7系统启动文件

    BOOTSECT.EXE

//PE3.0
WIN7系统启动文件

   ETFSBOOT.Com

//PE3.0
WIN7系统启动文件

  ├─FONTS           

// PE3.0
WIN7系统启动文件

  ├─ZH-CN        

// PE3.0
WIN7系统启动文件

  ├─DHCP
//DHCP
服务器

  ├─TFTP

//TFTP
服务器

  ├─IMG
//DOS
下启动用的各种IMG 文件   

  ├─ ISOLINUX
//ISOLINUX
引导的启动文件
     
  ├─ SYSLINUX
//SYSLINUX
引导的启动文件
   
  ├─ GFXBOOT        
//GFXBOOT
引导的启动文件

  ├─GRUB4DOS
//GRUB4DOS
引导的启动文件

  ├─PXELINUX
//PXE
网启引导的启动文件

    MGREXE     
// PXE
启动文件

  
PXE2INPE.BIN

//PXE
网启引导的启动文件

  
BOOT2EZBT.BIN
//
光盘的EZBOOT的引导文件

  
BOOT2ISOLINUX.BIN
//
光盘的ISOLINUX的引导文件

  
BOOT2G4D.BIN
//
光盘的GRUB4DOS的引导文件

  
BOOT2GFX.BIN
//
光盘的GFXBOOT的引导文件

  
GRLDRG4D.BIN
//U+
GRUB4DOS的引导文件

  
GRLDRGFX.BIN
//U+
GFXBOOT的引导文件

  
CDLINUX.BIN
//CDLINUX
的引导文件

  
FONT.BIN
//
光盘的中文文件

  
ISXP.BIN
//
全新安装XP的引导文件

  
ISXP.EZB
//
全新安装XP的菜单文件

  
NTDETECT
//PE
NTDETECT.COM

  
XPPE
//XPE
的引导文件

  
INPE
//
全内置版的PE的引导文件,网启也要用到


├─EZBT

//EZBOOT
的启动引导文件
      
├─CDlinux        
//Cdlinux
系统存放处
      
├─SETUP
//PE
安装和一些备用的软件
         
├─GHO
//GHOSTXP
的镜像文件存放处
         
├─MINIPE

//PE
文件存放处     

├─efi
//WIN7
系统文件

├─sources
//WIN7
系统文件

├─support
//WIN7
系统文件

├─upgrade
//WIN7
系统文件

└─setup.exe
//WIN7
全新安装启动程序


[ 本帖最后由 潮退潮生 于 2010-1-2 19:24 编辑 ]
回复

使用道具 举报

4#
 楼主| 发表于 2010-1-2 12:52:34 | 只看该作者
高手都放假回家过年了吗?这么静,只有自己给顶下,我倒找到一处不合理的地方了。
回复

使用道具 举报

5#
发表于 2010-1-2 13:17:06 | 只看该作者
兵兵,看到这么长的批我都怕怕,呵(这种批其实真很花时间)
顶你
回复

使用道具 举报

6#
发表于 2010-1-2 13:27:47 | 只看该作者
一点都不懂,但拿来用.支持清仓全贡献的人!!!!!!!!!!!!
回复

使用道具 举报

7#
发表于 2010-1-2 13:50:20 | 只看该作者
支持,真好要用这个,拿去研究了,呵呵  等闲下来好好看看。先谢过
PUSHD %~dp0这句写到@Echo Off后面启动时更好看些。

[ 本帖最后由 molingjian 于 2010-1-2 13:51 编辑 ]
回复

使用道具 举报

8#
发表于 2010-1-2 14:22:11 | 只看该作者
各个PE,一般全放在MINIPE下,那各个PE中的有同名文件,会不会就被另一个覆盖了?
回复

使用道具 举报

9#
发表于 2010-1-2 14:27:32 | 只看该作者
不错的东西!支持下!
回复

使用道具 举报

10#
 楼主| 发表于 2010-1-2 17:10:15 | 只看该作者
原帖由 xpxpxp1 于 2010-1-2 14:22 发表
各个PE,一般全放在MINIPE下,那各个PE中的有同名文件,会不会就被另一个覆盖了?

不存在你说的这种情况,我的SOFT.WIM是共享的外置。几个PE都用它,包括全内置的PE里也能加载到它。不过只是我自己的,别人的PE的加载方式不同就不行了。也就是那些INI和WIM文件可以用你自己的,但核心的文件名一定要一样,WIN7PE3.0.WIM这个也一定要同名
回复

使用道具 举报

11#
 楼主| 发表于 2010-1-2 17:14:58 | 只看该作者
原帖由 molingjian 于 2010-1-2 13:50 发表
支持,真好要用这个,拿去研究了,呵呵  等闲下来好好看看。先谢过
PUSHD %~dp0这句写到@Echo Off后面启动时更好看些。

多谢,有点实质性的收获,
回复

使用道具 举报

12#
发表于 2010-1-3 11:15:20 | 只看该作者
不会吧,这么强大的啊!!
回复

使用道具 举报

13#
 楼主| 发表于 2010-1-4 00:20:22 | 只看该作者
一个和PE有关的光盘和批处理搬到这里,真是想不到啊
回复

使用道具 举报

14#
发表于 2011-4-24 07:14:18 | 只看该作者
有人从新传一份吗?多谢啊!
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-12-1 10:06

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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