无忧启动论坛

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

关于安装PE到VISTA系统的方法,我来总结一下

[复制链接]
跳转到指定楼层
1#
发表于 2008-2-16 13:09:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
复制文件的我就不说了,主要的问题就是如何给VISTA添加启动菜单。根据lianjiang的那个批处理的启发。
原理:使用Vista系统自带的bcdedit命令。具体的命令可以看它的帮助菜单 bcdedit /?

主要是用批处理实现的,下面是安装批处理(以我的通用PE工具箱为例,要看效果,这里有下载:http://www.ton6.cn/viewthread.php?tid=536&extra=page%3D1)。同时把启动菜单的标识符 ID保存到一个%windir%\pevid.ini文件里,方便修改,这个标识符 ID是自动生成的,不纪录不行,删除启动项的时候必须用这个标识符 ID删除。


@echo off
COLOR f9
set vid=
set timeout=5  //这里等待时间

set gname=通用PE工具箱 //你的启动项
set gname2=\PELOAD  //这里你的引导文件,加上"\"
TITLE 设置通用PE工具箱的Vista引导
bcdedit >temp_bcd.txt
type temp_bcd.txt | find "Windows Boot Manager" >nul && goto bcd_1
goto exit

:bcd_1
bcdedit >temp_bcd.txt
type temp_bcd.txt | find "%gname2%" >nul && goto un_bcd_1
bcdedit   /create /d "%gname%" /application bootsector >%windir%\pevid.ini
for,/f,"tokens=2 delims={",%%i,In (%windir%\pevid.ini) Do (
               set vida=%%i
)
for,/f,"tokens=1 delims=}",%%i,In ("%vida%") Do (
               set vid={%%i}
)
echo %vid%>%windir%\pevid.ini
bcdedit   /set %vid% device partition=%systemdrive%   >nul
bcdedit   /set %vid% path %gname2% >nul
bcdedit   /displayorder %vid% /addlast >nul
bcdedit   /timeout   %timeout% >nul
goto exit

:un_bcd_1
for,/f,"tokens=1",%%i,In (%windir%\pevid.ini) Do (
                set vid=%%i
)
bcdedit /delete %vid% /cleanup >nul
del %windir%\pevid.ini
goto bcd_1

:exit
del temp_bcd.txt


下面是卸载程式:


@echo off
COLOR f9
set vid=
set gname2=\PELOAD
TITLE 删除通用PE工具箱的Vista引导
bcdedit >%windir%\temp_bcd.txt
type %windir%\temp_bcd.txt | find "Windows Boot Manager" >nul && goto un_bcd_1
del %windir%\temp_bcd.txt

:un_bcd_1
for,/f,"tokens=1",%%i,In (%windir%\pevid.ini) Do (
                set vid=%%i
)
bcdedit /delete %vid% /cleanup >nul
del %windir%\pevid.ini
del %windir%\temp_bcd.txt
del %windir%\unpeboot.cmd
2#
发表于 2008-2-16 13:19:21 | 只看该作者
谢谢!直接给个911版的就更好了!
回复

使用道具 举报

3#
发表于 2008-2-16 13:28:29 | 只看该作者
不错,这个帖子早点出来就好了,找得我好苦...

对了,获得ID的代码是不是可以参照小小强的精简下?
回复

使用道具 举报

4#
发表于 2008-2-16 13:31:32 | 只看该作者
最好楼主,再顺便修改下毛桃的安装程序里的那个Vista安装...毛桃的那个不地道...


  1. :Vista
  2. Set PEDIR=%RP%\MiniPE
  3. If Exist %RP%\MAOTAO Goto Err1
  4. If Exist %PEDIR% Goto Err1
  5. Echo.&&Echo.
  6. Echo    正在复制文件,请稍候 。。。
  7. If Exist %RP%\NTLDR %DelATTR% %RP%\NTLDR&&Ren %RP%\NTLDR NTLDR.BAK
  8. Set NoLDR=Yes
  9. If "%NoLDR%"=="Yes" MyIns\MyIns.exe e MyIns\MyIns.dll -o%RP% LDRXPE -r -y>NUL 2>NUL
  10. MyIns\MyIns.exe e MyIns\MyIns.dll -o%PEDIR% PE -r -y>NUL 2>NUL
  11. If "%NoLDR%"=="Yes" Ren %RP%\LDRXPE NTLDR
复制代码

加上你的代码,再加上添加额外的文件代码及修改Vista下的卸载程式....
回复

使用道具 举报

5#
发表于 2008-2-16 13:32:54 | 只看该作者
那些文件在MYINS.DLL里有
回复

使用道具 举报

6#
 楼主| 发表于 2008-2-16 13:34:38 | 只看该作者
LS给我发一份`我好修改。
回复

使用道具 举报

7#
 楼主| 发表于 2008-2-16 13:36:48 | 只看该作者
for,/f,"tokens=1 delims=}",%%i,In ("%vida%") Do (
               set vid={%%i}
)
可以改成   set vid={vidi}
回复

使用道具 举报

8#
发表于 2008-2-16 14:04:21 | 只看该作者
原帖由 uepon 于 2008-2-16 01:34 PM 发表
LS给我发一份`我好修改。

我随便修改了下小小强的,没有认真遵行毛桃的风格


  1. @echo off
  2. SET TP=%~dp0
  3. SET TP=%TP:~0,-1%
  4. SET BAKPATH=%SYSTEMDRIVE%\BOOT\BCDBAK.BAK
  5. SET INFO=WinPe工具箱
  6. SET MBRP=\NTLDR
  7. SET LDRP=C:\ZJQPE
  8. color 2f
  9. IF NOT EXIST "C:\boot\BCD" (
  10. cls
  11. echo.
  12. echo.
  13. echo    文件C:\boot\BCD不存在,你没有安装Vista,程序无法继续。
  14. echo    按任意键退出。。。。。。
  15. echo.
  16. pause>nul
  17. goto end
  18. )
  19. cd /d "%TP%"

  20. :install
  21. cls
  22. echo                  安装PE引导环境到Windows Vista
  23. echo.                  
  24. echo    ===========================================================
  25. echo 即将进行安装,按任意键继续
  26. pause>nul 2>nul
  27. bcdedit.exe /enum all | find "%MBRP%" && goto installed
  28. IF NOT EXIST "%BAKPATH%" start /wait bcdedit.exe /export "%BAKPATH%"
  29. for /f "tokens=2 delims={}" %%i in ('bcdedit.exe /create /d "%INFO%" /application bootsector') do SET CLASSID=%%i
  30. IF "%CLASSID%"=="" GOTO createerr
  31. SET CLASSID={%CLASSID%}
  32. ECHO %CLASSID%>%SYSTEMDRIVE%\BOOT\CLASSID_BK.INI
  33. bcdedit.exe /set %CLASSID% device boot >nul
  34. bcdedit.exe /set %CLASSID% path %MBRP% >nul
  35. bcdedit.exe /displayorder %CLASSID% /addlast >nul
  36. bcdedit.exe /timeout 3 >nul
  37. attrib +h +s +r %LDRP% >nul 2>nul
  38. echo.
  39. echo    安装完成,按任意键退出。。。。。。
  40. echo.
  41. pause>nul 2>nul
  42. goto end

  43. :installed
  44. echo.
  45. echo    本机已经安装过PE,请先卸载!按任意键进行卸载,关闭退出
  46. pause>nul
  47. for /f %%i in (%SYSTEMDRIVE%\BOOT\CLASSID_BK.INI) do set CID=%%i
  48. bcdedit /delete %CID%
  49. goto install


  50. :createerr
  51. echo.
  52. echo    创建BCD项错误,安装无法继续!
  53. echo    按任意键退出。。。。。。
  54. echo.
  55. pause>nul
  56. goto end

  57. :end
  58. echo on
  59. exit
复制代码
回复

使用道具 举报

9#
发表于 2008-2-16 14:06:53 | 只看该作者
原帖由 uepon 于 2008-2-16 01:34 PM 发表
LS给我发一份`我好修改。


这是毛桃的修改版本,里面增加了个再利用选项

就是当PE被安装在U盘里了,还可以继续利用U盘里的PE再进行安装到别的媒体

现在,需要的是修改毛桃那个Vista的安装选项功能了....李大侠来搞吧


  1. @Echo Off
  2. COLOR 2F
  3. Set Prog=        WinPE 专用安装工具     
  4. Set L1=      ╭══════════════════╮
  5. Set L2=      ║                  ║
  6. Set L3=   ╭══┤ %Prog%  ├══╮
  7. Set L4=   ║  ║                  ║  ║
  8. Set L5=   ║  ╰══════════════════╯  ║
  9. Set L6=   ║                        ║
  10. Set L7=   ╟════════════════════════╢
  11. Set L8=   ║                                              ║
  12. Set L9=   ╰────────────────────────╯
  13. Title %Prog%
  14. FOR /F "delims=" %%I in (%0) do Set CP=%%~dpI
  15. Set SetupINIFile=PESetup.INI
  16. Set PEFile=MiniPE\WinPE.IS_
  17. Set PEIni=MiniPE\WinPE.INI
  18. Set LogFile=PEInstall.log
  19. If Not Exist .\PESETUP.INI Goto Err0
  20. For /F "tokens=2 delims=^=" %%I In ('FIND /I ^"外置程序包^" .\%SetupINIFile%') DO Set OPFile=MiniPE\%%I
  21. Set AddATTR=ATTRIB +S +H +R
  22. Set DelATTR=ATTRIB -S -H -R
  23. :Start
  24. CLS
  25. Title %Prog%——安装
  26. Echo.
  27. Echo %L1%
  28. Echo %L2%
  29. Echo %L3%
  30. Echo %L4%
  31. Echo %L5%
  32. Echo %L6%
  33. Echo    ║  请选择安装方式:               ║
  34. Echo %L6%
  35. Echo    ║  [1] 普通安装/启动 (硬盘安装)        ║
  36. Echo    ║  [2] Grub安装/启动 (硬盘安装,支持 MD5 密码) ║
  37. Echo    ║  [3] Aero安装/启动 (硬盘安装,支持密码)   ║
  38. Echo    ║  [4] Grub安装/启动 (U 盘、移动硬盘安装)   ║
  39. Echo    ║  [Q] 退出安装                ║
  40. Echo %L6%
  41. Echo %L7%
  42. Echo    ║ 注意: Aero 安装项只适合系统分区在(HD0,0)分区 ║
  43. Echo %L7%
  44. Echo %L8%
  45. Echo %L9%
  46. Echo.
  47. Set Choice=
  48. Set /P Choice=   请选择要进行的操作 (1/2/3/4/Q) ,然后按回车:
  49. If "%Choice%"=="" Goto Start
  50. If Not "%Choice%"=="" Set Choice=%Choice:~0,1%
  51. If /I "%Choice%"=="1" Goto HD
  52. If /I "%Choice%"=="2" Goto HD
  53. If /I "%Choice%"=="3" Goto HD
  54. If /I "%Choice%"=="4" Goto UD
  55. If /I "%Choice%"=="Q" Exit
  56. Goto Start
  57. :HD
  58. Set RP=
  59. For %%I In (Z Y X W V U T S R Q P O N M L K J I H G F E D C) Do If Exist %%I:\BOOT.INI Set RP=%%I:
  60. If "%RP%"=="" Goto HDRPErr
  61. Set PEDIR=%RP%\MiniPE&&Set TargetP=硬盘&&Set TxtSp=
  62. If Exist %PEDIR% Goto Err1
  63. FIND /I "C:\MAOTAO" %RP%\BOOT.INI>NUL 2>NUL
  64. If "%Errorlevel%"=="0" Goto Err1
  65. FIND /I "C:\MiniPE" %RP%\BOOT.INI>NUL 2>NUL
  66. If "%Errorlevel%"=="0" Goto Err1
  67. bootcfg /timeout 0 >NUL 2>NUL
  68. If /I "%Choice%"=="1" Goto Install
  69. If /I "%Choice%"=="2" Goto GInstall
  70. If /I "%Choice%"=="3" Goto AInstall
  71. Goto HD
  72. :UD
  73. CLS
  74. Title %Prog%——U 盘安装
  75. For /F "skip=2 tokens=*" %%I In ('MYINS\CHECKUSB.EXE') DO SET Us=%%I
  76. If "%Us%"=="当前可移动磁盘分区:" Goto NoUD
  77. Echo %Us%&&Echo.
  78. If "%NoUD%"=="Yes" Echo 错误:您设定的分区 %RP% 不存在、写保护、未格式化或不是 U 盘分区,请按任意键重新设定。&&Echo.
  79. Set /P RP=请选择您的 U 盘盘符(不需要冒号,例如 F):
  80. Echo.&&Echo.
  81. If "%RP%"=="" Goto UD
  82. If Not "%RP%"=="" Set RP=%RP:~0,1%:
  83. For /F %%I In ('MYINS\CHECKUSB.EXE %RP%') DO SET Err2=%%I
  84. If Not "%Err2%"=="1" Set NoUD=Yes&&Goto UD
  85. Set TestFile=%RP%\MiniPETest_%RANDOM%.MT
  86. Cd.>%TestFile%
  87. If Not Exist %TestFile% Set NoUD=Yes&&Goto UD
  88. FOR /F "delims=" %%I in (%0) do Set TP=%%~dI
  89. Del %TestFile% /Q>NUL 2>NUL
  90. for %%i in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do call set rp=%%rp:%%i=%%i%%
  91. If Not "%RP%"=="" Set RP=%RP:~0,1%:
  92. if "%TP%"=="%RP%" goto DBU
  93. Set U=U&&Set PEDIR=%RP%\MiniPE&&Set TargetP= U 盘&&Set TxtSp=
  94. If Exist %RP%\MAOTAO Goto Err1
  95. If Exist %PEDIR% Goto Err1
  96. CLS
  97. Echo 您选择的 U 盘分区为 %RP%,下面将对您的 U 盘进行格式化并写入引导
  98. Echo.
  99. Echo 请严格按照相关工具软件界面中的提示操作,以防出错。请按任意键开始。。。
  100. PAUSE>NUL
  101. Start /Wait MYINS\HPUSBFW.EXE
  102. Start /Wait MYINS\GRUBGUI.EXE
  103. cls
  104. echo 请稍候,正在安装中......
  105. Echo.
  106. md %rp%\SETUP\MYINS  >NUL 2>NUL
  107. md %rp%\MINIPE       >NUL 2>NUL
  108. md %rp%\SETUP\TOOLS  >NUL 2>NUL
  109. copy myins\aero.sys %rp%\setup\myins     >NUL 2>NUL
  110. copy myins\checkusb.exe %rp%\setup\myins >NUL 2>NUL
  111. copy myins\grubgui.exe %rp%\setup\myins  >NUL 2>NUL
  112. copy myins\grubinst.exe %rp%\setup\myins >NUL 2>NUL
  113. copy myins\hpusbfw.exe %rp%\setup\myins  >NUL 2>NUL
  114. copy myins\md5.exe %rp%\setup\myins      >NUL 2>NUL
  115. copy myins\myins.dll %rp%\setup\myins    >NUL 2>NUL
  116. copy myins\myins.exe %rp%\setup\myins    >NUL 2>NUL
  117. copy myins\ntboot.exe %rp%\setup\myins   >NUL 2>NUL
  118. copy pesetup.ini %rp%\setup              >NUL 2>NUL
  119. copy pesetup.cmd %rp%\setup              >NUL 2>NUL
  120. copy tools\BMP2COVE.exe %rp%\setup\tools >NUL 2>NUL
  121. copy tools\WIMTOOL.EXE %rp%\setup\tools  >NUL 2>NUL
  122. copy tools\MD5CRYPT.rar %rp%\setup\tools >NUL 2>NUL
  123. copy tools\WIMFS.exe %rp%\setup\tools    >NUL 2>NUL
  124. copy tools\WIMGAPI.DLL %rp%\setup\tools  >NUL 2>NUL
  125. copy tools\WIMGAPI.PAS %rp%\setup\tools  >NUL 2>NUL
  126. cls
  127. echo.
  128. Echo 您的 U 盘已经成功格式化并写入了 Grub 引导,请按任意键继续......
  129. PAUSE>NUL
  130. Goto GInstall
  131. :DBU
  132. echo ------------------------------------------------------------------
  133. ECHO 您选择的安装盘符与目标盘符重复,不需要再安装。请选择其它的安装方式
  134. echo ------------------------------------------------------------------
  135. pause
  136. goto start
  137. :NoUD
  138. CLS
  139. Title %Prog%——U 盘安装
  140. Echo.
  141. Echo %L1%
  142. Echo %L2%
  143. Echo %L3%
  144. Echo %L4%
  145. Echo %L5%
  146. Echo %L6%
  147. Echo    ║ 您的计算机似乎没有安装 U 盘,您想怎么办?   ║
  148. Echo %L6%
  149. Echo    ║  [B] 返回首页,重新选择安装选项。      ║
  150. Echo    ║  [Q] 退出安装                ║
  151. Echo %L6%
  152. Echo %L7%
  153. Echo %L8%
  154. Echo %L9%
  155. Echo.
  156. Set Choice=
  157. Set /P Choice=   请选择要进行的操作 (B/Q) ,然后按回车:
  158. If "%Choice%"=="" Goto NoUD
  159. If Not "%Choice%"=="" Set Choice=%Choice:~0,1%
  160. If /I "%Choice%"=="B" Goto Start
  161. If /I "%Choice%"=="Q" Exit
  162. Goto NoUD
  163. Exit
  164. :Err0
  165. Echo 错误:安装配置文件丢失!&&Echo.
  166. Echo 请确认安装配置文件 %SetupINIFile% 存在或到本程序所在目录执行安装。&&Echo.
  167. Echo 请按任意键退出安装程序。。。
  168. PAUSE>NUL
  169. Exit
  170. :Err1
  171. CLS
  172. Title %Prog%——卸载
  173. Echo.
  174. Echo %L1%
  175. Echo %L2%
  176. Echo %L3%
  177. Echo %L4%
  178. Echo %L5%
  179. Echo %L6%
  180. Echo    ║ 您的%TargetP%中好像已经安装了 WinPE,您想怎么办?%TxtSp% ║
  181. Echo %L6%
  182. Echo    ║  [1] 卸载原有的 WinPE,并且重新安装。    ║
  183. Echo    ║  [2] 卸载原有的 WinPE,并且不再安装。    ║
  184. Echo    ║  [B] 返回首页,重新选择安装选项。      ║
  185. Echo    ║  [Q] 退出安装                ║
  186. Echo %L6%
  187. Echo %L7%
  188. Echo %L8%
  189. Echo %L9%
  190. Echo.
  191. Set Choice=
  192. Set /P Choice=   请选择要进行的操作 (1/2/B/Q) ,然后按回车:
  193. If "%TargetP%"=="硬盘" Set U=
  194. If "%Choice%"=="" Goto Err1
  195. If Not "%Choice%"=="" Set Choice=%Choice:~0,1%
  196. If /I "%Choice%"=="1" Set Choi=1&&Goto UnInstall
  197. If /I "%Choice%"=="2" Goto UnInstall
  198. If /I "%Choice%"=="B" Goto Start
  199. If /I "%Choice%"=="Q" Exit
  200. Goto Err1
  201. Exit
  202. :UnInstall
  203. If Exist %RP%\LDRXPE %DelATTR% %RP%\LDRXPE&&Del %RP%\LDRXPE /Q>NUL 2>NUL
  204. If Exist %RP%\WINNT.XPE %DelATTR% %RP%\WINNT.XPE&&Del %RP%\WINNT.XPE /Q>NUL 2>NUL
  205. If Exist %RP%\MTLDR.PE %DelATTR% %RP%\MTLDR.PE&&Del %RP%\MTLDR.PE /Q>NUL 2>NUL
  206. If Exist %RP%\MTLDR %DelATTR% %RP%\MTLDR&&Del %RP%\MTLDR /Q>NUL 2>NUL
  207. If Exist %RP%\%LogFile% For /F "eol=; tokens=2 delims=^=" %%i In ('find /I ^"WinPE外挂位置^" %RP%\%LogFile%') do SET OPD=%%i
  208. If Not "%U%"=="" Set OPD=%RP%
  209. If Exist %OPD%\外置程序 RD %OPD%\外置程序 /S /Q>NUL 2>NUL
  210. If Exist %RP%\%LogFile% %DelATTR% %RP%\%LogFile%&&Del %RP%\%LogFile% /Q>NUL 2>NUL
  211. If Exist %RP%\MAOTAO RD %RP%\MAOTAO /S /Q>NUL 2>NUL
  212. If Exist %RP%\MiniPE RD %RP%\MiniPE /S /Q>NUL 2>NUL
  213. %DelATTR% %RP%\BOOT.INI>NUL 2>NUL
  214. Set TMPINIFile=BOOT_%RANDOM%.INI
  215. If Exist %RP%\BOOT.BAK (
  216. %DelATTR% %RP%\BOOT.BAK
  217. TYPE %RP%\BOOT.BAK|FIND /I /V "C:\MAOTAO">%RP%\%TMPINIFile%
  218. TYPE %RP%\%TMPINIFile%|FIND /I /V "C:\MiniPE">%RP%\BOOT.INI
  219. ) Else (
  220. If Exist %RP%\BOOT.INI TYPE %RP%\BOOT.INI|FIND /I /V "C:\MAOTAO">%RP%\%TMPINIFile%
  221. If Exist %RP%\%TMPINIFile% TYPE %RP%\%TMPINIFile%|FIND /I /V "C:\MiniPE">%RP%\BOOT.INI
  222. )
  223. If Exist %RP%\BOOT.BAK %DelATTR% %RP%\BOOT.BAK&&Del %RP%\BOOT.BAK>NUL 2>NUL
  224. If Exist %RP%\%TMPINIFile% %DelATTR% %RP%\%TMPINIFile%&&Del %RP%\%TMPINIFile%>NUL 2>NUL
  225. If Exist %RP%\BOOT.INI %AddATTR% %RP%\BOOT.INI
  226. Set RP=
  227. Title %Prog%——卸载完成
  228. If "%Choi%"=="1" (Echo.&&Echo.&&Echo    卸载完成,请按任意键准备安装 。。。&&PAUSE>NUL 2>NUL&&Goto Start)
  229. Echo.&&Echo.&&Echo    卸载完成,请按任意键退出 。。。
  230. PAUSE>NUL 2>NUL
  231. Exit
  232. :Install
  233. Title %Prog%——普通安装
  234. If Not Exist %PEDIR% MD %PEDIR%>NUL 2>NUL
  235. If Exist %RP%\LDRXPE %DelATTR% %RP%\LDRXPE
  236. If Exist %RP%\WINNT.XPE %DelATTR% %RP%\WINNT.XPE
  237. Echo.&&Echo    正在复制文件,请稍候 。。。
  238. MyIns\MyIns.exe e MyIns\MyIns.dll -o%PEDIR% MAOTAO.BIN -r -y>NUL 2>NUL
  239. MyIns\MyIns.exe e MyIns\MyIns.dll -o%PEDIR% PE -r -y>NUL 2>NUL
  240. Call :CopyAndSetFiles
  241. Goto SUCCESS
  242. :GInstall
  243. If "%U%"=="" Title %Prog%——Grub安装
  244. CLS
  245. Set LDRP=MiniPE\
  246. Echo 请输入您要设定的密码
  247. Echo 注意:密码中不许有空格、""、引号等特殊字符
  248. Echo.
  249. Set /P Pass1=请输入:
  250. If "%Pass1%"=="" Goto GInstall
  251. Echo.&&Echo.
  252. Echo 请再一次输入您的密码
  253. Echo.
  254. Set /P Pass2=请再次输入:
  255. If "%Pass2%"=="" Goto GInstall
  256. If Not "%Pass2%"=="%Pass1%" Echo.&&Echo 您两次输入的密码不一致,请重新输入&&Echo 请按任意键重新开始设置密码&&PAUSE>NUL 2>NUL&&Goto GInstall
  257. If Not Exist %PEDIR% MD %PEDIR%>NUL 2>NUL
  258. >%PEDIR%\MD5P.TMP <nul Set/p=%Pass2%
  259. MYINS\MD5.EXE %PEDIR%\MD5P.TMP %PEDIR%\MD5R.TXT>NUL 2>NUL
  260. For /f %%i In ('type %PEDIR%\md5r.txt') do SET MD5Pass=password --md5 %%i
  261. MyIns\MyIns.exe e MyIns\MyIns.dll -o%RP% MTLDR -r -y>NUL 2>NUL
  262. >>%RP%\MTLDR Echo %MD5Pass%
  263. >>%RP%\MTLDR Echo fontfile /minipe/muifont.gz
  264. >>%RP%\MTLDR Echo splashimage /minipe/bj2008.xpm.gz
  265. >>%RP%\MTLDR Echo.
  266. >>%RP%\MTLDR Echo title WinPE 迷你维护系统
  267. >>%RP%\MTLDR Echo %MD5Pass%
  268. >>%RP%\MTLDR Echo chainloader /minipe/ldrxpe
  269. >>%RP%\MTLDR Echo.
  270. >>%RP%\MTLDR Echo title Grub 命令行
  271. >>%RP%\MTLDR Echo %MD5Pass%
  272. >>%RP%\MTLDR Echo commandline
  273. >>%RP%\MTLDR Echo.
  274. >>%RP%\MTLDR Echo title 从第一硬盘第一分区启动
  275. >>%RP%\MTLDR Echo root ^(hd0,0^)
  276. >>%RP%\MTLDR Echo chainloader +1
  277. >>%RP%\MTLDR Echo.
  278. >>%RP%\MTLDR Echo title 从第二硬盘第一分区启动
  279. >>%RP%\MTLDR Echo root ^(hd1,0^)
  280. >>%RP%\MTLDR Echo chainloader ^(hd1,0^)+1
  281. >>%RP%\MTLDR Echo.
  282. >>%RP%\MTLDR Echo title 重新启动计算机
  283. >>%RP%\MTLDR Echo reboot
  284. >>%RP%\MTLDR Echo.
  285. >>%RP%\MTLDR Echo title 关闭计算机
  286. >>%RP%\MTLDR <nul Set/p=halt
  287. Del %PEDIR%\MD5?.* /Q>NUL 2>NUL
  288. cls
  289. Echo.
  290. Echo 密码设置完成,请牢记您的密码,并按任意键继续 。。。
  291. PAUSE>NUL 2>NUL
  292. If Exist %RP%\LDRXPE %DelATTR% %RP%\LDRXPE
  293. If Exist %RP%\WINNT.XPE %DelATTR% %RP%\WINNT.XPE
  294. If Exist %RP%\MTLDR %DelATTR% %RP%\MTLDR  
  295. Echo.
  296. Echo 正在复制文件,请稍候 。。。
  297. MyIns\MyIns.exe e MyIns\MyIns.dll -o%PEDIR% BJ2008.XPM.GZ -r -y >NUL 2>NUL
  298. MyIns\MyIns.exe e MyIns\MyIns.dll -o%PEDIR% muifont.gz -r -y    >NUL 2>NUL
  299. If "%U%"=="" MyIns\MyIns.exe e MyIns\MyIns.dll -o%PEDIR%\ maotaog.bin -r -y   >NUL 2>NUL
  300. MyIns\MyIns.exe e MyIns\MyIns.dll -o%PEDIR% PE -r -y  >NUL 2>NUL
  301. If "%U%"=="" Ren %PEDIR%\maotaog.bin maotao.bin  >NUL 2>NUL
  302. Call :CopyAndSetFiles
  303. Goto SUCCESS
  304. :AInstall
  305. Title %Prog%——Aero安装
  306. CLS
  307. Echo 请输入您要设定的密码
  308. Echo 注意:密码中不许有空格、""、引号等特殊字符
  309. Echo.
  310. Set /P Pass1=请输入:
  311. If "%Pass1%"=="" Goto AInstall
  312. Echo.&&Echo.
  313. Echo 请再一次输入您的密码
  314. Echo.
  315. Set /P Pass2=请再次输入:
  316. If "%Pass2%"=="" Goto AInstall
  317. If Not "%Pass2%"=="%Pass1%" Echo.&&Echo 您两次输入的密码不一致,请重新输入&&Echo 请按任意键重新开始设置密码&&PAUSE>NUL 2>NUL&&Goto AInstall
  318. If Not Exist %PEDIR% MD %PEDIR%>NUL 2>NUL
  319. For /f %%i In (MyIns\Aero.sys) Do MyIns\MyIns.exe e MyIns\MyIns.dll -o%PEDIR% %%i -r -y>NUL 2>NUL
  320. Ren %PEDIR%\maotao.bin avldr.xpe
  321. Ren %PEDIR%\maotaoa.bin maotao.bin
  322. >%PEDIR%\airL.gz <nul Set/p=%Pass2%
  323. Copy /B %PEDIR%\airT.gz+%PEDIR%\airL.gz+%PEDIR%\airW.gz %PEDIR%\airmenu.ini>NUL 2>NUL&&Del %PEDIR%\air?.gz /Q>NUL 2>NUL>NUL 2>NUL
  324. MyIns\MyIns.exe a -tGZip %PEDIR%\airmenu.gz %PEDIR%\airmenu.ini -w%PEDIR%>NUL 2>NUL&&Del %PEDIR%\airmenu.ini /Q>NUL 2>NUL&&Ren %PEDIR%\airmenu.gz airmenu.ini>NUL 2>NUL
  325. cls
  326. Echo.
  327. Echo 密码设置完成,请牢记您的密码,并按任意键继续 。。。
  328. PAUSE>NUL 2>NUL
  329. If Exist %RP%\LDRXPE %DelATTR% %RP%\LDRXPE
  330. If Exist %RP%\WINNT.XPE %DelATTR% %RP%\WINNT.XPE
  331. Echo.
  332. Echo 正在复制文件,请稍候 。。。
  333. MOVE %PEDIR%\MTLDR.PE %RP%\>NUL 2>NUL
  334. Call :CopyAndSetFiles
  335. Goto SUCCESS
  336. :HDRPErr
  337. CLS
  338. Set RP=
  339. For %%I In (Z Y X W V U T S R Q P O N M L K J I H G F E D C) Do If Exist %%I:\BootMGR Set RP=%%I:&&Set PEDIR=%%I:\MiniPE
  340. If Not "%RP%"=="" (
  341. TITLE %Prog%——检测到 Windows Vista 分区
  342. Set OPT=Vista&&Set OPT0=存在 WinVista 分区&&Set OPT1=[I] 将 WimPE 安装到 Windows Vista 分区。
  343. ) Else (
  344. TITLE %Prog%——没有检测到系统分区
  345. Set OPT=NewHD&&Set OPT0=没有安装过操作系统&&Set OPT1=[I] 全新硬盘,将 WimPE 安装到活动分区。
  346. )
  347. Echo.
  348. Echo %L1%
  349. Echo %L2%
  350. Echo %L3%
  351. Echo %L4%
  352. Echo %L5%
  353. Echo %L6%
  354. Echo    ║ 好像您的机器中%OPT0%,您想怎么办?║
  355. Echo %L6%
  356. Echo    ║  %OPT1%  ║
  357. Echo    ║  [B] 返回首页,重新选择安装选项。      ║
  358. Echo    ║  [Q] 退出安装                ║
  359. Echo %L6%
  360. Echo    ║ 注意: 为确保安全,此安装选项可能会卸载不干净!║
  361. Echo %L7%
  362. Echo %L8%
  363. Echo %L9%
  364. Echo.
  365. Set Choice=
  366. Set /P Choice=   请选择要进行的操作 (I/B/Q) ,然后按回车:
  367. If "%Choice%"=="" Goto HDRPErr
  368. If Not "%Choice%"=="" Set Choice=%Choice:~0,1%
  369. If /I "%Choice%"=="I" If "%OPT%"=="Vista" Goto Vista
  370. If /I "%Choice%"=="I" If "%OPT%"=="NewHD" Goto NewHD
  371. If /I "%Choice%"=="B" Goto Start
  372. If /I "%Choice%"=="Q" Exit
  373. Goto HDRPErr
  374. Exit
  375. :Vista
  376. Set PEDIR=%RP%\MiniPE
  377. If Exist %RP%\MAOTAO Goto Err1
  378. If Exist %PEDIR% Goto Err1
  379. Echo.&&Echo.
  380. Echo    正在复制文件,请稍候 。。。
  381. If Exist %RP%\NTLDR %DelATTR% %RP%\NTLDR&&Ren %RP%\NTLDR NTLDR.BAK
  382. Set NoLDR=Yes
  383. If "%NoLDR%"=="Yes" MyIns\MyIns.exe e MyIns\MyIns.dll -o%RP% LDRXPE -r -y>NUL 2>NUL
  384. MyIns\MyIns.exe e MyIns\MyIns.dll -o%PEDIR% PE -r -y>NUL 2>NUL
  385. If "%NoLDR%"=="Yes" Ren %RP%\LDRXPE NTLDR
  386. Call :CopyAndSetFiles
  387. Goto SUCCESS
  388. :NewHD
  389. CLS
  390. TITLE %Prog%——在全新硬盘中安装
  391. If "%NoNewErr%"=="Yes" Echo 错误:您设定的分区 %RP% 不存在、写保护、或未格式化,请按任意键重新设定。&&Echo.
  392. Echo 请设置您需要安装 WinPE 到哪个分区(注意一定要是活动分区)
  393. Echo.
  394. Set /P RP=请输入您需要安装 WinPE 的分区符(不需要冒号,例如 C),然后按回车:
  395. Echo.&&Echo.
  396. If "%RP%"=="" Goto NewHD
  397. If Not "%RP%"=="" Set RP=%RP:~0,1%:
  398. For /F %%I In ('MYINS\CHECKUSB.EXE %RP%') DO SET Err2=%%I
  399. If Not Exist %RP% Set NoNewErr=Yes&&Goto NewHD
  400. Set TestFile=%RP%\MiniPETest_%RANDOM%.MT
  401. Cd.>%TestFile%
  402. If Not Exist %TestFile% Set NoNewErr=Yes&&Goto NewHD
  403. Del %TestFile% /Q>NUL 2>NUL
  404. Set PEDIR=%RP%\MiniPE
  405. If Exist %RP%\MAOTAO Goto Err1
  406. If Exist %PEDIR% Goto Err1
  407. MyIns\NTBoot.exe %RP% >NUL
  408. Echo.
  409. Echo 正在复制文件,请稍候 。。。
  410. If Exist %RP%\NTLDR %DelATTR% %RP%\NTLDR&&Ren %RP%\NTLDR NTLDR.BAK
  411. Set NoLDR=Yes
  412. If "%NoLDR%"=="Yes" MyIns\MyIns.exe e MyIns\MyIns.dll -o%RP% LDRXPE -r -y>NUL 2>NUL
  413. MyIns\MyIns.exe e MyIns\MyIns.dll -o%PEDIR% PE -r -y>NUL 2>NUL
  414. If "%NoLDR%"=="Yes" Ren %RP%\LDRXPE NTLDR
  415. Call :CopyAndSetFiles
  416. Goto SUCCESS
  417. :CopyAndSetFiles
  418. If Not Exist %RP%\NTLDR MyIns\MyIns.exe e MyIns\MyIns.dll -o%RP% NTLDR -r -y >NUL 2>NUL
  419. If "%U%"=="" For /F %%i In ("%RP%\NTLDR") Do If %%~zi LSS 250000 Set SysVer=2K >NUL 2>NUL
  420. If "%NoLDR%"=="" MyIns\MyIns.exe e MyIns\MyIns.dll -o%RP%\%LDRP% LDRXPE -r -y >NUL 2>NUL
  421. MyIns\MyIns.exe e MyIns\MyIns.dll -o%PEDIR% NTCOM -r -y>NUL 2>NUL            >NUL 2>NUL
  422. ::If Not Exist %RP%\NTLDR MyIns\MyIns.exe e MyIns\MyIns.dll -o%RP% NTLDR -r -y  >NUL 2>NUL
  423. echo.
  424. Copy ..\%PEFile% %PEDIR% /Y /Z
  425. Copy ..\%OPFile% %PEDIR% /Y /Z
  426. Copy ..\%PEIni% %PEDIR% /Y  /Z
  427. If "%U%"=="" If Exist %RP%\BOOT.INI %DelATTR% %RP%\BOOT.INI
  428. If "%U%"=="" If Exist %RP%\BOOT.INI If Exist %RP%\BOOT.BAK %DelATTR% %RP%\BOOT.BAK
  429. If "%U%"=="" If Exist %RP%\BOOT.INI Copy %RP%\BOOT.INI %RP%\BOOT.BAK>NUL 2>NUL
  430. If "%U%"=="" If Exist %RP%\BOOT.INI TYPE %RP%\BOOT.BAK|FIND /I /V "C:\MiniPE">%RP%\BOOT.INI
  431. If "%U%"=="" If Exist %RP%\BOOT.INI Echo C:\MiniPE\MAOTAO.BIN="WinPE">>%RP%\BOOT.INI
  432. If /I "%SysVer%"=="2K" (
  433. %DelATTR% %RP%\NTLDR&&%DelATTR% %RP%\bootfont.bin
  434. Ren %RP%\NTLDR NTLDR.2K&&Ren %RP%\bootfont.bin bootfont.bin.2K
  435. MyIns\MyIns.exe e MyIns\MyIns.dll -o%RP% NTLDR -r -y>NUL 2>NUL
  436. MyIns\MyIns.exe e MyIns\MyIns.dll -o%RP% bootfont.bin -r -y>NUL 2>NUL
  437. )
  438. If Exist %RP%\%PEIni% %DelATTR% %RP%\%PEIni%
  439. TYPE ..\%PEIni%|FIND /I /V "PESetup.EXE">%RP%\%PEIni%
  440. %AddATTR% %RP%\MiniPE /S /D
  441. ::%AddATTR% %RP%\MiniPE\*.* /S /D
  442. If Exist %RP%\BOOT.INI %AddATTR% %RP%\BOOT.INI
  443. If Exist %RP%\%LDRP%LDRXPE %AddATTR% %RP%\%LDRP%LDRXPE
  444. If Exist %RP%\MTLDR.PE %AddATTR% %RP%\MTLDR.PE
  445. If Exist %RP%\nTLDR %AddATTR% %RP%\nTLDR
  446. If Exist %RP%\mTLDR %AddATTR% %RP%\mTLDR
  447. Goto :EOF
  448. :SUCCESS
  449. Title %Prog%——安装完成
  450. CLS
  451. For %%i In (C D E F G H I J K L M N O P Q R S T U V W X Y Z) Do If /I "%RP%"=="%%i:" Set RP=%%i:
  452. Echo 已经成功将镜像 %PEFile% 安装到您的 %RP% 盘。
  453. If "%U%"=="" (
  454. Echo.
  455. If Exist %RP%\Boot.INI Echo 系统分区中的 BOOT.INI 备份为 BOOT.BAK。
  456. )
  457. Echo.&&Echo.
  458. Echo 如果您需要将 WinPE 卸载,请重新运行本安装程序。
  459. Echo.
  460. Echo 请按任意键退出 。。。
  461. PAUSE>NUL 2>NUL
  462. Exit
复制代码
回复

使用道具 举报

10#
发表于 2008-2-16 14:22:06 | 只看该作者
其实修改毛桃的安装程序就只有两个目的

1.扩展安装功能,能将PE安装到移动媒体后可以再次利用安装工具进行安装
2.补充Wimtool组件及工具
3.修改毛桃的Vista安装批处理,让它真正的支持Vista安装
4.要是能够支持写入MBR方式就像是一恢复也是不错的
回复

使用道具 举报

11#
发表于 2008-2-16 14:31:45 | 只看该作者
试用grldr.mbr的方法看看

--没下载到小小强的PE,听说用的这个方法
回复

使用道具 举报

12#
发表于 2008-2-16 16:09:00 | 只看该作者
看得我云里雾里!!!
回复

使用道具 举报

13#
发表于 2008-2-16 16:48:49 | 只看该作者
uepon你那代码不完善哦>_<有点小问题,卸载模块不用那么复杂。可以再搞简单点
回复

使用道具 举报

14#
发表于 2008-2-16 17:25:42 | 只看该作者
无需这么复杂通过grub来引导setupldr.bin

直接可以从bcd中加载setupldr.bin来启动pe
回复

使用道具 举报

15#
发表于 2008-2-16 20:34:16 | 只看该作者
原帖由 fujianabc 于 2008-2-16 05:25 PM 发表
无需这么复杂通过grub来引导setupldr.bin

直接可以从bcd中加载setupldr.bin来启动pe


很多年都没这个文件了setupldr.bin,谁提供个?
回复

使用道具 举报

16#
发表于 2008-2-16 21:42:44 | 只看该作者
pe不都有吗
回复

使用道具 举报

17#
发表于 2008-3-10 15:31:07 | 只看该作者
原帖由 fujianabc 于 2008-2-16 05:25 PM 发表
无需这么复杂通过grub来引导setupldr.bin

直接可以从bcd中加载setupldr.bin来启动pe


如何才能实现从bcd中加载setupldr.bin来启动pe呢?
回复

使用道具 举报

18#
发表于 2008-3-11 08:08:47 | 只看该作者
原帖由 secowu 于 2008-2-16 08:34 PM 发表


很多年都没这个文件了setupldr.bin,谁提供个?


小小强最近的PE里有的

SETUPLDR.rar

139.73 KB, 下载次数: 33, 下载积分: 无忧币 -2

回复

使用道具 举报

19#
发表于 2008-3-11 12:22:09 | 只看该作者
原帖由 421062724 于 2008-2-16 04:48 PM 发表
uepon你那代码不完善哦>_


怎么完善?还是写出来吧
回复

使用道具 举报

20#
发表于 2008-3-11 12:31:43 | 只看该作者
原帖由 LOVPE 于 2008-3-11 08:08 AM 发表


小小强最近的PE里有的


谢谢。。。
回复

使用道具 举报

21#
发表于 2008-3-21 14:20:30 | 只看该作者
原帖由 secowu 于 2008-2-16 02:06 PM 发表


这是毛桃的修改版本,里面增加了个再利用选项

就是当PE被安装在U盘里了,还可以继续利用U盘里的PE再进行安装到别的媒体

现在,需要的是修改毛桃那个Vista的安装选项功能了....李大侠来搞吧


@Echo  ...

这一句“bootcfg /timeout 0 >NUL 2>NUL”当中有点问题,如果安装到XP系统,就没有启动菜单可选了,直接进入XP,将0改为3就好了。
回复

使用道具 举报

22#
发表于 2009-7-30 08:56:52 | 只看该作者
收藏学习。。谢谢楼主分享
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-23 13:07

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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