无忧启动论坛

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

菜鸟初尝Grub4dos 外部命令WENV,不妥之处请大大们指教~~!

[复制链接]
跳转到指定楼层
1#
发表于 2010-11-15 21:30:13 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
本人有点小兴趣,喜欢捣鼓电脑,以前学过一点VB,不过很久不用,几乎忘完了,无聊看到0PE有个“可输入式ISO/PE启动器”,就想自己做一个,顺便了解下Grub4dos和WENV吧。
在0PE菜单和chenall大的博客研究了很久
  1. pause --wait=0 -->/MYISO.ISO as default
  2. (ud)/WENV set a=$u,$input,-->Input here(Like this"/MYISO.ISO") or press Enter :
  3. (ud)/WENV get a || (ud)/WENV set a=/MYISO.ISO && pause --wait=0 -->Booting /MYISO.ISO
  4. (ud)/WENV run find --set-root ${a}
  5. (ud)/WENV run cat –length=0 ${a} && kernel
  6. (ud)/WENV run map --mem ${a} (0xff)
  7. (ud)/WENV run map --hook
  8. (ud)/WENV run chainloader (0xff)

  9. title -->ISO not found ; Press Enter
  10. configfile (ud)/123.LST
复制代码
把代码复制到文本文档,改名为 123.LST 和 外部命令WENV 文件一起放到 ud 区根目录
然后写一下grldr菜单

title  可输入式ISO/PE启动器
configfile (ud)/123.LST






  



下面附件提供外部命令文件WENV



现在我有个问题是

pause --wait=0 -->/MYISO.ISO as default
(ud)/WENV set a=$u,$input,-->Input here(Like this"/MYISO.ISO") or press Enter :
(ud)/WENV get a || (ud)/WENV set a=/MYISO.ISO && pause --wait=0 -->Booting /MYISO.ISO
(ud)/WENV run find --set-root ${a}
(ud)/WENV run cat –length=0 ${a} && kernel         #里找不到ISO如何返回第一行代码? 现在我只能以我现有的知识转到title了
(ud)/WENV run map --mem ${a} (0xff)
(ud)/WENV run map --hook
(ud)/WENV run chainloader (0xff)

title -->ISO not found ; Press Enter
configfile (ud)/123.LST

请大大们指教,谢谢



[ 本帖最后由 3370123 于 2010-11-15 21:47 编辑 ]

WENV.rar

3.23 KB, 下载次数: 65, 下载积分: 无忧币 -2

2#
 楼主| 发表于 2010-11-15 22:28:43 | 显示全部楼层
谢谢版主,解决了,不过有些命令还是不太懂,有没有教程?英文的也可以

cat –length=0  和  check ${a:0:1}<>/  不理解

由于没有echo,所以我还是用pause 了

不过用了你3楼的代码,显示很多信息,显的很乱,怎么关闭啊?

而且 (ud)/WENV check ${a:0:1}<>/ set a=/${a}    好像没起作用,我故意不输入 / , 还是会出错的






.

[ 本帖最后由 3370123 于 2010-11-15 22:39 编辑 ]

1.jpg (67.41 KB, 下载次数: 117)

1.jpg
回复

使用道具 举报

3#
 楼主| 发表于 2010-11-15 22:57:06 | 显示全部楼层
最后打算用这些代码,还是谢谢版主了,让我学到很多

title [ 10 ] 可输入式ISO/PE启动器

pause --wait=0 -->默认使用/MYISO.ISO
(ud)/WENV set a=$u,$input,-->请输入(例如"/MYISO.ISO") 或 Enter 使用默认:
(ud)/WENV get a || (ud)/WENV set a=/MYISO.ISO && pause --wait=0 -->正在启动 /MYISO.ISO     
(ud)/WENV run find --set-root ${a} || pause  --wait=0 -->文件没找到 && fallback 9
(ud)/WENV run map --mem ${a} (0xff)
map --hook
chainloader (0xff)
回复

使用道具 举报

4#
 楼主| 发表于 2010-11-18 20:12:38 | 显示全部楼层
新版的WENV 倒是能用了
但是在gfxmenu 这个模式 加载了message

出错不会fallback 9 而是返回了menu.lst 而且乱码
如果在文本模式下就不会这样
回复

使用道具 举报

5#
 楼主| 发表于 2010-11-19 00:12:12 | 显示全部楼层

回复 #9 sratlf 的帖子

pause --wait=0 -->/MYISO.ISO as default
(ud)/WENV set a=$u,$input,-->input here(like this"/MYISO.ISO") or Enter :
(ud)/WENV get a || (ud)/WENV set a=/MYISO.ISO && pause --wait=0 -->Booting /MYISO.ISO     
(ud)/WENV check ${a:0:1}<>/ set a=/${a}
(ud)/WENV run find --set-root ${a} || pause  --wait=0 -->flie not found && fallback 9
(ud)/WENV run map --mem ${a} (0xff)
map --hook
chainloader (0xff)

问题是,在文本模式下是正常的,但是如果加载了message,故意输入错误,想让它返回fallback 9 ,但是它会返回主菜单,乱码,乱码是文本模式,再去执行它,再故意输错,它就会正常fallback 9 了
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-9 00:23

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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