无忧启动论坛

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

GRUB全自动菜单引导ISO,IMG,IMA,本地系统,完善资源管理器,支持文本查看(2014-12-9)

    [复制链接]
跳转到指定楼层
1#
发表于 2011-12-15 14:28:32 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 smine 于 2014-12-9 21:55 编辑

请注意,最新的下载地址在本文末尾处。

先看截图:

主菜单


高级菜单


搜索本地系统菜单





说明:

1.本自动引导工具会自动列举/grub/imgs 下的所有可启动镜像,并以菜单形式显示出来供选择,支持ISO,IMG,IMA,支持超长字符,支持中文字符

2.高级菜单中集成了Hotdll的F6IMG模块,配合自动引导ISO功能,实现免F6安装系统

3.高级菜单中支持搜索并引导本地硬盘的xp,2003,win7,win2008,vista系统,自动搜索所有磁盘上的系统引导文件,支持多盘多系统选择引导,每个系统均配备两个引导方式:如,“从(hd1,0)启动”表示引导(hd1,0)的第一扇区;“从(hd1,0)/ntldr 启动”表示引导(hd1,0)上的ntldr,着两种方式有不同的用途:当引导扇区破坏时,可以通过“从(hd1,0)/ntldr 启动”来引导;当使用了KONBOOT免口令模块后,必须从第一扇区引导才能成功。

4.使用方法:用BOOTICE.EXE将U盘格式化,并选择用Grub4dos引导,然后把压缩包里的一个文件“grldr”和一个目录“grub”放到U盘根目录下,然后把你自己的ISO,IMG,IMA镜像放到U:\GRUB\IMGS\ 下即可。

5.注意 文件名可以有空格了

6.其他扩展使用方法:

安装和使用

U盘
需要用BOOTICE.EXE把GRUB安装到U盘,然后只需在U盘根目录放置以下文件即可:
[grub]
grldr

XP,03 系统
需要在C盘根目录放置以下文件:
[grub]
grldr
然后在boot.ini里加一行:
C:\GRLDR="多功能引导" 即可

WIN7系统
需要在C盘根目录放置以下文件:
[grub]
grldr
grldr.mbr
然后在BCD里创建GRUB引导项即可,可以使用BcdTool创建实模式启动项



本批处理支持直接加载ISO安装xp,2003,win7系统,看下面的方法:

A:xp,2003系列

1.准备好U盘,写入Grub引导
2.把xp的ISO文件复制到U盘根目录,或者其他目录
3.用U盘启动电脑,出现主菜单后,按高级菜单,选择F6IMGX86,这一步必不可少,就算你的硬盘是IDE的,也必须这样操作
4.返回到主菜单,打开资源管理器,找到xp的ISO文件,记住xp的ISO文件所在的磁盘根,一般这里是(hd0,0),记下(hd0)
再根据资源管理器里的磁盘的内容,判断你要把系统安装到那个硬盘的根,这里一般可以找到(hd1,0) (hd1,1) (hd1,2)的磁盘,记住(hd1)
5.返回主菜单,进入高级菜单,选择磁盘映射,第一块磁盘选择第4步记下的(hd0),然后第二块磁盘选择第4步记下的(hd1),交换成功后返回
6.打开资源管理器,可以看到磁盘根已经交换过了,比如上例中你会发现原来的U盘的(hd0,0)变成了(hd1,0),原来的(hd1,0) (hd1,1) (hd1,2)变成了(hd0,0) (hd0,1) (hd0,2),
打开u盘,找到xp的ISO文件,打开后选择加载镜像到内存并引导(1G以上内存建议选这项,装机速度快)(小内存机器选择加载镜像并引导),出现“Press Any Key Boot from cd/dvd”时一定要记得按回车
7.出现其他F2,F6提示都不要再按任何键,直到装系统开始,按正常步骤装完,直到重启
8.重启后任然用U盘启动,出现主菜单后,按高级菜单,选择F6IMGX86
9.进入高级菜单,选择磁盘映射,参照前面的方法完成磁盘映射
10.返回主菜单,打开资源管理器,打开u盘,找到xp的ISO文件,打开后选择加载镜像到内存并引导(1G以上内存建议选这项,装机速度快)(小内存机器选择加载镜像并引导),出现“Press Any Key Boot from cd/dvd”时一定要记得不要按任何键
11.等着系统自己开始安装,以后的步骤大家都会,照提示做即可


B:win7系列

1.准备好U盘,写入Grub引导
2.把WIN7的ISO文件复制到U盘根目录,或者其他目录,到网上下载一个软件,叫做VDM虚拟光驱,复制到U盘根目录
3.由于WIN7的ISO文件很大,不能加载到内存启动,只能选择加载镜像并启动,所以这里必须保证WIN7的ISO连续存放,要保证连续存放,有两个办法(1,把U盘格了,把镜像复制进去就是连续的;2,用软件Contig.exe整理)
4.仿照XP的方法映射磁盘,交换系统硬盘为(hd0),U盘为(hd1),成功后返回【这个步骤不一定必要,我的机器可以不交换也能装】
5.打开资源管理器,打开u盘,找到WIN7的ISO文件,打开后选择加载镜像并引导
6.出现现在安装windows的界面时,按下shift+F10,出现cmd命令行窗口
7.输入notepad回车,打开记事本
8.在记事本里点文件,选择打开,在打开对话框里的文件类型选所有文件,然后找到U盘里的虚拟光驱软件:VDM.EXE,记得在VDM.EXE上点右键,选择打开,这样VDM.EXE就运行了
9.在VDM里点装载,找到WIN7的iso镜像,按默认装载为虚拟光驱
10.同样用记事本打开的方式,找到新虚拟的光驱里的setup .exe,右键选择打开,然后按提示安装完成即可,重启的时候不用插U盘了,直接重启安装即可。


注,以上VDM方式加载ISO似乎不支持64位系统,可以用Imdisk代替VDM来虚拟光驱,能支持32位和64位WIN7的安装

用法:
解压缩Imdisk.rar到U盘根目录,然后照以上的办法启动到win7安装界面,然后notepad方法浏览到Imdisk解压缩目录,右键Setup.cmd,选择打开,然后浏览到win7安装镜像ISO的目录,右击WIN7安装镜像,选择“装载到Imdisk虚拟磁盘”,这时候会多出来一个虚拟光驱,notepad浏览到这个虚拟根目录,右键Setup.exe选择打开即可开始安装。
Imdisk.part1.rar (195.31 KB, 下载次数: 1480)
Imdisk.part2.rar (116.16 KB, 下载次数: 1358)


下载地址:

(该连接已经失效,新连接请看下面)


======================下一版更新预告====================

下一版将支持所有盘文件浏览并加载启动等功能,已经有预览版了,只是功能还不够完善,暂时先不放出来。

2011-12-19 更新
===================================================
老规矩,先看图:

增加“资源管理器”模块












说明:

1. 文本查看只支持UTF-8编码的文本,其他文件格式将出现空白或乱码
2.资源管理器暂不支持光驱和软盘,因为太慢。。


2011-12-21 更新
===================================================

说明:
1.本次更新修复了资源管理器文件名或目录名含有空格时引起的BUG,但是镜像文件的文件名还是必须不能含有空格,否组无法加载和引导


2011-12-22 更新
===================================================

说明:
1.本次更新修复了资源管理器文件夹里面包含文件过多引起的BUG,解决了报错 error 30 invalid argument 的问题


2011-12-23 更新
===================================================

说明:
1.本次更新彻底修复了文件名或目录名含有空格时引起的BUG,镜像文件名也可以包含空格!


2012-1-6 更新
===================================================

说明:
1.本次更新修复了一个隐藏的很深的BUG:在原来的资源管理器中,加载镜像并启动以及自动加载镜像到内存并启动的代码生成有问题。


2012-1-12 更新
===================================================

说明:
1.增加文本菜单下中文支持,感谢2011lxmw的帮助
2.修正了map --mem 模式映射的显示问题
3.GRUB\unifont.hex  多余,大家可以下载下面的新版,或者自行删除

2012-2-6 更新
===================================================

说明:
1.修正了map --mem 模式映射的显示问题


2012-2-27 更新
===================================================
1.增加了磁盘映射功能
2.修改了磁盘映射功能显示的问题,屏蔽了源磁盘和目标磁盘是同一磁盘时映射的BUG


2012-2-28 更新
===================================================
1.修正了磁盘映射工具在CD上启动时无法使用的BUG
2.统一使用短文件名


2012-3-1 更新
===================================================
1.增加了ANSI文件显示功能,独创GB2312-UTF8编码转换函数,首次用Grub4Dos实现
2.修复了上一版不能切换到VBE模式的重大BUG
3.修复了原来文件查看功能汉字显示不全的BUG





2012-3-18 更新
===================================================
1.合并ANSI文本读取和UTF8文本读取功能,自动判断文本编码并用合适的方式打开
2.修正了文本浏览器字数过多时截断的BUG
3.文本浏览器增加阅读位置和系统时间提示,下次继续阅读时
   只要输入命令“(bd)/GRUB/viewtext [文本路径] [阅读位置]”即可接着阅读

娱乐贴图:



2012-3-19 更新
===================================================
1.文件打开方式中增加了"做为RAMOS加载到内存并启动"
2.文件打开方式中不再根据扩展名判断文件加载方式,因为像.gz这样的扩展名,
   不知道是什么类型的镜像,不好判断,再者,像.IMG这样的扩展名,也不好区分是软盘镜像还是硬盘镜像
3.修复了文件浏览器可能把上一个文件的最后一行显示到下一个文件开头的BUG


2012-3-31 更新
===================================================
1.修正原来磁盘交换模块交换(bd)设备时强制指定(bd)导致的BUG
2.全新的(bd)定向算法,定向更准确
3.VBE模式显示效果微调,去除GRUB方框,更换背景图片,修改字距和行距


下载地址:
下载地址.zip (150 Bytes, 下载次数: 2176)

由于115网盘的报废,旧链接全部失效,所以发百度网盘链接:
下载地址.zip (178 Bytes, 下载次数: 1981)


2014-1-8 更新
===================================================
1.增加对(bd)/GRUB/IMGS/下的.lst菜单文件的识别和自动显示
2.增加将任意位置的可引导镜像link到(bd)/GRUB/IMGS/下以便在菜单首页识别和显示,用法示例:
  假设有一个镜像文件D:/MYISO/WINPE/WIN2003PE.ISO,则使用步骤如下:
   a.在(bd)/GRUB/IMGS/下新建文本文件(文件名任意,假设为WIN2003PE.TXT)
   b.修改WIN2003PE.TXT文件的内容为/MYISO/WINPE/WIN2003PE.ISO并保存(多个镜像文件可以分多行写).
   c.重命名文件WIN2003PE.TXT为WIN2003PE.glnk

下载地址:
下载地址.zip (153 Bytes, 下载次数: 174)



2014-1-9 更新
===================================================
1.修复上一版glnk不支持中文的问题.
2.修复上一版glnk不支持多行的问题.

下载地址:
下载地址.zip (153 Bytes, 下载次数: 220)



2014-1-13 更新
===================================================
1.修复上一版glnk中无效地址导致菜单不显示的问题

下载地址:
下载地址.zip (151 Bytes, 下载次数: 801)



2014-5-22 更新
===================================================
1.glnk文件增加指定文件夹功能,当glnk文件指定的是文件夹(路径必须以“/”结尾)时,将列举该文件夹下的所有文件,并按照处理/GRUB/IMGS的逻辑处理。
  glnk文件示例:
  1). 链接单个文件示例:
  假设有一个镜像文件D:/DIYISO/WINPE/DIY_WIN2003PE.ISO,则使用步骤如下:
    a.在(bd)/GRUB/IMGS/下新建文本文件(文件名任意,假设为WIN2003PE.TXT)
    b.修改WIN2003PE.TXT文件的内容为/DIYISO/WINPE/DIY_WIN2003PE.ISO并保存(多个镜像文件可以分多行写).
    c.重命名文件WIN2003PE.TXT为WIN2003PE.glnk(或者任意文件名,后缀必须是.glnk)

  2). 链接文件夹示例:
  假设有一个镜像文件夹D:/DIYISO/,则使用步骤如下:
    a.在(bd)/GRUB/IMGS/下新建文本文件(文件名任意,假设为DIYMENU.TXT)
    b.修改DIYMENU.TXT文件的内容为/DIYISO/并保存(多个镜像文件夹可以分多行写,必须以“/”结尾).
    c.重命名文件DIYMENU.TXT为DIYMENU.glnk(或者任意文件名,后缀必须是.glnk)

下载地址:
下载地址.zip (151 Bytes, 下载次数: 104)


2014-5-31 更新
===================================================
1.修复上一版使用find不能查找文件夹的问题。
2.修复上一版某些情况下陷入死循环的问题。
3.禁止显示多余的输出信息
4.修复自动搜索光盘可能导致的卡死问题

下载地址:
下载地址.zip (153 Bytes, 下载次数: 65)


2014-5-31 第二次更新
===================================================
1.修复上一版判断文件存在时的性能问题,优化判断逻辑。
2.修复上一版嵌套glnk引起死循环的问题。从这一版开始,支持glnk多层嵌套,即glnk指向的文件夹里面可以包含glnk文件,glnk也可以指向新的glnk文件,建议嵌套层数不要太多。
3.更新grldr版本为grub4dos-0.4.6a-2014-05-13,支持碎片直接map
4.新版本grldr支持 usb2.0 驱动设备枚举,所以新增usb2.0 驱动设备枚举的高级菜单。

下载地址:
下载地址.zip (153 Bytes, 下载次数: 623)


2014-12-9 更新
===================================================
1.修复上一版在ud中使用时镜像重复显示的问题。
2.在DIYISO下增加glnk的使用说明
下载地址:
下载地址.zip (153 Bytes, 下载次数: 3581)

点评

(fd0)/GRUB/USB_ACC.0PE  发表于 2015-5-27 16:06
grldr.mbr呢?  发表于 2015-4-13 13:00
utf8和unicode(utf-16还是ucsii来着)其实是移位运算的转换关系, 大大考虑一下?  发表于 2014-2-4 11:40
大神 我在469# 楼  发表于 2014-1-12 20:57
终于等到大神更新了。求加入VHD支持啊!感谢大神无私奉献,膜拜!  发表于 2014-1-12 16:01

评分

参与人数 24无忧币 +169 收起 理由
wuxin9712 + 5
tianyuan + 5 我不能更支持了!
jackyd1999 + 5 赞一个!
zmac2007 + 5
dxvyi + 5 非常赞!就是我不能实现U盘从ExFAT启动是为.
liangyi + 5 赞一个!
xiao878 + 5 很给力!
huping0 + 5 好作品!不解释......
cuicongyuan + 5
julon + 5 非常好,要是仅搜索iso/img就更好了~
mcsky + 5 很给力!
527104427 + 5 老大独创的GB2312-UTF8编码转换函数太棒了
2010qqzwc + 5 很给力!
angelzgh + 5 很给力!
peterpanheaven + 5 很给力!
2010hly + 5 很给力!
tt911 + 5 折腾成功,不佩服 高人有罪啊~~
20121adgjmptw + 5 大大是不是该更新下了?
2013_Jogger + 5 很给力!
2011cwj6958 + 5 很给力!
易广白 + 5 很给力!
bigdinosaur + 12 这个非常不错!
fh123456 + 16 精品文章
a102135 + 36 原创内容

查看全部评分

推荐
发表于 2014-12-23 22:12:39 | 只看该作者
看了http://bbs.wuyou.net/forum.php?mod=viewthread&tid=299643,想用smine大的自动菜单模板做一个能支持UEFI的光盘合盘,2011hiboy大的光盘模板里是直接调用的WINPE_X86.WIM和WINPE_X64.wim文件,smine大,全自动菜单模板能直接列出WIM文件的PE文件菜单吗或怎么通过菜单调用WINPE_X86.WIM和WINPE_X64.wim文件

点评

grub4dos不支持EFI 你是在逗我吗? 说必须支持???  详情 回复 发表于 2016-6-6 08:48
对啊,必须支持UEFI的啊!!!  详情 回复 发表于 2016-2-29 12:12
回复

使用道具 举报

推荐
发表于 2016-9-24 21:12:59 | 只看该作者
怎么我启动不了呢,吹得不错
回复

使用道具 举报

推荐
发表于 2011-12-15 18:56:35 | 只看该作者
这个不错哦!下载来看一下!
回复

使用道具 举报

推荐
发表于 2013-4-29 16:11:12 | 只看该作者
GRUB的应用越来越好了……

点评

6c8ec 最强兵王 www.68la.com/read/11/11237/  发表于 2014-8-26 10:56
回复

使用道具 举报

推荐
发表于 2013-4-29 11:38:01 | 只看该作者
smine 发表于 2013-4-29 09:03
\n替换成\x5Cn或者\x5C\x6E

多谢!
另还有一问题,变量%file%是带分区(例如(hd0,0)\boot\imgs\img.iso)这样的形式,但我只要目录和文件名部分(\boot\imgs\img.iso),请问怎么处理这个变量能达到效果?
回复

使用道具 举报

推荐
 楼主| 发表于 2013-4-29 09:03:41 来自手机 | 只看该作者
本帖最后由 smine 于 2013-4-29 09:23 编辑

\n替换成\x5Cn或者\x5C\x6E
回复

使用道具 举报

推荐
发表于 2013-4-28 12:31:48 | 只看该作者
本帖最后由 fukystone 于 2013-4-28 12:36 编辑
smine 发表于 2013-3-19 11:52
使用 MsgDiyer.exe 修改main.msg 和view.msg即可修改gfxmenu 模式下的背景,解压bg.lzma即可修改vbe模式 ...


一个问题请老大帮忙看一下:
我修改了automenu文件,希望能支持firadisk模拟内存盘,主要是:iso部分,但是语句中包含了\n,结果实际运行中被自动分行了,请问怎么写语句能保持原样?
:iso
echo -e title         \xE5\x90\xAF\xE5\x8A\xA8\x20\x20%~n1                                                                 >> (md)0x23000+0x10
echo -e clear                                                                                                                >> (md)0x23000+0x10
echo configfile (md)0x23000+0x10 | echo -e \x20\x7C\x7C\x20 | echo map --heads=2 --sectors-per-track=18 --mem (md)0x800+4 (99)                 >> (md)0x23000+0x10
echo -e map %file% (0xff)                                                       \x7C\x7C configfile (md)0x23000+0x10                >> (md)0x23000+0x10
echo -e map --hook                                                              \x7C\x7C configfile (md)0x23000+0x10                >> (md)0x23000+0x10
echo -e write (99) [FiraDisk]\nStartOptions=cdrom,vmem=find:%file%;\n\0         \x7C\x7C configfile (md)0x23000+0x10                >> (md)0x23000+0x10
echo -e chainloader (0xff)                                                              \x7C\x7C configfile (md)0x23000+0x10                >> (md)0x23000+0x10
exit

附全部菜单:
  1. !BAT
  2. debug off
  3. ::目前支持到grldr-2012-6-19,后面的版本命令有修改,不支持font && font /BOOT/GRUB/ufont.gz ,run的菜单返回configfile (md)4+8也不支持
  4. ::grldr-2012-6-19以后的新版本的命令修改:
  5. ::run菜单返回:(不支持(md)4+8)
  6. ::write 0x307ff8 1
  7. ::configfile
  8. ::run字库重置:(不支持&&)
  9. ::font
  10. ::font /BOOT/GRUB/ufont.gz
  11. checkrange 20110918:-1 read 0x8278 || echo Please use grub4dos-0.4.5b-2011-09-18 or above! && exit 1

  12. ::记录启动设备
  13. set bootdev=%~d0

  14. ::如果有分区号,则取出分区号
  15. if '%bootdev:~-3,1%'==',' set bootpart=%bootdev:~-2,1%

  16. ::获得菜单用bd变量
  17. echo -e \x25bootdev\x25 | set menudev=

  18. ::初始化NTBOOT
  19. if not exist NTBOOT set NTBOOT=/BOOT/NTBOOT/NTBOOT

  20. ::菜单支持参数:BOOT/IMGS/;含义为查找所有分区下BOOT\IMGS目录中的启动文件
  21. ::BOOT前不加路径,代表查找所有分区,IMGS后加/代表目录
  22. set path=%1
  23. set i=0
  24. set exitnum=0

  25. ::主菜单
  26. echo -e debug off\ndefault 1\ntimeout 10\ngfxmenu %menudev%/BOOT/GRUB/main.msg\nsplashimage %menudev%/BOOT/GRUB/bg.lzma\nfont %menudev%/BOOT/GRUB/ufont.gz\n        > (md)0x23000+0x10
  27. call :defaultmenu
  28. call :listdrive

  29. configfile (md)0x23000+0x10
  30. configfile (md)0x23400+0x100
  31. exit

  32. ::查找分区及目录
  33. :listdrive
  34. debug normal
  35. find --ignore-floppies                                  > (md)0x23300+0x10
  36. debug off
  37. echo -e \x20\x20\x20\x20\x20                        >> (md)0x23300+0x10
  38. call :processdrive
  39. exit

  40. :processdrive
  41. cat --skip=%i% --length=1 (md)0x23300+0x10 | set n=
  42. if exist n set outstr=%outstr%%%%n%
  43. if exist n set exitnum=0
  44. if not exist n call :showdrive %outstr%
  45. if not exist n set outstr=
  46. if not exist n set /a exitnum=%exitnum%+1
  47. set /a i=%i%+1
  48. if %exitnum%==4 exit
  49. goto :processdrive

  50. :showdrive
  51. set curdrv=%1
  52. if not '%curdrv%'=='' if '%curdrv:~,1%'=='(' if '%curdrv:~-1%'==')' call :listdir %curdrv%
  53. exit

  54. :listdir
  55. set drive=%1
  56. echo -e        > (md)0x23500+0x100
  57. ls %drive%/%path% | call :list
  58. cat (md)0x23500+0x100 >> (md)0x23400+0x100
  59. exit

  60. :list
  61. if "%1"=="" exit
  62. if not "%1"=="" call :processitem %drive%/%path%%%1
  63. shift
  64. goto :list
  65. exit

  66. ::自动生成菜单
  67. :processitem
  68. set item=%1
  69. ls %item%/ > nul || call :automenu %item%
  70. ls %item%/ > nul || exit
  71. exit

  72. :automenu
  73. set file=%1
  74. if "%file%"=="" exit
  75. if not "%file%"=="" call :makemenu %file%
  76. shift
  77. goto :automenu
  78. exit

  79. :makemenu
  80. if /i "%~x1"==".iso" && call :iso %file%
  81. if /i "%~x1"==".img" && call :img %file%
  82. if /i "%~x1"==".ima" && call :ima %file%
  83. if /i "%~x1"==".bin" && call :bin %file%
  84. if /i "%~x1"==".lst" && call :lst %file%
  85. if /i "%~x1"==".vhd" && call :nt6 %file%
  86. if /i "%~x1"==".vhdx" && call :nt6 %file%
  87. if /i "%~x1"==".wim" && call :nt6 %file%
  88. if /i "%~x1"==".is_" && call :pe1 %file%
  89. exit

  90. :nt6
  91. echo -e title         \xE5\x90\xAF\xE5\x8A\xA8\x20\x20%~n1                                                                        >> (md)0x23000+0x10
  92. echo -e clear                                                                                                                >> (md)0x23000+0x10
  93. echo configfile (md)0x23000+0x10 | echo -e \x20\x7C\x7C\x20 | echo command %NTBOOT% NT6=%file%                        >> (md)0x23000+0x10
  94. exit

  95. :pe1
  96. echo -e title         \xE5\x90\xAF\xE5\x8A\xA8\x20\x20%~n1                                                                >> (md)0x23000+0x10
  97. echo -e clear                                                                                                                >> (md)0x23000+0x10
  98. echo configfile (md)0x23000+0x10 | echo -e \x20\x7C\x7C\x20 | echo command %NTBOOT% pe1=%file%                        >> (md)0x23000+0x10
  99. exit

  100. :iso
  101. echo -e title         \xE5\x90\xAF\xE5\x8A\xA8\x20\x20%~n1                                                                 >> (md)0x23000+0x10
  102. echo -e clear                                                                                                                >> (md)0x23000+0x10
  103. echo configfile (md)0x23000+0x10 | echo -e \x20\x7C\x7C\x20 | echo map --heads=2 --sectors-per-track=18 --mem (md)0x800+4 (99)                 >> (md)0x23000+0x10
  104. echo -e map %file% (0xff)                                                       \x7C\x7C configfile (md)0x23000+0x10                >> (md)0x23000+0x10
  105. echo -e map --hook                                                              \x7C\x7C configfile (md)0x23000+0x10                >> (md)0x23000+0x10
  106. echo -e write (99) [FiraDisk]\nStartOptions=cdrom,vmem=find:%file%;\n\0         \x7C\x7C configfile (md)0x23000+0x10                >> (md)0x23000+0x10
  107. echo -e chainloader (0xff)                                                              \x7C\x7C configfile (md)0x23000+0x10                >> (md)0x23000+0x10
  108. exit

  109. :img
  110. :ima
  111. echo -e title         \xE5\x90\xAF\xE5\x8A\xA8\x20\x20%~n1                                                                 >> (md)0x23000+0x10
  112. echo -e clear                                                                                                                >> (md)0x23000+0x10
  113. echo configfile (md)0x23000+0x10 | echo -e \x20\x7C\x7C\x20 | echo map --mem %file% (fd0)                >> (md)0x23000+0x10
  114. echo -e map --hook                                                        \x7C\x7C configfile (md)0x23000+0x10                >> (md)0x23000+0x10
  115. echo -e rootnoverify (fd0)                                                \x7C\x7C configfile (md)0x23000+0x10                >> (md)0x23000+0x10
  116. echo -e chainloader (fd0)+1                                                \x7C\x7C configfile (md)0x23000+0x10                >> (md)0x23000+0x10
  117. exit

  118. :bin
  119. echo -e title         \xE5\x90\xAF\xE5\x8A\xA8\x20\x20%~n1                                                                        >> (md)0x23000+0x10
  120. echo -e clear                                                                                                                >> (md)0x23000+0x10
  121. echo configfile (md)0x23000+0x10 | echo -e \x20\x7C\x7C\x20 | echo kernel %file%                        >> (md)0x23000+0x10
  122. exit

  123. :lst
  124. echo -e title         \xE5\x90\xAF\xE5\x8A\xA8\x20\x20%~n1                                                                         >> (md)0x23000+0x10
  125. echo -e clear                                                                                                                >> (md)0x23000+0x10
  126. echo configfile (md)0x23000+0x10 | echo -e \x20\x7C\x7C\x20 | echo configfile %file%                        >> (md)0x23000+0x10
  127. exit

  128. :defaultmenu
  129. echo -e title         \xE8\xB5\x84\xE6\xBA\x90\xE7\xAE\xA1\xE7\x90\x86\xE5\x99\xA8                                        >> (md)0x23000+0x10
  130. echo -e command %menudev%/BOOT/GRUB/filelist                                                                                >> (md)0x23000+0x10
  131. echo -e                                                                                                                  >> (md)0x23000+0x10
  132. echo -e title         \xE9\xAB\x98\xE7\xBA\xA7\xE8\x8F\x9C\xE5\x8D\x95                                                        >> (md)0x23000+0x10
  133. echo -e configfile (md)0x23100+0x10                                                                                        >> (md)0x23000+0x10
  134. echo -e                                                                                                                  >> (md)0x23000+0x10


  135. ::高级菜单
  136. echo -e debug off\ndefault 11\ntimeout 10\ngfxmenu %menudev%/BOOT/GRUB/main.msg\nsplashimage %menudev%/BOOT/GRUB/bg.lzma\nfont %menudev%/BOOT/GRUB/ufont.gz\n        > (md)0x23100+0x10

  137. echo -e title         GRUB\x20\x20\xE5\x91\xBD\xE4\xBB\xA4\xE8\xA1\x8C                                                        >> (md)0x23100+0x10
  138. echo -e commandline                                                                                                        >> (md)0x23100+0x10
  139. echo -e                                                                                                                  >> (md)0x23100+0x10
  140. echo -e title         RUN\x20\x20\x20\x20\xE5\x91\xBD\xE4\xBB\xA4\xE8\xA1\x8C                                                >> (md)0x23100+0x10
  141. echo -e font\x20&&\x20font /BOOT/GRUB/ufont.gz                           \x7C\x7C configfile (md)0x23100+0x10                >> (md)0x23100+0x10
  142. echo -e graphicsmode -1 640                                              \x7C\x7C configfile (md)0x23100+0x10                >> (md)0x23100+0x10
  143. echo -e terminal --font-spacing=0:3                                      \x7C\x7C configfile (md)0x23100+0x10                >> (md)0x23100+0x10
  144. echo -e command run                                                                                                         >> (md)0x23100+0x10
  145. echo -e                                                                                                                  >> (md)0x23100+0x10
  146. echo -e title         RUN\x20\x20AUTOMENU\x20\x20BY\x20\x20DPMS                                                                >> (md)0x23100+0x10
  147. echo -e font\x20&&\x20font /BOOT/GRUB/ufont.gz                          \x7C\x7C configfile (md)0x23100+0x10                >> (md)0x23100+0x10
  148. echo -e graphicsmode -1 640                                             \x7C\x7C configfile (md)0x23100+0x10                >> (md)0x23100+0x10
  149. echo -e terminal --font-spacing=0:3                                     \x7C\x7C configfile (md)0x23100+0x10                >> (md)0x23100+0x10
  150. echo -e command run --fira:/BOOT/GRUB/firadisk.img dpms:/BOOT/GRUB/SRS/dpms.lzma  --automenu                            >> (md)0x23100+0x10
  151. echo -e                                                                                                                  >> (md)0x23100+0x10
  152. echo -e title         CDLINUX\xE5\xBC\x95\xE5\xAF\xBC\xE5\xB7\xA5\xE5\x85\xB7                                                >> (md)0x23100+0x10
  153. echo -e command %menudev%/BOOT/GRUB/linuxmenu CDLINUX                                                                   >> (md)0x23100+0x10
  154. echo -e                                                                                                                  >> (md)0x23100+0x10
  155. echo -e title         NTBOOT\xE5\xBC\x95\xE5\xAF\xBC\xE5\xB7\xA5\xE5\x85\xB7                                                >> (md)0x23100+0x10
  156. echo -e command %menudev%/BOOT/GRUB/ntbootlt                                                                                >> (md)0x23100+0x10
  157. echo -e                                                                                                                  >> (md)0x23100+0x10
  158. echo -e title         F6IMG(x86)                                                                                        >> (md)0x23100+0x10
  159. echo -e %menudev%/BOOT/GRUB/F6IMG %menudev%/BOOT/GRUB/SRS                 \x7C\x7C configfile (md)0x23100+0x10                >> (md)0x23100+0x10
  160. echo -e configfile (md)0x23100+0x10                                                                                        >> (md)0x23100+0x10
  161. echo -e                                                                                                                  >> (md)0x23100+0x10
  162. echo -e title         F6IMG(x64)                                                                                        >> (md)0x23100+0x10
  163. echo -e %menudev%/BOOT/GRUB/F6IMG --X64 %menudev%/BOOT/GRUB/SRS         \x7C\x7C configfile (md)0x23100+0x10                >> (md)0x23100+0x10
  164. echo -e configfile (md)0x23100+0x10                                                                                        >> (md)0x23100+0x10
  165. echo -e                                                                                                                  >> (md)0x23100+0x10
  166. echo -e title         \xE7\xA3\x81\xE7\x9B\x98\xE6\x98\xA0\xE5\xB0\x84\xE5\xB7\xA5\xE5\x85\xB7                                >> (md)0x23100+0x10
  167. echo -e command %menudev%/BOOT/GRUB/devmap                                \x7C\x7C configfile (md)0x23100+0x10                >> (md)0x23100+0x10
  168. echo -e                                                                                                                  >> (md)0x23100+0x10
  169. echo -e title         \xE4\xBB\x8E\xE5\x85\x89\xE9\xA9\xB1\xE5\x90\xAF\xE5\x8A\xA8                                        >> (md)0x23100+0x10
  170. echo -e cdrom --init                                                        \x7C\x7C configfile (md)0x23100+0x10                >> (md)0x23100+0x10
  171. echo -e map --hook                                                        \x7C\x7C configfile (md)0x23100+0x10                >> (md)0x23100+0x10
  172. echo -e chainloader (cd0) \x7C\x7C chainloader (cd1)                        \x7C\x7C configfile (md)0x23100+0x10                >> (md)0x23100+0x10
  173. echo -e                                                                                                                  >> (md)0x23100+0x10
  174. echo -e title         \xE6\x90\x9C\xE7\xB4\xA2\xE5\xB9\xB6\xE5\xBC\x95\xE5\xAF\xBCWINDOWS                               >> (md)0x23100+0x10
  175. echo -e command %menudev%/BOOT/GRUB/findboot bootmgr \x7C\x7C command %menudev%/BOOT/GRUB/findboot ntldr                       >> (md)0x23100+0x10
  176. echo -e configfile (md)0x23100+0x10                                                                                        >> (md)0x23100+0x10
  177. echo -e                                                                                                                  >> (md)0x23100+0x10
  178. echo -e title         \xE6\x90\x9C\xE7\xB4\xA2\xE5\xB9\xB6\xE5\xBC\x95\xE5\xAF\xBC\xE8\x8F\x9C\xE5\x8D\x95MENU.LST      >> (md)0x23100+0x10
  179. echo -e configfile %menudev%/BOOT/GRUB/menu.lst                          \x7C\x7C configfile (md)0x23100+0x10                >> (md)0x23100+0x10
  180. echo -e                                                                                                                  >> (md)0x23100+0x10
  181. echo -e title         \xE8\xBF\x94\xE5\x9B\x9E\xE4\xB8\xBB\xE8\x8F\x9C\xE5\x8D\x95                                        >> (md)0x23100+0x10
  182. echo -e configfile (md)0x23000+0x10                                                                                        >> (md)0x23100+0x10
  183. exit
复制代码
回复

使用道具 举报

2#
发表于 2011-12-15 14:57:08 | 只看该作者
你这个和两个run有什么不同之处么?
貌似这个只是多个图形而已!
回复

使用道具 举报

3#
发表于 2011-12-15 15:50:32 | 只看该作者
不错不错哦,学习一下
回复

使用道具 举报

4#
发表于 2011-12-15 17:25:03 | 只看该作者
学习一下,学习一下
回复

使用道具 举报

5#
发表于 2011-12-15 17:27:02 | 只看该作者
应该是使用了iftitle的吧?
回复

使用道具 举报

6#
发表于 2011-12-15 17:28:25 | 只看该作者
不错 很强大 试试
回复

使用道具 举报

7#
发表于 2011-12-15 17:32:17 | 只看该作者
GRUB的应用越来越好了……
回复

使用道具 举报

8#
发表于 2011-12-15 17:35:27 | 只看该作者

回复 #5 zhs509 的帖子

发现我猜错了。。。
是用批处理动态生成菜单啊
回复

使用道具 举报

9#
发表于 2011-12-15 17:56:58 | 只看该作者
下载试试了。。。。。
回复

使用道具 举报

11#
发表于 2011-12-15 20:41:04 | 只看该作者
这个不错,很有特色。请问楼主:放入的PE是不是有一定的局限性?

[ 本帖最后由 wenxin 于 2011-12-15 20:59 编辑 ]
回复

使用道具 举报

12#
发表于 2011-12-15 21:14:06 | 只看该作者
楼主做的这个真的很不错的支持了。
回复

使用道具 举报

13#
发表于 2011-12-15 21:29:45 | 只看该作者
很深奥!进来看下热闹!
回复

使用道具 举报

14#
发表于 2011-12-15 23:32:44 | 只看该作者
很不错,先下载学习一下,谢谢分享!
回复

使用道具 举报

15#
 楼主| 发表于 2011-12-16 09:55:36 | 只看该作者
原帖由 wenxin 于 2011-12-15 20:41 发表
这个不错,很有特色。请问楼主:放入的PE是不是有一定的局限性?


这是一个G4D批处理,用来引导PE和其他启动镜像的,对于ISO版的PE,基本上都能正常引导
回复

使用道具 举报

16#
发表于 2011-12-16 10:21:09 | 只看该作者
原帖由 smine 于 2011-12-16 09:55 发表


这是一个G4D批处理,用来引导PE和其他启动镜像的,对于ISO版的PE,基本上都能正常引导

昨天测试了,加入我心如水的维护版、珍藏版都不能成功进入PE,只有WIN7PE才可以,另外OPE可以
回复

使用道具 举报

17#
 楼主| 发表于 2011-12-16 11:13:18 | 只看该作者
原帖由 wenxin 于 2011-12-16 10:21 发表

昨天测试了,加入我心如水的维护版、珍藏版都不能成功进入PE,只有WIN7PE才可以,另外OPE可以


这个倒挺头疼了,我自动生成的引导ISO的语句也就是
map (bd)/GRUB/IMGS/xx.iso (0xff) || map --mem (bd)/GRUB/IMGS/xx.iso (0xff)
map --hook
chainloader (0xff)
能否贴出你正常引导我心如水的维护版或珍藏版的GRUB代码,我看看有什么不一样的。
回复

使用道具 举报

18#
发表于 2011-12-16 12:18:44 | 只看该作者
原帖由 smine 于 2011-12-16 11:13 发表


这个倒挺头疼了,我自动生成的引导ISO的语句也就是
map (bd)/GRUB/IMGS/xx.iso (0xff) || map --mem (bd)/GRUB/IMGS/xx.iso (0xff)
map --hook
chainloader (0xff)
能否贴出你正常引导我心如水的维护版 ...

以下是我的截图,一图正常,回车后出现图二;二图有乱码,回车后是图三;三图也有乱码。图二与图三是汉字部份才是乱码。

[ 本帖最后由 wenxin 于 2011-12-16 12:20 编辑 ]

1.JPG (37.89 KB, 下载次数: 418)

1.JPG

2.JPG (30.73 KB, 下载次数: 409)

2.JPG

3.JPG (53.24 KB, 下载次数: 402)

3.JPG
回复

使用道具 举报

19#
 楼主| 发表于 2011-12-16 14:32:03 | 只看该作者
原帖由 wenxin 于 2011-12-16 12:18 发表

以下是我的截图,一图正常,回车后出现图二;二图有乱码,回车后是图三;三图也有乱码。图二与图三是汉字部份才是乱码。


忘了说了,文件名不能有空格!
回复

使用道具 举报

20#
发表于 2011-12-16 15:00:16 | 只看该作者
原帖由 smine 于 2011-12-16 14:32 发表


忘了说了,文件名不能有空格!

果然如此,文件名中不能有空格。以下水PE和各种DOS工具,在虚拟机中测试,全部通过,引导成功,只有最后一个PE在启动过程中蓝屏。

捕获.JPG (35.78 KB, 下载次数: 414)

捕获.JPG
回复

使用道具 举报

21#
发表于 2011-12-16 18:04:45 | 只看该作者
谢谢提供
非常实用
以后不用再辛苦的写菜单了
回复

使用道具 举报

22#
发表于 2011-12-16 19:13:01 | 只看该作者
灰常实用的东东,,,我等菜鸟之福音

能不能自动生成菜单之后,自动导出一个menu,下次直接读取menu,不用重新批处理生成菜单,,节约时间。。待img文件夹有更新的时候再重新调用批处理自动生成菜单???
回复

使用道具 举报

23#
发表于 2011-12-16 22:37:15 | 只看该作者
请问楼主:有没有办法使菜单按指定的顺序排列?比如按1、2、3、4、5、6的顺序排列。另外,我发现:适用的ISO最好是全内置、无EZB作第一引导启动菜单的PE。如果有外置,好象加载不上。

[ 本帖最后由 wenxin 于 2011-12-17 14:09 编辑 ]

捕获.JPG (32.05 KB, 下载次数: 337)

捕获.JPG
回复

使用道具 举报

24#
发表于 2011-12-17 00:02:20 | 只看该作者

回复 #1 smine 的帖子

看了下菜单  看你用的大概是6MB处的内存  那应该是保留扇区  不建议使用

最好换成另外的内存块  一个是256K开始的20K  还一个是64MB以上  分别是(md)0x200 和 (md)0x20000

写自动菜单的话可以看看chenall的run  也是最早的自动菜单 http://chenall.net/post/grub4dos_run/

后来有我和zxw写的增强版的  在grub区
回复

使用道具 举报

25#
发表于 2011-12-17 00:11:30 | 只看该作者
原帖由 sratlf 于 2011-12-17 00:02 发表
看了下菜单  看你用的大概是6MB处的内存  那应该是保留扇区  不建议使用

最好换成另外的内存块  一个是256K开始的20K  还一个是64MB以上  分别是(md)0x200 和 (md)0x20000

写自动菜单的话可以看看chenall ...


这个建议很好。
楼主作的很不错,学习了……
回复

使用道具 举报

26#
发表于 2011-12-17 10:07:32 | 只看该作者
文件放在硬盘里,加上启动项也很好用,非常好!!
回复

使用道具 举报

27#
发表于 2011-12-17 10:17:45 | 只看该作者
支持楼主更进一步,做的更好。
回复

使用道具 举报

28#
发表于 2011-12-17 12:15:38 | 只看该作者
楼主好,向楼主学习!我看到你的作品中automenu中的菜单没有中文,请教下你的中文菜单是那里来的呢?
回复

使用道具 举报

29#
发表于 2011-12-17 12:50:36 | 只看该作者

回复 #28 a102135 的帖子

把中文换成utf8编码了  比如 测试 两个汉字的utf8编码就是 \xE6\xB5\x8B\xE8\xAF\x95
回复

使用道具 举报

30#
发表于 2011-12-17 13:13:15 | 只看该作者

回复 #29 sratlf 的帖子

学习了,原来如此。。。
之前就一直纳闷打开都没看到汉字,汉字哪来的!
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-27 06:53

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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