无忧启动论坛

 找回密码
 注册
搜索

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

查看数: 213192 | 评论数: 765 | 收藏 193
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2011-12-15 14:28

正文摘要:

本帖最后由 smine 于 2014-12-9 21:55 编辑 请注意,最新的下载地址在本文末尾处。 先看截图: 主菜单

回复

jimewin 发表于 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文件
cwnew02 发表于 2016-9-24 21:12:59
怎么我启动不了呢,吹得不错
拿铁不加糖 发表于 2011-12-15 18:56:35
这个不错哦!下载来看一下!
2010wylwyl 发表于 2013-4-29 16:11:12
GRUB的应用越来越好了……
fukystone 发表于 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),请问怎么处理这个变量能达到效果?
smine 发表于 2013-4-29 09:03:41
本帖最后由 smine 于 2013-4-29 09:23 编辑

\n替换成\x5Cn或者\x5C\x6E
fukystone 发表于 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
复制代码
dopck 发表于 2024-5-7 11:17:50
谢谢分享。
liuyiwen_2013 发表于 2024-4-26 21:55:27
打卡
h2701317 发表于 2023-2-24 21:12:40
感謝大大勞心勞力並且分享
xwlwww 发表于 2023-2-24 16:08:59
谢谢分享
yc2428 发表于 2023-2-9 18:40:08
很好用,只是长时间没更新了!
方长 发表于 2022-8-18 12:14:18
进来学习!
2012sl820s 发表于 2022-8-17 10:52:53
能不能引导u盘上的Windows呢?
2011cwj6958 发表于 2021-12-11 14:22:59
是否可以考虑弄一个UEFI版本的
snowounce 发表于 2020-4-4 21:58:42
唉,小白我试了下没成功啊。。
理助 发表于 2018-2-24 13:58:46
感谢
bhnjdf 发表于 2018-2-4 23:17:48
谢谢分享。
cuicongyuan 发表于 2017-12-15 19:25:54
非常不错,特别是启动界面美爆了。
bugui0709 发表于 2017-12-15 18:49:26
下载试试看
xmzhqw 发表于 2017-6-8 14:33:46
学习了,谢谢
shenkuantipang 发表于 2017-6-1 00:17:02
楼主好,我有个img文件,直接启动不成功,但是作为ramos加载到内存的时候可以启动成功,功能一切正常,请问将img文件作为ramos 加载到内存直接启动不用键盘操作, 语法应该怎么写?
ziwen 发表于 2017-5-31 22:37:16
能自动生成二级菜单就更完美了
shenkuantipang 发表于 2017-5-29 11:20:39
请教下楼主 如果我只要默认启动一个iso文件, 其他什么都不要  怎么引导比较好?
cwnew02 发表于 2016-9-25 19:33:21
老大,你好,我是新人,我想问一下,pe在电脑上启动后,设置的东西比如ip地址,如何保存呢?
cwnew02 发表于 2016-9-24 17:04:22
谢谢,方便了
zhrmghg117 发表于 2016-8-14 21:45:34
为什么我一做成ISO 就不行了 停在

3333333.png (10.54 KB, 下载次数: 146)

3333333.png
zhrmghg117 发表于 2016-8-14 19:17:21
求大神帮忙 谁能帮我把这个全自动菜单 做成一个ISO 我自己做老是不成功
zmyzbf 发表于 2016-6-27 10:28:48
110654 发表于 2016-6-7 11:58
\xE5\x90\xAF\xE5\x8A\xA8\x20\  这是什么鬼? 找了很多地方都没有找到对应的转码工具。我的神啦,大神 请 ...

UTF-8编码16进制,http://www.mytju.com/classcode/tools/encode_utf8.asp
jackwing 发表于 2016-6-23 23:03:51
学习下~~~~~~
wsdyleon 发表于 2016-6-17 22:23:45
这个必须得收藏呀
110654 发表于 2016-6-7 11:58:12
\xE5\x90\xAF\xE5\x8A\xA8\x20\  这是什么鬼? 找了很多地方都没有找到对应的转码工具。我的神啦,大神 请原谅我的无知。

跪求转码工具

点评

UTF-8编码16进制,http://www.mytju.com/classcode/tools/encode_utf8.asp  详情 回复 发表于 2016-6-27 10:28
110654 发表于 2016-6-6 08:50:45
楼主,引导菜单的名字可以自定义修改么?
110654 发表于 2016-6-6 08:48:35
jimewin 发表于 2014-12-23 22:12
看了http://bbs.wuyou.net/forum.php?mod=viewthread&tid=299643,想用smine大的自动菜单模板做一个能支持U ...

grub4dos不支持EFI  你是在逗我吗? 说必须支持???
2012919497149 发表于 2016-6-6 07:42:51
资源启动器功能很实用 太方便了

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

闽公网安备 35020302032614号

GMT+8, 2024-11-27 08:52

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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