标题: 关于GRUB用 ISO 仿真 CDROM 的小建议
[打印本页]
作者: martin325
时间: 2007-11-24 23:27
标题: 关于GRUB用 ISO 仿真 CDROM 的小建议
建议GRUB能支持统配符寻找ISO文件。
例如,在menu.lst里写上:
find --set-root /*.iso
map --mem /*.iso (hd32)
map --hook
chainloader (hd32)
boot
这里的*.iso就代表了在任意一个分区根目录上的任意命名的ISO。
如果这样能引导在分区根目录里的任意命名的ISO文件,就使得以上的命令语句具有一定的通用性。因为要引导的ISO文件有很多,如PE的、XP的、甚至Vista的ISO,如果要引导其中的一个,只要将其剪切到分区根目录即可(剪切到同分区的根目录下,速度是飞快的,无论该ISO文件有多大),省去了重写menu.lst的步骤。
这样使用起来很方便,不知做程序麻烦不:)
希望能实现。在此顺便谢谢GRUB的程序开发人员,你们好棒!
作者: lianjiang2004
时间: 2007-11-25 00:21
不知道放上5个,8个iso到同一根目录时,你想要它启动哪一个。呵呵。
作者: lianjiang2004
时间: 2007-11-25 00:23
最好再给它加个人脑,那就不要人了。呵呵。
作者: martin325
时间: 2007-11-25 09:33
Originally posted by lianjiang2004 at 2007-11-25 00:21:
不知道放上5个,8个iso到同一根目录时,你想要它启动哪一个。呵呵。
你怎么说话的啊!
DOS就有统配符的,你猴急啥啊!还连发2个跟帖。
今天有空回答你几个愚蠢的问题
1、你在根目录下放8个ISO干吗。
2、你想启动哪个,就去改你的menu.lst
3、软件开发应用的目的本来就是为了方便使用,否则要引导ISO干吗。你自己买个刻录机不就得了!
Last edited by martin325 on 2007-11-25 at 09:40 AM ]
作者: 不点
时间: 2007-11-25 10:40
这里的*.iso就代表了在任意一个分区根目录上的任意命名的ISO。
诚如 lianjiang 所说,如果根目录有很多 ISO,那你想启动哪一个呢?难道还要让我们像WINDOWS那样自动给出一个列表,你点击鼠标就可以选择了?那改造的恐怕就不是一处两处了,而是真的开发操作系统了。
当然你提出的问题是有意义的,我们目前没有“shell编程”的能力。不仅如此,我们甚至还没有“创建文件,移动文件,编辑文件,改名文件”的能力。你要的功能,需要配合这些才能真正实现。这其实应该属于“操作系统”的功能了。
虽然你提出的问题本身是有意义的,但是,其实现的难度或者复杂度要高得多,而且这一点不难看出来。所以,别人对此表示异议,也是可以理解的。论坛就是让人讨论来的,哪怕别人有嘲讽之意,只要他说的有一点道理,我觉得还是应该给以接纳的。如果纯粹是恶意中伤的帖子,那可以报告管理员。除此之外当别人接帖的时候,我觉得首先应该感谢别人。其次,针对他提出的问题,再给以详细解释,说不定你能够说服对方,让他改变观点。
都是 grub4dos 的支持者、老朋友,我真的很喜欢你们两位。我上面说的这些,可能也会从某方面误解、伤害到你们,希望不要计较。人无完人,我们谁都不例外。
作者: 不点
时间: 2007-11-25 10:49
补充:充分利用现有的功能,说不定也能从某种程度上满足你的需求。比如,目前我们的 map 可以接受多级子目录下的 ISO 文件,而不是必须放在“根目录”。
作者: martin325
时间: 2007-11-25 12:14
不点说的有理。
偶只是小建议,仅供参考。
至于说根目录下有多个ISO,那么GRUB如果检测到了的话,就可以自动转到命令编辑。
我对编程的复杂性不懂,但是按以上这个思路,我想应该很容易实现的,只是有无必要罢了。
作者: pppmmh
时间: 2007-11-25 19:07
Originally posted by lianjiang2004 at 2007-11-25 12:21 AM:
不知道放上5个,8个iso到同一根目录时,你想要它启动哪一个。呵呵。
这个时候应该给一个迷你选单:P;)
作者: loveheartrain
时间: 2007-11-25 23:09
查找某一类文件却实是个大问题,不过它会给我们带来很大的方便.相信有一天4DOS 会实现的.
作者: q8q8feng
时间: 2007-11-26 01:30
如果GRUB4DOS能够实现楼主提到的功能那的确好多了,但是不点和其他开发人员已经做得非常出色了...谢谢GURB4DOS的开发者们
作者: xdg3669
时间: 2007-11-29 17:31
如果别人对你的发言表示异议,也不可以理解的话,谁还敢接你的帖子?也许我们要学东西的话是否也该谦虚一点呢?
Last edited by xdg3669 on 2007-11-29 at 05:34 PM ]
作者: 不点
时间: 2007-11-29 18:58
谢谢 martin325 的理解。也谢谢你给的面子。我想,面子问题不仅仅中国人需要,外国人也需要。越是文明国家、发达国家,就越是讲面子。我甚至会想到,讲面子与讲礼貌几乎是同义词。我不是说我爱面子,前几年总有人跟在我后面肆意谩骂,着实令人生气。当然,现在那人不骂了;即使还有人骂,我也不感到新鲜了,因而也不会再生气了。
人非圣贤,孰能无过。多一些宽容,可以给别人留有改过自新的余地。
作者: fastslz
时间: 2007-11-29 20:45
其实楼主混淆了统配符的概念,就拿Dir *.exe和start *.exe作比较。
而楼主所说的功能就目前来其实并不难,grub4dos也不要忘了Dos下的grub.exe,借助grldr启动Dos,通过dos下命令遍历磁盘上的所有iso,img生成一个menu.lst,再由grub.exe加载启动,就这样远超越了楼主所说的功能。如果觉得DOS界面不够友好,找个小型的带X窗口的linux镜像,利用linux命令遍历文件。grub4dos功能已经够强大了利用好find --set-root也不必指定(hd?,?)。而不点大师要做的是让grldr、grub.exe两“兄弟”更稳定、功能更强大,所以就目前来说grub.exe应用相对不够普及。哎~鼠标下的懒人,包括我自己~
作者: bc12060101
时间: 2007-11-29 21:34
嘿嘿,看来高人之所以成为高人,是因为他们很清楚谦逊是一种美德并拥有之。
高人们,向你们致敬!虽然你们或许从不曾自认为是高人,但偶敬重你们。
作者: sunsuzhou
时间: 2007-12-14 13:52
人无完人,我们谁都不例外。
作者: sunbeam
时间: 2008-1-18 15:49
9494
多个ISO启动可以吗
作者: 429499381
时间: 2008-1-19 05:30
其实我觉得楼主的想法很人性化, 目的是为了让用户使用更加方便简洁。
为什么一定要在GRUB4DOS上做文章呢?? 何不在XP下写个遍历硬盘所有
ISO IMG文件, 根据相关ISO IMG 写个MENU1.LST , 在GRLDR中最后一条
加入载入此菜单,实现引导。
不知道谁能写一个实现该功能的P处理 要求如下:
1: 遍历硬盘寻找ISO IMG 并写出MENU1。LST 菜单
2: 自动分析当前配置是否使用MAP --mem (并给出合理建议)
以上是两个基本要求, 如果能有更多完善的地方自然是最好。
作者: lianjiang2004
时间: 2008-1-19 11:11
找遍硬盘上的img,一般人不说有几百也得有几十吧。呵呵。
作者: wang6610
时间: 2008-1-19 20:14
Originally posted by lianjiang2004 at 2008-1-19 11:11 AM:
找遍硬盘上的img,一般人不说有几百也得有几十吧。呵呵。
我的恐怕过千了。。。。。
作者: lianjiang2004
时间: 2008-1-19 21:03
Originally posted by wang6610 at 2008-1-19 20:14:
我的恐怕过千了。。。。。
如此海量的菜单,自动生成的菜单,用起来还不如自己输入来的方便。呵呵。
作者: 429499381
时间: 2008-1-20 02:17
我还没想到一般人会有上千个此类文件, 恐怕只有想你这种高手才会使用如此
之多来消遣, 呵呵, 要不指定一个目录也行, 这都不是问题。
只是我还没看见有人写一个雏形出来, 没人愿意写我就来写算了。
作者: wang6610
时间: 2008-1-20 09:32
只搜了两块硬盘。
1078个 *.IM?
Last edited by wang6610 on 2008-1-20 at 09:36 AM ]
作者: gne3
时间: 2008-1-20 11:37
我觉得的没有这必要啦吧,这样会不会搞混啦
作者: lianjiang2004
时间: 2008-1-20 14:59
不乱才怪,呵呵。
作者: chenall
时间: 2008-1-30 13:45
整了一个批处理,在WINDOWS下使用.
可以自动为当前目录及子目录下的所有ISO文件生成一个菜单.
需要其它功能的自己改一下吧.
内置CONTIG.EXE(整理文件碎片)就可以不用--mem参数..
- @echo off
- cd /d "%~dp0"
- if not exist contig.exe echo.找不到contig.exe,请复制一个contig.exe到此目录再运行&&pause&&goto :eof
- >auto_menu.lst echo.timeout 5
- >>auto_menu.lst echo.default 0
- for /f "usebackq delims=*" %%i in (`dir /a-d/b/s *.iso`) do call :add_menu "%%i"
- echo.
- echo.==========chenall@www.cn-dos.net==中国DOS联盟论坛===============================
- echo.
- echo.已经为当前目录的ISO文件生成一个GRUB启动菜单auto_menu.lst,可以配合新版GRUB使用以下命令来启动
- echo.find --set-root %root%auto_menu.lst
- echo.configfile %root%auto_menu.lst
- echo.
- echo.==========chenall@www.cn-dos.net==中国DOS联盟论坛===============================
- pause
- goto :eof
- :add_menu
- setlocal
- echo.%time% 对%~1文件进行碎片整理...
- set "file=%~pnx1"
- set "file=%file:\=/%"
- contig %1 >nul
- >>auto_menu.lst echo.title %file%
- >>auto_menu.lst echo.map %file% (0xff)
- >>auto_menu.lst echo.map --hook
- >>auto_menu.lst echo.chainloader (0xff)
- goto :eof
chenall 发表于: 2008-01-30 11:02
Last edited by chenall on 2008-1-30 at 02:58 PM ]
附件
1:
自动生成GRUB菜单.rar (2008-1-30 14:55, 643 bytes, 下载附件所需积分 1点
,下载次数: 24)
作者: 429499381
时间: 2008-1-30 13:46
我初步写了一个,大家给点意见。
把该批处理放在C盘的boot目录下,所有的ISO IMG 放在boot目录下
@echo off
if exist menu.lst ren menu.lst menu.bak
echo timeout 5 >menu.lst
echo fontfile (hd0,0)/minipe/muifont.gz >>menu.lst
echo splashimage (hd0,0)/bj2008.xpm.gz >>menu.lst
echo. >>menu.lst
for /f %%a in ('dir /b *.img') do (
echo title 启动 %%a >>menu.lst
echo map --mem (hd0,0^)/boot/%%a (fd0^) >>menu.lst
echo map --hook >>menu.lst
echo chainloader (fd0^)+1 >>menu.lst
echo rootnoverify (fd0^) >>menu.lst
echo. >>menu.lst
)
for /f %%b in ('dir /b *.iso') do (
echo title 启动 %%b >>menu.lst
echo map --mem (hd0,0^)/boot/%%b (hd32^) >>menu.lst
echo map --hook >>menu.lst
echo chainloader (hd32^) >>menu.lst
echo boot >>menu.lst
echo. >>menu.lst
)
echo title 返回系统选单 >>menu.lst
echo chainloader /ntldr >>menu.lst
作者: 429499381
时间: 2008-1-30 13:51
25楼的压缩包是坏的,麻烦更正下, 而且为什么我不能上传文件, 你可以呢?? 郁闷
作者: chenall
时间: 2008-1-30 14:56
论坛好像不能上传太大的附件.
改了一下只上传了批处理脚本,
CONTIG请自备
Last edited by chenall on 2008-1-30 at 02:57 PM ]
作者: barton
时间: 2008-1-30 15:39
Originally posted by chenall at 2008-1-30 14:56:
论坛好像不能上传太大的附件.
改了一下只上传了批处理脚本,
CONTIG请自备
Last edited by chenall on 2008-1-30 at 02:57 PM ]
稍微改动下,im? 和 gz 类型的也可以搞定 :P
*.iso *.im? *.gz
Last edited by barton on 2008-1-30 at 03:41 PM ]
作者: chenall
时间: 2008-1-30 18:04
在
dir /a-d/b/s *.iso
加就OK了,
像
dir /a-d/b/s *.iso *.im? *.gz
不过后面菜单的代码也要做相应改动.
由于IMG有多种可能,太好好办(有可能是软盘镜像也有可能是硬盘镜像)
GZ就更多了,什么都有可能.
作者: bxag
时间: 2008-2-6 22:25
首先,我是半个菜鸟
GRUB4DOS启动后
好象按两次 E 键就可以编辑加载别的*.iso或*.mag文件的嘛!!!!
只是路径和文件名要人工记住,
作者: wwwcccyyy
时间: 2008-2-18 14:28
如果能用通配符那就很完美了
作者: legon
时间: 2008-3-4 15:50
我是新人,请多关照。
我只说说我的想法。
首先,我们应该向日夜奋战在“自由,开放”软件的工作者致意,是他们用无数的心血和汗水造就了今日的DOS盛世,以及未来足可以抗衡微软的源头。
不点和LIANJIANG老师的作品及教程在下认真拜读学习中,感觉很好很容易上手。论坛就是给大家讨论、研究、学习地地方。不管怎样我们自己不要乱了阵脚,不要无理漫骂,要谦虚,谦虚使人进步。
就是因为有不点老师这类人的存在,社会才更美好。LOL
最后,我是菜鸟中的菜鸟,欢迎大家批评指正。欢迎大家一起讨论研究DOS、GRUB、WINPE…… 我的EMALL:
legon@live.cn
作者: gaogaozhen
时间: 2008-3-11 12:31
能当光驱用么????????
作者: obyzcc
时间: 2008-3-17 10:22
下不啊