无忧启动论坛

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

IMG或ISO预留菜单编辑请教

[复制链接]
31#
发表于 2010-10-4 15:36:37 | 只看该作者
29#测试结果算是正常  dos时代菜鸟工具箱测试时后缀名是ima还是img  这个对菜单33不一样

34没问题  是我理解反了  什么都不输入是iso  输入任何字符都是执行img加载

31  34 img加载失败确实是个问题

换用其他iso测试呢  那两个工具箱iso加载时也都会映射fd0  可能会有冲突
回复

使用道具 举报

32#
 楼主| 发表于 2010-10-4 17:34:08 | 只看该作者
像这种情况,连DOS都不是,如何截图?

33自动菜单,缀名是ima还是img都是不成功。下面是错误图

自动菜单错误.jpg (120.96 KB, 下载次数: 199)

33自动菜单错误

33自动菜单错误
回复

使用道具 举报

33#
 楼主| 发表于 2010-10-4 17:50:43 | 只看该作者
31菜单错误:

由于上传大小限制,本来就不清楚,不能直接上图。

下载附件看图

31菜单 .part1.rar

273.44 KB, 下载次数: 54, 下载积分: 无忧币 -2

第一次输入

31菜单 .part2.rar

212.99 KB, 下载次数: 35, 下载积分: 无忧币 -2

31输入后菜单 .part1.rar

273.44 KB, 下载次数: 42, 下载积分: 无忧币 -2

31输入后菜单 .part2.rar

222.11 KB, 下载次数: 29, 下载积分: 无忧币 -2

回复

使用道具 举报

34#
 楼主| 发表于 2010-10-4 17:53:52 | 只看该作者
31菜单为输入/boot/maxdos.img后图片

31菜单为Input please:回车后图片
回复

使用道具 举报

35#
发表于 2010-10-4 17:58:05 | 只看该作者
版主能否发个成功的模板上来?
回复

使用道具 举报

36#
发表于 2010-10-4 18:42:39 | 只看该作者
实机测试就不能截图了  只能拍照  虚拟机测试可以截图  

抱歉  确实有点问题  等下我看看什么原因

[ 本帖最后由 sratlf 于 2010-10-4 18:53 编辑 ]
回复

使用道具 举报

37#
 楼主| 发表于 2010-10-4 18:56:52 | 只看该作者
复制36#菜单,还是不成功,但我的电脑是个案

下面是chenall大侠的一个菜单,希望有帮助
command --set-path=(fd0)/grub/
default 0
timeout 5
root (fd0)
menuset 15 15 15 15 15 21 20 40 5 5 10
debug off
#初始化并设置默认参数。
write 0x60000 0
write 0x60100 0
WENV set VHD=/boot/boot.vhd
WENV set WIM=/boot/boot.wim
WENV set ramxp=/boot/ramxp.img
WENV set WinDir=windows
#检测NT5.X和nt6.x,并设为默认启动项,NT6.X优先启动。
WENV run find --set-root --ignore-cd --ignore-floppies /${WinDir}/system32/ntoskrnl.exe cat --locate=\0\x35\0\x2E /${WinDir}/system32/version.dll && write 0x60100 1 && default 0
WENV run find --set-root --ignore-cd --ignore-floppies /${WinDir}/system32/winload.exe && write 0x60100 2 && default 1

title 0.Boot into NT5.X \n\nBoot into Microsoft Windows XP/2000/2003\n\thttp://chenall.net\n\t\tby chenall 2010-08-08 Fujian
WENV run ECHO Find NT5.x on your hard disk drive. /${WinDir}
checkrange 1 read 0x60100 && fallback --go 5
WENV run find --set-root --ignore-cd --ignore-floppies /${WinDir}/system32/ntoskrnl.exe cat --locate=\0\x35\0\x2E /${WinDir}/system32/version.dll && fallback --go 5
WENV set WinDir=$input,Input your Windows PATH: || fallback --go 7
fallback --go 0
boot

title 1.Boot into NT6.X \n\nBoot into Microsoft Windows Vista/WIN7/2008\n\thttp://chenall.net\n\t\tby chenall 2010-08-08 Fujian
WENV run ECHO Find NT6.x on your hard disk drive. /${WinDir}
checkrange 2 read 0x60100 && fallback --go 6
find --set-root --ignore-cd --ignore-floppies /windows/system32/winload.exe && fallback --go 6
WENV set WinDir=$input,Input your Windows PATH: || fallback --go 7
##以下都是测试,替换BCD里面WINDOWS目录,我自己也没有用过不知能否正常使用。
WENV set tmp=${WinDir}
WENV get tmp=0x600000
WENV run write --offset=0x3F76 (fd0)/boot/bcd *0x600000
WENV set tmp=${WinDir}\system32\winload.exe
WENV get tmp=0x600000
WENV run write --offset=0x39A6 (fd0)/boot/bcd *0x600000
#返回本菜单重新查找。
fallback --go 1
boot

title 2.NT5.X from ramdisk \n\nBoot from /boot/ramxp.img \n\thttp://chenall.net\n\t\tby chenall 2010-08-08 Fujian
WENV get ramxp || fallback --go 7
WENV run ECHO find ${ramxp} on your hard disk drive..
WENV run find --set-root --ignore-cd --ignore-floppies ${ramxp} || WENV set ramxp=$input,Input new ramxp file path: && fallback --go 2
write --offset=0x22 (fd0)/boot.ini ramdisk(0)\\WINDOWS\r\n
WENV run write --offset=0x175 (fd0)/boot.ini ${ramxp}\r\n
cat --locate=/ --replace=\\ --skip=0x175 (fd0)/boot.ini
fallback --go 5
boot

title 3.Boot from .VHD \n\nBoot from .vhd file\n\thttp://chenall.net\n\t\tby chenall 2010-08-08 Fujian
##请参考菜单4的注释
WENV set tmp=$input,Enter path to the .VHD (default: /boot/boot.vhd): || fallback --go 7
WENV get tmp || WENV set tmp=${VHD}
WENV get tmp || fallback --go 7
WENV run ECHO find ${tmp} on your hard disk drive..
WENV run find --set-root --ignore-cd --ignore-floppies ${tmp} || fallback --go 3
write --offset=0x4E74 (fd0)/boot/bcd b
WENV get tmp=0x600000
cat --locate=\\x2F --replace=\\x5C (md)0x3000+3
WENV run write --offset=0x7D72 (fd0)/boot/bcd *0x600000
WENV run write --offset=0x82EA (fd0)/boot/bcd *0x600000
WENV calc cur_drv=*0x82A0 & 0x7F
WENV calc cur_pri=*0x829C >> 16 & 0xFFFF
WENV run ECHO Will Boot From VHD file:(hd${cur_drv},${cur_pri})${tmp}
fallback --go 6
boot

title 4.Boot from .WIM \n\nBoot from .WIM file\n\thttp://chenall.net\n\t\tby chenall 2010-08-08 Fujian
WENV set tmp=$input,Enter path to the .WIM (default: /boot/boot.wim): || fallback --go 7
WENV get tmp || WENV set tmp=${WIM}
#如果变量不存在,转到菜单7
WENV get tmp || fallback --go 7
WENV run ECHO find ${tmp} on your hard disk drive..
#查找文件,如果没有找到提示用户输入一个文件路径,并返回重新查找
WENV run find --set-root --ignore-cd --ignore-floppies ${tmp} || fallback --go 4
#本软盘BCD对应的特定语句,修改默认启动项
write --offset=0x4E74 (fd0)/boot/bcd a
#WENV 新的未公开功能。把变量的值ASCII字符串使用UNICODE编码放到内存0x600000(6M)位置。编码方式\xH1\0\XH2\0.....
WENV get tmp=0x600000
#替换路径字符中的/为\
cat --locate=\\x2F --replace=\\x5C (md)0x3000+3
#本软盘BCD对应的特定语句,修改文件路径
WENV run write --offset=0x76A0 (fd0)/boot/bcd *0x600000
WENV run write --offset=0x7A48 (fd0)/boot/bcd *0x600000
#获取当前磁盘编号
WENV calc cur_drv=*0x82A0 & 0x7F
WENV calc cur_pri=*0x829C >> 16 & 0xFFFF
WENV run ECHO Will Boot From WIM file:(hd${cur_drv},${cur_pri})${tmp}
fallback --go 6
boot

#5
title
DISKID ret=0x60004
WENV calc R=*0x60004 >> 24 & 0xff
WENV calc P=*0x60004 >> 16 & 0xff
root (fd0)
wenv run cat --locate=R --replace=${R} /boot.ini
WENV run cat --locate=P --replace=${P} /boot.ini
WENV run cat --locate=## --replace=${WinDir} /boot.ini
WENV run pause --wait=0 disk(${R})partition(${P})\${WinDir}......
pause --wait=2 Nt5.x Booting... && chainloader /boot/ntldr

#6
title
write 0x60004 0
write 0x60000 0
#获取当前磁盘签名
WENV calc cur_drv=*0x82A0 & 0x7F
WENV run dd if=(hd${cur_drv})+1 of=(md) bs=1 count=4 skip=0x1b8 seek=0x60000
#获取当前分区偏移
cat --length=0 ()-1
dd if=(md) of=(md) bs=1 count=8 skip=0x8290 seek=0x60008
#修改MBR签名
cat --locate=\x2E\xB5\x41\x7D --replace=*0x60000 (fd0)/boot/bcd
cat --locate=\0\x7E\0\0 --replace=*0x60008 (fd0)/boot/bcd
pause --wait=5 NT6.x Booting... && chainloader (fd0)/boot/bootmgr

#7
title
pause Press any key return to menu && configfile (fd0)/menu.lst
回复

使用道具 举报

38#
发表于 2010-10-4 19:17:26 | 只看该作者
原来的菜单确实有错误  已经修改  如下

title 31:直接输入路径,回车运行IMG或ISO菜单
WENV set path=$U,$input,Input the path, begin with "/" :
WENV run find --set-root ${path}
WENV run pause --wait=0 ISO as default, input IMG to load IMG
WENV set de=$U,$input,Input please:
WENV get de=IMG && WENV run map --mem ${path} (fd0) && map --hook && rootnoverify (fd0) && chainloader (fd0)+1 && boot
WENV run map --mem ${path} (0xff) && map --hook && chainloader (0xff) && boot
kernel

title 33:直接输入路径,回车运行IMG或ISO菜单
WENV set path=$U,$input,Input the path,begin with "/" :
WENV run write (md)300+1 ${path}
WENV run find --set-root ${path}
WENV run pause --wait=0 Now loading ${path} ...
cat --locate=ISO (md)300+1 && WENV run map --mem ()${path} (0xff) && map --hook && chainloader (0xff) && boot
cat --locate=IMG (md)300+1 && WENV run map --mem ()${path} (fd0) && map --hook && rootnoverify (fd0) && chainloader ()+1 && boot
cat --locate=IMA (md)300+1 && WENV run map --mem ()${path} (fd0) && map --hook && rootnoverify (fd0) && chainloader ()+1 && boot
kernel

title 34:直接输入路径,回车运行IMG或ISO菜单
WENV set path=$U, $input,Input the path, begin with "/" :
WENV run find --set-root ${path}
WENV run pause --wait=0 IMG as default, input ISO to load ISO
WENV set de=$U,$input,Input please:
WENV get de= || WENV run map --mem ${path} (fd0) && map --hook && rootnoverify (fd0) && chainloader (fd0)+1 && boot
WENV run map --mem ${path} (0xff) && map --hook && chainloader (0xff) && boot
kernel

这次应该没问题了
回复

使用道具 举报

39#
 楼主| 发表于 2010-10-4 20:17:06 | 只看该作者
38#这次正确了

我想知道你在机了上用grldr的英文版0916 版运行dts117u.ima、dts117u.iso、dts117u.q.ima这3个镜像全部正常运行里面的菜单项了吗?

这次grldr一样,菜单一样,镜像一样,看看效果
回复

使用道具 举报

40#
发表于 2010-10-4 20:20:57 | 只看该作者

回复 #39 ggmm888 的帖子

可以  没问题  不过我手头现在只有dts117u.ima这一个  还是解压完后测试的

117版本比较特别  dts117u.ima和dts117u.iso是用grub映射的fd0  dts117u.q.ima是传统方式映射的fd0  和新的136u方式一样
回复

使用道具 举报

41#
 楼主| 发表于 2010-10-4 20:25:20 | 只看该作者
我的也是解压使用的,好像见有人直接就是.gz这样用

我有两个ISO,一个是dts117u.iso和maxdos.iso两个都不正常

我再找一下ISO的其它镜像看看
回复

使用道具 举报

42#
发表于 2010-10-4 20:29:29 | 只看该作者

回复 #41 ggmm888 的帖子

压缩后的.gz确实可以直接用  而且体积更小  只不过进行pxe启动时花费的时间几乎是未压缩所用时间的两倍  所以我没压缩

刚才实机测试了下136u  下载下来未改动直接用菜单33启动  也可以正常启动  里面工具也正常
回复

使用道具 举报

43#
发表于 2010-10-4 20:31:22 | 只看该作者
dts117u.iso这个不正常我想是肯定的  实际上这个也是grub4dos做引导器  引导里面的ima压缩文件  

但是iso本身已经是映射出来的  再二次映射其他设备  肯定会有出错的地方
回复

使用道具 举报

44#
 楼主| 发表于 2010-10-4 21:01:56 | 只看该作者
刚又测一遍
IMG镜像3个菜单全部正常
ISO镜像3个菜单全部不正常

dts117u.iso3个菜单全部出现提示符A
maxdos.iso3个菜单在运行镜像里面菜单时全部重启了

这是不是跟grldr版本有关
maxdos.iso使用grldr的20090620中文版正常

[ 本帖最后由 ggmm888 于 2010-10-4 21:04 编辑 ]
回复

使用道具 举报

45#
发表于 2010-10-4 21:09:49 | 只看该作者

回复 #44 ggmm888 的帖子

这就不知道了  你能不能把这两个上传一下  我测试看看

我手头只有adds的iso和系统的iso  这两个我测试都是正常的
回复

使用道具 举报

46#
 楼主| 发表于 2010-10-4 21:11:59 | 只看该作者
下载:
网盘下载地址链接:
http://www.brsbox.com/filebox/do ... 1b541cc78bdfa17ec43

文件: VeDe_CD_090523.ISO          (仅需要IMG合盘的自行提取)
大小: 10946560 字节
修改时间: 2009年5月23日, 0:00:00
MD5: E911A131A7AE1A7E1A4FD91EA80C75C5
SHA1: 1F7025C741C09EC6B8DA60D1C8921D5A06848158
CRC32: 50BAA6B7

现在还是可以下载的
回复

使用道具 举报

47#
发表于 2010-10-4 21:25:21 | 只看该作者
下完看了下文件结构就明白了  和dts117u.iso结构一样  grub4dos的引导器  再映射img文件
回复

使用道具 举报

48#
 楼主| 发表于 2010-10-4 22:35:45 | 只看该作者
map --hook不是就清空了,不会重复映射了
回复

使用道具 举报

49#
 楼主| 发表于 2010-10-5 07:11:28 | 只看该作者
ISO镜像里面的grldr和外面grldr是同一版本时,映射出来的位置是相同的,是不是就正常了。


还是说iso本身已经是映射出来的  再二次映射其他设备  肯定会有出错的地方,这是必然的。
回复

使用道具 举报

50#
发表于 2010-10-5 08:08:54 | 只看该作者

回复 #49 ggmm888 的帖子

map  --hook可不是清空映射  相当于刷新下设备列表(我的理解)

第二种解释是对的  目前还不能进行二次映射  所以会出错

比较奇怪的是按你测试所说  090620版的可以  我只知道那个版本和以后的版本算是个分界线  具体更新了什么就忘了  这只能问不点大了
回复

使用道具 举报

51#
 楼主| 发表于 2010-10-5 08:52:54 | 只看该作者
090620版是个分界线,所以我一直用它的中文版,(在记忆中当时090620版前面几个版都正常,因0523和0620之间并没有多少版本,所以有了外部和ISO里面一样时,就不会出错,没有实践,先看一下理论是否通过再实践)但有了SRS_F6这个就使用新英文版,跨度太大更新太多,试过好多新版本没有成功运行VeDe_CD_090523.ISO这个镜像

VeDe_CD_090523.ISO这个和IMG镜像不同,就是ISO直接有一个菜单和DOS.LST类似,img是用外面的DOS.LST调用的。
回复

使用道具 举报

52#
发表于 2010-10-5 09:00:55 | 只看该作者

回复 #51 ggmm888 的帖子

grub我是一直在跟着新版走  毕竟有新的功能和修正的bug

那两个iso实际结构都是一样的  没什么区别  加载这样的iso还不如直接加载里面的img  起码还能省点空间
回复

使用道具 举报

53#
 楼主| 发表于 2010-10-5 09:08:25 | 只看该作者
多谢这么长时间的帮助,辛苦了
回复

使用道具 举报

54#
发表于 2010-10-5 18:04:17 | 只看该作者
WENV有更新
2010-10-05
   1.添加字符串处理功能,和linux shell类似.
      1).${VAR:x:y}  从x开始提取y个字符,如果x为负数则从倒数x个开始提取.

能截取字符串  那么取输入路径的最后三个字母就好判断了

[ 本帖最后由 sratlf 于 2010-10-5 19:56 编辑 ]
回复

使用道具 举报

55#
发表于 2010-10-6 15:41:58 | 只看该作者

根据两们以上的例子和wenv的更新重新编写MENU得

title 直接输入路径,回车运行IMG或ISO菜单
wenv set path=$input,Input full name of the file:
wenv run find --set-root ${path}
wenv set suffix=$U,${path##.}
wenv get suffix=ISO && wenv run map --mem ${path} (0xff) && map --hook && chainloader (0xff) && boot
wenv get suffix=IMG && wenv run map --mem ${path} (fd0) && map --hook && rootnoverify (fd0) && chainloader (fd0)+1 && boot
wenv get suffix=IMA && wenv run map --mem ${path} (fd0) && map --hook && rootnoverify (fd0) && chainloader (fd0)+1 && boot

[ 本帖最后由 paladin15 于 2010-10-6 16:16 编辑 ]
回复

使用道具 举报

56#
发表于 2010-10-6 16:34:46 | 只看该作者

不加判断也可以启动吗?

原帖由 sratlf 于 2010-10-5 18:04 发表
WENV有更新
2010-10-05
   1.添加字符串处理功能,和linux shell类似.
      1).${VAR:x:y}  从x开始提取y个字符,如果x为负数则从倒数x个开始提取.

能截取字符串 ...


经初步测试写成如下菜单,不加判断也可以启动
title 【 2 】直接输入路径,回车运行ISO、IMG或IMA
wenv set path=$input,Input full name of the file:
wenv run find --set-root ${path}
wenv run map --mem ${path} (0xff) && map --hook && chainloader (0xff) && boot
wenv run map --mem ${path} (fd0) && map --hook && rootnoverify (fd0) && chainloader (fd0)+1 && boot

顺便问下,wenv get de=IMG && ……,这句写成这样,前面的 wenv get de=IMG 有什么作用?判断吗?成立后才执行?
但我测试后,加上这句不影响后面语句的执行呀!
回复

使用道具 举报

57#
发表于 2010-10-6 18:45:52 | 只看该作者

回复 #56 paladin15 的帖子

这样写的确可以  但是在加载IMG时会执行两次map --mem  你不怕出错么

前面的 wenv get de=IMG 有什么作用?判断吗?成立后才执行?


确实是判断  不过现在判断有点问题  还没解决
回复

使用道具 举报

58#
发表于 2010-10-6 19:30:20 | 只看该作者

wenv更新了,可以判断了。

今天又更新了,明天写可以判断的菜单。
回复

使用道具 举报

59#
发表于 2010-10-6 20:03:06 | 只看该作者

回复 #58 paladin15 的帖子

嘿嘿  已经解决了  上传新的菜单

一共四种  两种自动判断  两种手动判断  各取所需吧

IMGISO.zip

565 Bytes, 下载次数: 53, 下载积分: 无忧币 -2

回复

使用道具 举报

60#
发表于 2010-10-6 20:16:46 | 只看该作者

回复 #59 sratlf 的帖子

版主能否把必须的文件也打包一下?
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-26 13:44

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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