无忧启动论坛

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

U盘用Grub加载PE的ISO镜像无外置之解决方法

[复制链接]
跳转到指定楼层
1#
发表于 2009-2-25 14:04:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
问题贴请见,“再论U盘Grub启动PE的ISO镜像加载”
http://bbs.wuyou.net/viewthread. ... 1&extra=#pid1626946

BTY:本人只是一小小茶鸟,什么也不懂,刚接触Grub,PE不到一星期,所有解决方法来自网上搜索+个人理解+不断实践,走了很多弯路,相信还有很多人没解决此类问题,不能就这样说有些人笨,我们都需要理解。


现在终于按自已的意愿解决了目前所遇到的所有问题,没办法,比较注重完美主义。

现在U盘还是用KingMax 超棒8G 白色版,没有用量产,先做成Grub Mbr 启动。
U盘根目录结构如下
Boot         -目录
grldr       -Grub引导文件
menu.lst  -启动菜单

就这三个文件, 其中Boot目录里结构如下:
DOS.IMG           -DOS工具镜像包               8MB
Ghost.IMA        -DOS下Ghost专用镜像包   2MB
WINPE.ISO        -Winpe ISO镜像包          27MB
fonts.gz          -Grub中文支持文件         148KB
xp2008.xpm.gz -Grub菜单背景图            10KB
OP.WIM             -Pe的外置程序包             126MB

所有文件就这么多了
WINPE.ISO 里的目录结构如下(采用 盛世雄风的WINPE V4版本,自已修改了一下):
NTDETECT.COM   -WinPe引导文件
SETUPLDR.BIN   -WinPe引导文件
SSXF                 -WinPe引导文件
WINPE.IS_        -WinPe压缩内核

关于为什么Grub4Dos加载Winpe的ISO镜像后,很多PE能启动到GUI界面但不能加载外置的问题,我的理解是这样的
Grub能仿真CDROM加载WINPE.ISO,并引导WinPe,问题是 WinPE引导了之后(就是开始解压并运行WINPE.IS_ ),WINPE.ISO 的根目录的下文件就不能再被系统找到了,如下:
NTDETECT.COM   -WinPe引导文件---WINPE引导后 ,不能被找到
SETUPLDR.BIN   -WinPe引导文件---WINPE引导后 ,不能被找到
SSXF                 -WinPe引导文件---WINPE引导后 ,不能被找到
WINPE.IS_        -WinPe压缩内核---WINPE引导后 ,不能被找到

这几个文件不能再找到了,因为系统已把WINPE.IS_ 这个文件解压并运行了,而很多PE的外置加载文件WINPE.INI就放在这个目录下的,如下:
NTDETECT.COM   -WinPe引导文件---WINPE引导后 ,不能被找到
SETUPLDR.BIN   -WinPe引导文件---WINPE引导后 ,不能被找到
SSXF                 -WinPe引导文件---WINPE引导后 ,不能被找到
WINPE.INI       --------------WINPE引导后 ,不能被找到
WINPE.IS_        -WinPe压缩内核---WINPE引导后 ,不能被找到

所以 WINPE.INI 不能被PE加载并运行,解决方法
一。可以把WINPE.INI 单独放出来,放在U盘根目录下,或任何一个目录下。
二。把WINPE.INI ,放在WINPE.IS_ 这个压缩包中,这样PE启动后,可以在PE系统目录里找到

注:无论以上哪种方法,都需要修改调用WINPE.INI的文件,一般是PECMD.INI,主要是修改PECMD.INI里调用WINPE.INI这个文件的路径,如果放在WINPE.IS_ 这个压缩包中,那可以改成 绝对路径X:\wxpe\WINPE.INI,也可以用相对路径 \%systemroot%\WINPE.INI,但不同PE版本,可能会不同,一定要学会理解,根据自已的情况判断。


这样整个PE只有二个文件,一个是WINPE.ISO ,PE内核,只有27MB,一般不用去修改。另一个就是OP.WIM 里面是所有的外置驱动,和外置程序。可以随时添加或修改,很方便自定义功能。

[ 本帖最后由 thomas0769 于 2009-2-25 14:22 编辑 ]
2#
发表于 2009-2-25 14:10:42 | 只看该作者
能否做一个样本文件放上来?
就是你的作品的iso
谢谢
回复

使用道具 举报

3#
 楼主| 发表于 2009-2-25 14:15:06 | 只看该作者

回复 #2 yewuqiu 的帖子

你是要 WINPE.ISO  还是整个U盘的 Ghost?
回复

使用道具 举报

4#
发表于 2009-2-25 17:34:17 | 只看该作者
我其实是想要教程
就是如何一步一步做出你说的这种pe
比如:
第一步:准备材料,软件
第二步:如何把grub4dos安装到U盘
第三步:如何编辑grub的菜单
第四步:......

谢谢
回复

使用道具 举报

5#
 楼主| 发表于 2009-2-25 19:18:10 | 只看该作者

回复 #4 yewuqiu 的帖子

所有工具只要如下4个,最后一个系统自带。
1)UltraISO 9.3.3.2685, 用来修改 ISO文件,不能用WINRAR代替。
2)U盘GRUB启动一键自动安装_20090105.exe  ,一个步骤搞定了。
3)WINPE.ISO  我用的是 盛世雄风的PE 4.0版,你用其他的都可以
4)makecab。exe 用来把WINPE.ISO压缩成WINPE.IS_ 的,这个 WINXP系统自带,不信你找下system32目录

以上工具  百度一搜 多的是。

关于 如何编辑grub的菜单,你只要装了grub ,就会有一个样例菜单,我的是如下
color black/cyan yellow/cyan
timeout 15
default /default
find --set-root /boot/fonts.gz
fontfile /boot/fonts.gz
splashimage /boot/xp2008.xpm.gz

title [0] 启动 WinPe 环境
find --set-root /menu.lst
map --mem (hd0,0)/boot/WINPE4.ISO (hd32)
map --hook
chainloader (hd32)
boot

title [1] Find and Load NTLDR of Windows NT/2K/XP
fallback 1
find --set-root /ntldr
chainloader /ntldr
savedefault --wait=2

title [2] 启动 DOS 7.1
find --set-root /menu.lst
map --mem /boot/DOS.IMG (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
boot

title [3] 启动 Ghost 11.02
find --set-root /menu.lst
map --mem /boot/GHOST.IMA (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
boot

title [4] 重启
savedefault --wait=2
reboot

title [5] 关机
savedefault --wait=2
halt
你可以按自已要求修改,只是先要搞清楚每一行的意思,有很多东东最好是自已多理解就行了。这里高手如毛,你提问一定有很多人回应的
回复

使用道具 举报

6#
发表于 2009-2-25 19:43:41 | 只看该作者
谢谢
消化中。。。。。。
回复

使用道具 举报

7#
发表于 2009-2-28 21:47:48 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

8#
发表于 2009-3-2 17:17:17 | 只看该作者
楼主的思路很好,只要把一些未知的东西理解透,就没有解决不了的问题
回复

使用道具 举报

9#
发表于 2009-3-2 17:43:36 | 只看该作者
谢谢楼主
基本上成功
就是绝对路径X:\wxpe\WINPE.INI

这个 x:\ 应该怎么来确定呢?
如果采用相对路径  \%systemroot%\WINPE.INI
我又把移动硬盘的存放pe的分区设置为隐藏
那么这个相对路径和绝对路径该如何设置呢?

谢谢
回复

使用道具 举报

10#
发表于 2009-3-15 03:44:37 | 只看该作者
好贴啊,佩服楼主钻研精神.
顶起来别沉了
回复

使用道具 举报

11#
发表于 2009-3-28 11:40:30 | 只看该作者
把核心和外挂分开,这绝对是个好想法,顶了……
回复

使用道具 举报

12#
发表于 2009-3-28 18:04:04 | 只看该作者
title [0] 启动 WinPe 环境
find --set-root /menu.lst
map --mem (hd0,0)/boot/WINPE4.ISO (hd32)
map --hook
chainloader (hd32)
boot


为什么一定要用grub挂载ISO来虚拟磁盘?不如用grub加载setupldr.bin再加载PE来得容易并稳定!记得
map --mem是需要内存的

用map也可以建立虚拟内存盘,其用法和以上的很相似,你只需要在map建立虚拟盘的命令中加上--mem参数就行了。例子:

把(hd0,0)根目录下的aa.dsk文件映射为第一只硬盘,原来的第一只映射为第二只硬盘,并且从aa.dsk里虚拟出来的磁盘中启动: <pre> title Boot From Virtual Disk map --mem (hd0,0)/aa.dsk (hd0) map (hd0) (hd1) map --hook root (hd0,0) chainloader +1 boot </pre>

把(hd0,0)根目录下的aa.img文件映射为第一只虚拟软盘,并从中启动: <pre> title Boot From Virtual Floppy map --mem (hd0,0)/aa.img (fd0) map --hook root (fd0) chainloader +1 boot </pre>

使用了该映射方式,影像文件的内容是装载到内存后才进行映射。这意味着,你必须有足够的内存来存放影像和启动系统。

[ 本帖最后由 go2 于 2009-3-30 21:50 编辑 ]
回复

使用道具 举报

13#
发表于 2009-7-1 21:08:41 | 只看该作者
这样处理确实不错,也揭开了我的一些疑惑。
回复

使用道具 举报

14#
发表于 2009-7-1 22:37:01 | 只看该作者
这个思路不错,把pe、外置程序分开,确实便于更新升级,灵活性也好。
回复

使用道具 举报

15#
发表于 2009-7-4 22:57:06 | 只看该作者
还在学习试验中,确实有不少东西要弄。
回复

使用道具 举报

16#
发表于 2009-8-16 06:45:34 | 只看该作者
只用内核能启动,是不是内核也要加上启动才行?
回复

使用道具 举报

17#
发表于 2009-10-21 15:22:18 | 只看该作者

回复 #1 thomas0769 的帖子

首先对楼主的研究精神值得学习,总思路方法是对的,在实际操作中,pecmd只认WINPE.IS_所在目录和下级目录,所以配置文件winpe.ini、pecmd.ini必须放在上述目录中,另外还一个外置程序OP.WIM 文件,同理也要符合上述条件,这样修改的winpe.iso文件才能用GRUB直接完全启动!本人修改的老毛桃winpe.iso文件,下载地址:http://www.brsbox.com/filebox/do ... 4d1644557f569a4bc1d
回复

使用道具 举报

18#
发表于 2009-10-21 16:06:35 | 只看该作者
1、将老毛桃911版(或其它找不到外置的PE)的iso,不用修改,只需取名WIN$.ISO(大写),直接放在硬盘任意分区根目录,或启动U盘、光盘根目录。
2、下载一个0PE零体积版(不到6MB):
http://bbs.znpc.net/viewthread.php?tid=5763&page=1#pid42171
3、启动这个0PE,选最后一个菜单项,中途回车一下,就进老毛桃pe了。进pe后,有外置。

注意:内存要足。
回复

使用道具 举报

19#
发表于 2009-12-28 21:16:19 | 只看该作者
暂时没看懂  先消化一下

[ 本帖最后由 jsjcjsjc 于 2009-12-28 21:18 编辑 ]
回复

使用道具 举报

20#
发表于 2010-4-4 12:38:48 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

21#
发表于 2010-4-4 19:22:54 | 只看该作者
原帖由 天下不败 于 2010-4-4 12:38 发表
这个问题我已经在网上看过无数个帖子,大多说的都是自己想法和思路,却没有一个人实际做到成功加载外置程序的,结果大多都说:【也许会成功】、【估计能成功】、【应该能成功】、【说不定能成功】等等,就是没有 ...

你下载个全内置版的PE
就可以了
回复

使用道具 举报

22#
发表于 2010-4-8 20:51:34 | 只看该作者
同意楼上的看法,我用的就是我心如水2003PE全内置版。另外还可以把ISO的所有文件解压到U盘,用grub加载setupldr.bin来加载PE,这样就有外置了,启动速度还快些。
回复

使用道具 举报

23#
发表于 2010-4-12 09:21:31 | 只看该作者
谢谢楼主分享。确实是好贴呀
回复

使用道具 举报

24#
发表于 2011-1-26 20:12:59 | 只看该作者
用7z或者其他软件解压缩一份op.wim和winpe.ini出来,启动pe之后运行下列命令:
PECMD MOUN MINIPE\OP.WIM,B:,1
PECMD LOAD WINPE.INI
略微调整一下,即可动态加载外部程序
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2025-1-24 08:48

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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