无忧启动论坛

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

[09-07-09更新]ISO包用的图形界面PE安装程序,可自定义。

  [复制链接]
跳转到指定楼层
1#
发表于 2009-7-4 13:11:51 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
写了一个图形界面的PE安装程序。本来是给neo4026写的,而且只能用到深度PE。后来突发奇想,干脆直接写个大家都可以用的可自定义的PE安装程序。于是就写了一个。用NSIS写。希望各位PE作者能把更多的精力投入到核心和外置的研究上去,把双手从复杂的安装测试中解放出来。
原理是 它自己把自带的引导文件安装后,复制你的核心和外置。也就是说,你只需向这个安装程序提供一个核心和一个外置文件夹名称,安装程序就会按照你的设置进行安装。

这玩意儿支持安装PE到2000 XP 2003 Vista 2008 Win7






这是一个PE安装程序,用来替代原来很多PE里的那种命令行的安装程序。有如下几个特点:
1、自定义相对路径,安装程序可放到ISO里任何位置。
2、它提供两种安装模式:1、安装进硬盘 2、安装进U盘 。U盘安装IO+GRUB 和直接GRUB两种模式。
3、提供硬盘安装自定义接口,就是一个名为peins.ini的配置文件。作者通过配置文件几乎可以决定安装程序的一切。
4、这个程序拥有自带的引导文件,也就是说它无需你ISO里的其它引导文件。只需要你提供PE核心和外置程序的相对目录即可。
5、由于目前很多朋友的PE核心里的系统目录是WXPE,所以这个程序暂时只支持WXPE系统目录的PE。
6、安装后有开始菜单、有控制面板里的卸载项。
7、硬盘安装卸载完美,不留任何痕迹。
8、这玩意对2000 XP 2003 Vista 2008 Win7系统通吃。

9、安装简便,清爽,除了U盘GRUB安装写引导的时有个小黑框出来,其它全为图形界面。
9、这个东西是从通用PE工具箱的安装程序里剥离出来的。




配置文件PEINS.INI的讲解

其中[初始化]里的几个选项是给作者填的,这里包括了几个重要的信息。

[初始化]
版权 这个选项是写着玩的,如果不去修改NSIS源码,那么只可以填UEPON,否则出错。
名称 这个直接在标题栏上显示,而且也决定了开始菜单和控制面板卸载项的名称。
镜像 这个很重要,请填写一个相对路径。
外置程序 这个填写一个相对目录。
路径模式 这个选项可填 0 或 1 ,表示路径模式是映像和外置程序的相对路径是相对于安装程序目录还是根目录。0为安装程序目录,此时,安装程序一般要放到根目录。1为根目录,此时安装程序可以放到任意位置。
用户自定义 这个选项可填 0 或 1 ,代表是否同意安装者在硬盘安装时自己设置[安装设置]里的
选项,若选0则为不同意,此时安装程序运行时硬盘安装自定义页面里的选项将无效。

其中[安装设置]里的几个选项,是安装程序的硬盘安装自定义页面的选项。。
[安装设置]
启动菜单名称 这个东西是开机的时候的菜单名称
等待时间 输入秒
外置程序 选择外置程序放置的盘符例如C:\
外置只读 是否将外置程序设置为只读
外置隐藏 是否将外置程序设置为隐藏
开始菜单 是否在开始菜单里设置快捷方式
背景图片 只支持外置程序目录里的那个图片文件,此选项可留空
默认密码 开机和卸载密码,此选项可留空
网站链接 开始菜单里的网站链接,此选项可留空




下面以深度PE为例,提供模板配置文件PEINS.INI。

;使用之前请仔细阅读此帮助。
;修改版权信息将出现不可预料的结果!而且请不要删除任何选项。
;镜像填写相对路径。如:WINPE\WINPE.IMG,外置程序填写相对路径如:PROGRAMS
;路径模式是映像和外置程序的相对路径是相对于安装程序目录还是根目录。0为安装程序目录,此时,安装程序一般要放到根目录。1为根目录,此时安装程序可以放到任意位置。
;镜像模式为ISO和IMG两种,请和自己的映像模式对应。
;只有默认密码、网站链接、背景图片可以留空,其它选项请不要留空。
;用户自定义指的是是否同意让用户自己输入个性化的安装设置。
[初始化]
版权=Uepon
名称=深度PE工具箱
镜像=WINPE.IMG
外置程序=Programs
路径模式=0
用户自定义=1
[安装设置]
启动菜单名称=深度PE工具箱
等待时间=2
外置程序=C:\
外置只读=0
外置隐藏=0
开始菜单=1
背景图片=wall.bmp
默认密码=
网站链接=




版权信息的说明:
配置文件里的版权验证和安装程序左下角的文字都是可以通过修改源工程文件而修改的。如果有朋友想修改后重新编译并随PE一起发布,请将版权信息改成自己的名字。




下载说明和地址:
090709 13:59更新:取消“映像模式”选项,程序自己识别。解决一部分压缩后的映像无法启动的问题。
090708 16:25更新:增加一个路径模式选项。让安装程序可以放到ISO的各个地方。

文件大小: 编译好的是1.22MB 因为是自带的PE引导文件和U盘格式化工具,所以有点大。源工程文件是1.19MB。

下载地址:http://www.qupan.com/down/ton6vip_3990191.html
源工程下载:http://www.qupan.com/down/ton6vip_3990202.html

[ 本帖最后由 uepon 于 2009-7-9 14:00 编辑 ]
2#
 楼主| 发表于 2009-7-4 16:10:21 | 显示全部楼层
原帖由 lqcai 于 2009-7-4 15:10 发表
能否写一个安装 winpe2.x/3.0 的到 U 盘的程序?
只需三个命令, xcopy hpusbfw.exe bootsect.exe

第一步: hpusbfw.exe 格式化 U 盘 为 fat32 格式,
第二步: xcopy 复制 winpe2.x/3.0 所有文件到 U 盘根目 ...


等体积减小的时候再弄。U盘引导那么大的文件,速度难以忍受。
回复

使用道具 举报

3#
 楼主| 发表于 2009-7-4 16:24:52 | 显示全部楼层
原帖由 gaokun 于 2009-7-4 15:38 发表
不会用,提示找不到\wxpe\winpe\winpe.im_,这个文件被自动复制到了\winpe下。


是硬盘安装还是U盘安装?U盘有个小BUG,已经解决了。
回复

使用道具 举报

4#
 楼主| 发表于 2009-7-4 19:14:02 | 显示全部楼层
原帖由 gaokun 于 2009-7-4 17:40 发表


硬盘安装。


硬盘安装我已经做了很多次的试验。可能是你配置文件 映像 选项输入不正确。
回复

使用道具 举报

5#
 楼主| 发表于 2009-7-4 22:02:54 | 显示全部楼层
原帖由 gaokun 于 2009-7-4 20:03 发表


我就一winpe目录,里面有winpe.im_、OP.7z、readme.chm和winpe.ini四个文件,原来的安装主要就是复制到C盘根目录,我该如何设置?


我找到一个我复制的时候的一个小错误。已经更新了。还用你原来的配置文件然后使用新版的安装程序。winpe\winpe.im_
回复

使用道具 举报

6#
 楼主| 发表于 2009-7-7 09:35:29 | 显示全部楼层
你把安装程序放到Setup怎么可以呢,你在配置文件里填的目录是相对于peins.exe的目录,这个程序一般要放到根目录。我在帖子里已经说明了。

对于:“安装后PE.X文件最后一行为:OsLoadOptions="/minint /fastdetect /rdpath=\WXPE\WINPE"”
首先你的PE映像模式没有填ISO。后面的/rdpath=\WXPE\WINPE,是程序把所有的映像文件都改名成WINPE,方便统一调配。

[ 本帖最后由 uepon 于 2009-7-7 10:02 编辑 ]
回复

使用道具 举报

7#
 楼主| 发表于 2009-7-7 10:43:27 | 显示全部楼层
原帖由 小天才 于 2009-7-7 10:18 发表
好像不能使用带启动菜单的?例如用在我的PE上http://bbs.wuyou.net/forum.php?m ... ;tid=145166&extra=page%3D2

不知怎么实现?


不知道说的是哪种菜单。硬盘安装后开机的时候倒是有菜单。
如果说的是GRUB的菜单。可以修改PELDR(它的实质是GRLDR),或者建立一个WXPE.LST。
回复

使用道具 举报

8#
 楼主| 发表于 2009-7-7 20:18:11 | 显示全部楼层
原帖由 h163 于 2009-7-7 19:11 发表
谢谢楼主。在楼主的源代码上改了下,U盘只需要GRUB启动一种模式。
并且将Grub更新到09.05.23中文版。安装到U盘、硬盘(硬盘系统为win2003)都成功了。硬盘安装、卸载可以有密码。但是grub没有写入密码。
也就 ...


可能是你换用GRUB造成的,原来那个经过特殊处理用来配合安装程序。
请保持原版PE引导文件不要动,特别是PELDR(GRLDR)。然后再测试。
我已测试很多遍,写入密码部分原程序应该没问题。
回复

使用道具 举报

9#
 楼主| 发表于 2009-7-7 20:51:43 | 显示全部楼层
原帖由 h163 于 2009-7-7 20:40 发表
原版的PELDR好小,内置菜单也很简单。版本比较早啊。
你做了哪些特别处理啊?
原版中只有这样几行:
default 0
timeout 0
fallback 1

title PE

但是我换用新版同时加了启动菜单项:
fontfile /min ...

  1. default 0
  2. timeout 0
  3. fallback 1

  4. title PE
复制代码


事先留着几行是为了减小安装程序的安装时间。如果细心的话会在源代码文件里看到

  1.   StrCmp $PEMIMAA "" NOSETMIMA
  2.   ExecCmd::exec "CMD /C Echo password $PEMIMAA>>$SYSDRIVE\PELDR"
  3.   DetailPrint "为您的PE设置启动密码"
  4.   
  5.   NOSETMIMA:
  6.   ExecCmd::exec "CMD /C Echo find --set-root /WXPE/LDRXPE>>$SYSDRIVE\PELDR"
  7.   ExecCmd::exec "CMD /C Echo chainloader /WXPE/LDRXPE>>$SYSDRIVE\PELDR"
  8.   SetFileAttributes "$SYSDRIVE\PELDR" HIDDEN|READONLY|system|ARCHIVE
复制代码


它的作用就是安装的过程中把剩下的信息(包括设置的密码)写入PELDR。并最终形成

  1. default 0
  2. timeout 0
  3. fallback 1

  4. title PE
  5. ;password XXXXXXXXX
  6. find --set-root /WXPE/LDRXPE
  7. chainloader /WXPE/LDRXPE
复制代码

这个是一个规范的带有密码的GRUB菜单。如果换成你那个,再配合安装程序的话将变成:

  1. fontfile /minipe/fonts
  2. splashimage /minipe/splash.gz
  3. default 0
  4. timeout 30

  5. title 启动 WinPE_2003 SP2 ...
  6. chainloader /minipe/ldrxpe

  7. title Grub 命令行
  8. commandline

  9. title 从第一硬盘第一分区启动
  10. root (hd0,0)
  11. chainloader +1

  12. title 从第二硬盘第一分区启动
  13. root (hd1,0)
  14. chainloader (hd1,0)+1

  15. title 重新启动计算机
  16. reboot

  17. title 关闭计算机
  18. halt
  19. ;password XXXXXXXXX
  20. find --set-root /WXPE/LDRXPE
  21. chainloader /WXPE/LDRXPE
复制代码

这个东西到底成为什么样的菜单我不知道,但我能肯定是不规范的。
回复

使用道具 举报

10#
 楼主| 发表于 2009-7-7 20:54:59 | 显示全部楼层
我在这个PE里加入GRUB的目的就只有一个:让PE启动的时候能够验证密码再进入。没有让它显示更多菜单的意图。而且如果细心分析安装程序的话可以看出:如果不设置密码的话,硬盘启动将没有GRUB,可以大大增加启动成功率。而且我也不认为对于这个安装程序新版的GRLDR值得更换。如果执意要更换的话,请按原来PELDR里面的菜单信息将新版的修改了。

[ 本帖最后由 uepon 于 2009-7-7 21:01 编辑 ]
回复

使用道具 举报

11#
 楼主| 发表于 2009-7-8 15:52:00 | 显示全部楼层
原帖由 h163 于 2009-7-8 11:31 发表
搞好了,安装程序现在可以放在任意子目录下。这样可以保持PE盘根目录下清爽。
只要用 $EXEPATH 来获取安装程序所在的驱动器路径就好办了。
以前完全没有碰过NDIS,现学现卖(请NSIS高手指点下,是否是最优的, ...


StrCpy 从左边取两个字符用的很正确,我知道这种方法,但我当时考虑到一些问题没有采用,只采用了相对于安装程序的目录。现在我再提供一个选项,这个选项可以填写0或1,用来设置相对目录是相对于安装程序的目录还是根目录。
回复

使用道具 举报

12#
 楼主| 发表于 2009-7-8 16:03:21 | 显示全部楼层
原帖由 h163 于 2009-7-7 21:19 发表
硬盘安装grub有密码,U盘安装没有。


U盘安装没有提供设置启动密码的选项,感觉实际意义为零。
回复

使用道具 举报

13#
 楼主| 发表于 2009-7-9 13:52:46 | 显示全部楼层
原帖由 trianv 于 2009-7-9 08:20 发表
我用的PE是 IS_的,定义的   镜像=WINPE.IS_     镜像模式=ISO ,无法引导,提示:inf file txtsetup.sif is corrupt or missing ststus2   ,把安装以后的WXPE文件夹下的 PE.X文件最后一行的rdpath=\WXPE\WINPE" 修 ...


当时未考虑后面带有“_”的压缩文件。新版本已经针对这个情况做出更新。
回复

使用道具 举报

14#
 楼主| 发表于 2009-7-9 20:33:59 | 显示全部楼层
原帖由 trianv 于 2009-7-9 20:04 发表
请增加 当前系统为PE时,安装到硬盘系统的选项,,发现 在PE里运行PEINS.EXE安装的文件复制到了PE盘符下,谢谢


为什么要在PE里装PE呢。
安装程序无法知道你硬盘上哪一个是系统盘,就算能够知道,也只能装到BOOT.INI里。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-8 21:28

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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