无忧启动论坛

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

0PE:可剪裁统一PE

    [复制链接]
3361#
发表于 2011-5-10 09:07:50 | 只看该作者

回复 #3360 9998887778 的帖子

6楼有说明   你可以看看
回复

使用道具 举报

3362#
发表于 2011-5-10 09:57:49 | 只看该作者

回复 #3329 pseudo 的帖子

先谢谢P大。近段时间有些忙,仅是瞅空来看一眼也没时间再搞请见谅。
回复

使用道具 举报

3363#
 楼主| 发表于 2011-5-10 11:53:43 | 只看该作者
原帖由 9998887778 于 2011-5-9 21:51 发表
能不能用批处里生成iso后,再用Ultraiso修改iso呢?

正如楼上z大所说,最好不要用Ultraiso修改由grub4dos引导的iso。

但Ultraiso修改iso确实方便直观,也不是完全不可。但注意:

1. 对Ultraiso要做适当的属性设置,打补丁之类的一番处理才行。
有成功先例。
具体如何设置我不研究。

2. 使用经Ultraiso修改过的iso,一旦遇到启动异常,请对照未经修改的“原版”。
原版是没问题的。
回复

使用道具 举报

3364#
发表于 2011-5-10 12:13:23 | 只看该作者
我已经下载最新版的 0PE 1.2.6(20110502)

经过测试,0x4cb00 确实可以接收 pause 的按键值,而在 set 命令之后又可以获取变量的长度信息。不同情况下,功能不同。

# 删除变量 tkey ,暂停 3 秒,等待用户按键。(内存地址0x4cb00处存放的是变量长度[/A 用十六进制来保存长度值])
# 经测试:在 pause 之后,内存地址 0x4cb00 处存放的是按键值。功能键(包括ESC)返回空值,无按键则返回 1
set tkey= && pause --wait=3 && set /A tkey=*0x4CB00




下面是新的问题:

debug on
root
|| echo :(:(:(:(:(:(
debug off


这里不带参数的 root 貌似始终返回 false,带参数的 root 有可能返回 true 或 false。

我是用 PXE 启动调试 0PE,方便修改 grldr 菜单。

调试时:

root(pd) || echo :(:(:(:(:(:(   不会显示 :(:(:(:(:(:(
root(cd) || echo :(:(:(:(:(:(   会显示   :(:(:(:(:(:(

不知道后面的 || echo :(:(:(:(:(:( 是什么作用,可否去掉,还有前后的 debug on 和 debug off 不知道是什么作用,可否去掉。



[ 本帖最后由 stevenldj 于 2011-5-10 12:40 编辑 ]
回复

使用道具 举报

3365#
 楼主| 发表于 2011-5-10 13:04:28 | 只看该作者
当初用root是为了把当前设备显示出来,以便调试。
后面是防错,错了还继续往下走。
回复

使用道具 举报

3366#
发表于 2011-5-10 14:11:02 | 只看该作者
正需要.谢谢分享教程.
回复

使用道具 举报

3367#
发表于 2011-5-10 15:17:32 | 只看该作者

防错,明白了,谢谢P大。



又有新的问题了:

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

# 菜单 0,根据不同的判断结果,跳转到不同的菜单项
title

# 显示 0PE 作者信息
echo
echo 0PE by Pseudo


# 如果不是 PXE 启动,则在当前启动设备中搜索:
# 判断 /0PE/0PE.GZ 是否存在,存在则跳转到菜单 2
read 0x60064 || cat --length=0 /0PE/0PE.GZ && goto 2 ! echo A1 no ()\0PE\0PE.GZ
# 判断 /0PE/0PE.ISO 是否存在,存在则跳转到菜单 1
read 0x60064 || cat --length=0 %PEISO% && goto 1 ! echo A2 no ()\0PE\0PE.ISO
# 判断 /0PE.ISO 是否存在,存在则设置 PEISO=/0PE.ISO ,然后跳转到菜单 1
read 0x60064 || cat --length=0 /0PE.ISO && set PEISO=/0PE.ISO && goto 1 ! echo A3 no ()\0PE.ISO


# 如果在当前设备中找不到指定的文件,则在 ud 或 hd 中搜索:
# 判断 /0PE/0PE.GZ 是否存在,存在则设置 root 为 ud 或 hd,并跳转到菜单 2
find --devices=uh --set-root /0PE/0PE.GZ && goto 2 ! echo B1 no (ud,hd)\0PE\0PE.GZ
# 判断 /0PE/0PE.ISO 是否存在,存在则设置 root 为 ud 或 hd,并跳转到菜单 1
find --devices=uh --set-root %PEISO% && goto 1 ! echo B2 no (ud,hd)\0PE\0PE.ISO
# 判断 /0PE.ISO 是否存在,存在则设置 PEISO=/0PE.ISO,并设置 root 为 ud 或 hd,并跳转到菜单 1
find --devices=uh --set-root /0PE.ISO && set PEISO=/0PE.ISO && goto 1 ! echo B3 no (ud,hd)\0PE.ISO


# 如果在 ud 或 hd 中找不到指定的文件,则在 cd 或 fd 或 pd 中搜索:
# 判断 /0PE/0PE.GZ 是否存在,存在则设置 root 为 cd 或 fd 或 pd,并跳转到菜单 2
find --devices=cfp --set-root /0PE/0PE.GZ && goto 2 ! echo C1 no (cd,fd,pd)\0PE\0PE.GZ
# 判断 /0PE/0PE.ISO 是否存在,存在则设置 root 为 cd 或 fd 或 pd,并跳转到菜单 1
find --devices=cfp --set-root %PEISO% && goto 1 ! echo C2 no (cd,fd,pd)\0PE\0PE.ISO
# 判断 /0PE.ISO 是否存在,存在则设置 PEISO=/0PE.ISO,并设置 root 为 cd 或 fd 或 pd,并跳转到菜单 1
find --devices=cfp --set-root /0PE.ISO && set PEISO=/0PE.ISO && goto 1 ! echo C3 no (cd,fd,pd)\0PE.ISO


# 最后在 (pd) 中搜索指定的文件;
# 判断 (pd)/0PE/0PE.GZ 是否存在,存在则设置根分区为 (pd),并跳转到菜单 2
cat --length=0 (pd)/0PE/0PE.GZ && rootnoverify (pd) && goto 2 ! echo D1 no (pd)\0PE\0PE.GZ
# 判断 (pd)/0PE/0PE.ISO 是否存在,存在则设置根分区为 (pd),并跳转到菜单 1
cat --length=0 (pd)%PEISO% && rootnoverify (pd) && goto 1 ! echo D2 no (pd)\0PE\0PE.ISO
# 判断 (pd)/0PE.ISO 是否存在,存在则设置 PEISO=/0PE.ISO ,并设置根分区为 (pd),并跳转到菜单 1
cat --length=0 (pd)/0PE.ISO && set PEISO=/0PE.ISO && rootnoverify (pd) && goto 1 ! echo D3 no (pd)\0PE.ISO


# 如果以上跳转都没有实现,则提示“文件未找到”。文件都未找到,这里是否应该 reboot?
pause Error:/0PE/0PE.GZ, /0PE/0PE.ISO and /0PE.ISO not found!

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

粉红色部分是我加的,调试用。

问题在红色部分,在之前的代码(--devices=cfp)中 (pd) 已经判断过了,这里还需要再次判断吗?是不是某些环境下,必须使用绝对路径?







[ 本帖最后由 stevenldj 于 2011-5-10 15:20 编辑 ]
回复

使用道具 举报

3368#
 楼主| 发表于 2011-5-10 19:22:08 | 只看该作者
曾经有的版本find的能力可疑。

一旦出现这种情况,是否reboot都无所谓了。
回复

使用道具 举报

3369#
发表于 2011-5-10 19:42:45 | 只看该作者
嗯,明白了,谢谢P大!
回复

使用道具 举报

3370#
发表于 2011-5-10 22:32:43 | 只看该作者
占楼备用,哈哈。。。
回复

使用道具 举报

3371#
发表于 2011-5-10 22:43:09 | 只看该作者
那用daemon tools pro修改行吗?
回复

使用道具 举报

3372#
 楼主| 发表于 2011-5-11 00:12:10 | 只看该作者

回复 #3372 9998887778 的帖子

确实其它工具有的经适当配置后,试了未见异常。

但grub4dos官方只认可mkisofs.exe。0pe提供的批处理用的也是mkisofs。

情况就是这样,你看着办吧。
回复

使用道具 举报

3373#
发表于 2011-5-11 10:36:01 | 只看该作者
hhhhhhhhhhhh

评分

参与人数 1无忧币 -8 收起 理由
sratlf -8 恶意灌水

查看全部评分

回复

使用道具 举报

3374#
发表于 2011-5-11 12:24:04 | 只看该作者
<Space>--Load 0PE.ISO into memory entirely

请教P大,为什么要手动选择内存加载 0PE.ISO ?直接用代码判断如何加载不好吗?

map %PEISO% (0xff) || set mapmem=1 && echo Warnning: Fail to direct map %PEISO%, try to map with --mem.

if exist mapmem echo Map %PEISO% with --mem && map --mem %PEISO% (0xff) || pause Error: Fail to map --mem %PEISO% (0xff). && reboot
回复

使用道具 举报

3375#
 楼主| 发表于 2011-5-11 12:58:49 | 只看该作者
有时需要手动强制,好拔u盘。
自动判断不能保证这点。
回复

使用道具 举报

3376#
发表于 2011-5-11 13:23:48 | 只看该作者
P大谢谢了........
回复

使用道具 举报

3377#
发表于 2011-5-11 13:40:54 | 只看该作者
0pe里的那个宋体字体是不是没有GBK字符的?我想换一个,能不能在不扩大cmdpe的情况下添加呢?
回复

使用道具 举报

3378#
发表于 2011-5-11 13:50:42 | 只看该作者
请教P大一个问题:我现在用0PE是解开后放在U盘启动的,速度快不会有碎片又便于跟P大更新,但无法启动七彩虹智能2主板,用UI写入可以启动但又无法启动我的华硕笔记本,量产后启动我的DEll台式机速度不如解开的快。我想把0PE量产后再在U盘上解开一个做二启动,我知道PETOOLS目录可以放在U盘上和量产的共用,其它的目录有没有可以放在U盘上和量产的共用?量产后更新不方便想尽量少放东西在上面。谢谢!!
回复

使用道具 举报

3379#
 楼主| 发表于 2011-5-11 14:08:33 | 只看该作者
回复 #3378 135956 的帖子
可以像4in1版那样,外置一个或多个字体文件,例如:
PETOOLS\FileTools\FONTS\SIMSUN.TTC

回复 #3379 xdlys 的帖子
量产usb-cdrom时,所用iso只需包含一个grldr文件。
非量产区放原版iso解开的全部文件。启动时自动由量产区转非量产区。不过兼容性如何就不知道了。
回复

使用道具 举报

3380#
发表于 2011-5-11 18:47:48 | 只看该作者
原帖由 pseudo 于 2011-5-9 10:41 发表


QUOTE:
原帖由 xt5525 于 2011-5-8 16:58 发表
P大
刚刚下载的新版
启动时出现这个
请问如何处理?


未发现pe方面的问题。

估计是安装部署不当所致。除非有更多详细资料表明此问题别人可以重现,此问题将被忽略。

另外,最好用VMware虚拟机而不是别的虚拟机测试。虽然我在qemu里试也没遇到问题。



测试环境是VM虚拟机512M内存
后来换了1G内存又没出现了
偶尔在8秒读秒时直接回车也会出现这个问题
刚刚重新部署了下
问题依旧。
回复

使用道具 举报

3381#
发表于 2011-5-11 19:03:16 | 只看该作者
回复 #3379 xdlys 的帖子
量产usb-cdrom时,所用iso只需包含一个grldr文件。
非量产区放原版iso解开的全部文件。启动时自动由量产区转非量产区。不过兼容性如何就不知道了。

回复P大:量产usb-cdrom所用iso只含一个grldr文件时,非量产区放原版iso解开的全部文件或者原版iso都无法启动。
错误提示:Error:/0PE/0PE.GZ, /0PE.ISO and /0PE.ISO not found


又试了一次,用grldr和一个0PE文件夹生成iso量产usb-cdrom,非量产区放原版iso解开的全部文件时可以启动。但我的想法不行,因为非量产区已不能用BOOTICE在MBR上写入GRUB4DOS了,菜单变灰了。

[ 本帖最后由 xdlys 于 2011-5-11 19:47 编辑 ]
回复

使用道具 举报

3382#
发表于 2011-5-11 19:24:50 | 只看该作者

回复 #3382 xdlys 的帖子

我用PXE启动,也是这个提示
Error:/0PE/0PE.GZ, /0PE.ISO and /0PE.ISO not found
回复

使用道具 举报

3383#
 楼主| 发表于 2011-5-11 20:01:05 | 只看该作者
@xdlys
bios、grldr只能保证可以找到启动分区的文件。从量产区启动,肯定可以找到量产区文件,其它区文件不能保证被找到。有找到的先例,但不能保证,这就是我说的“兼容性”问题。

这是bois、grldr决定的,不关PE事。

不要说windows下可以找到非量产区文件,那没参考价值。
petools是进桌面后才找的。

把非量产区用bootice格为hdd,可提高被找到的机会。

@xt5525
这种情况在使用原版(不合盘)、不激活plpbt情况下不会出现。
回复

使用道具 举报

3384#
 楼主| 发表于 2011-5-11 20:08:23 | 只看该作者
原帖由 zts59 于 2011-5-11 19:24 发表
我用PXE启动,也是这个提示
Error:/0PE/0PE.GZ, /0PE.ISO and /0PE.ISO not found

三个文件在一起就可以网启了:

直接PXE网络启动0PE★网友视频
回复

使用道具 举报

3385#
发表于 2011-5-11 22:41:20 | 只看该作者
我去拿daemon tools pro试下看
回复

使用道具 举报

3386#
发表于 2011-5-12 09:46:38 | 只看该作者
不知道为什么在XP下使用PXT客户端就无法连接服务器,系统错误51

在PE下正常
回复

使用道具 举报

3387#
发表于 2011-5-12 09:55:44 | 只看该作者
字体放在这个位置PETOOLS\FileTools\FONTS\SIMSUN.TTC
就可以了?不用再做其它的处理?
回复

使用道具 举报

3388#
 楼主| 发表于 2011-5-12 10:46:43 | 只看该作者
原帖由 135956 于 2011-5-12 09:55 发表
字体放在这个位置PETOOLS\FileTools\FONTS\SIMSUN.TTC
就可以了?不用再做其它的处理?

嗯。
解开藏入ud情形,在取ud工具后才生效。
原帖由 2010resein 于 2011-5-12 09:46 发表
不知道为什么在XP下使用PXT客户端就无法连接服务器,系统错误51
在PE下正常

可以很简单就获得成功。
如果失败,不是一下子说得清的,只能多看帖了:
直接PXE网络启动0PE★网友视频

或者到QQ群来交流,报无忧id并以此id为群名片。群号已通过短消息发给你。
回复

使用道具 举报

3389#
发表于 2011-5-12 12:51:11 | 只看该作者
我把系统的那个10M的宋体放在这位置:PETOOLS\FileTools\FONTS\SIMSUN.TTC
iso整体放入UD,启动后,没发现有什么改变,gbk字符集的字还是没支显示。。。。
回复

使用道具 举报

3390#
发表于 2011-5-13 14:47:47 | 只看该作者
P大不来,要沉了哦。。。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-27 10:04

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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