无忧启动论坛

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

GRUB封装启动 相关批处理

  [复制链接]
发表于 2010-2-17 09:21:53 | 显示全部楼层 |阅读模式
一楼制作GRUB 和 linux的标准启动光盘印像 ISO  二楼: 编缉GRUB的内置菜单,  三楼:制作GRUB启动菜单合格的背景图:xpm;xpm.gz


@echo off&title GRUB4DOS启动光盘制作 BY x9tian&setlocal enabledelayedexpansion
path %~dp0;%path%
echo.&echo.本批处理目标是:生成一个符合GRUB4DOS 启动的光盘印像文件(*.iso)
echo.&echo.请按如下步骤进行操作:
echo.新建一个文件夹 (可任意分区任意名,但不能含空格) 把您要制作启动光盘的文件全部放到这个目录&echo.&echo.完成以上步骤后按任意键继续;&pause>nul&echo.&color a&set/p wj=把您新建的目录拖放到本窗口===^>
echo.&echo.把引导文件grldr(可任意分区任意名,但不能含空格)拖放到本窗口==^>
set/p yd=如果引导在%wj%目录,只需输入文件名!
xcopy /h/r/y "%yd%"  %wj%\  &set v=%date:-=%&set v=!v:~0,-4!&set v=!v!_%time%
for %%a in (set b=%yd:\= %) do set b=%%a
for  %%a in (set k=%wj:\= %) do set n=%%a
for %%a in (%wj%) do set lj=%%~dpa
mkisofs  -v -V "%v%"  -R -b %b% -hide boot.catalog -hide-joliet boot.catalog -no-emul-boot -boot-load-size 4 -o %lj%%n%.iso %wj%
echo.&echo.&echo.如无错误提示, %lj%%n%.iso制作完成!稍后退出并打开ISO文件所在目录&&ping 127.1 -w 80000>nul 2>nul&&start "" "%lj%"&del %0


[ 本帖最后由 x9tian 于 2010-2-17 10:22 编辑 ]

MAKGISO.part1.rar

292.97 KB, 下载次数: 1579, 下载积分: 无忧币 -2

成品须两文件都下载才能解压

MAKGISO.part2.rar

148.76 KB, 下载次数: 1623, 下载积分: 无忧币 -2

成品须两文件都下载才能解压

发表于 2010-3-13 22:45:43 | 显示全部楼层

回复 #2 x9tian 的帖子

老大的
grub内置菜单编缉器有些问题!!!

无法实用哦 好像是变量 设定出错了!!!

我自己 在自己本来以前 p大那个GRUBMENU 基础上 +上你变量设定(到现在我才知道啊 我很菜吧??)

我自己制作了 3个吧 一个用 bat转exe 做成了个 单文件

一个用 rar做的 自释放 单文件 (区别就是一个有图标和对窗口设定 一个没有吧呵呵呵 ) 最后就是 批处理源码来了


我上传附件:

2010.11.10更新增强版本1.0.0.3版本
做了很久了 忘记上传给大家用了就算11.10的吧
跟之前相比 添加 标题名修改 见截图演示
添加 ASNI 与 UTF-8 编码 转码提示 感谢haiou327 将啊呆老大
的单向 增强为双向转换 编码
haiou327 增强版工具地址:http://bbs.wuyou.net/forum.php?mod=viewthread&tid=170053

GFX菜单内置_单文件_1.0.0.3.rar (123.02 KB, 下载次数: 2700)
回复

使用道具 举报

 楼主| 发表于 2010-2-17 09:35:24 | 显示全部楼层

grub内置菜单编缉器

@Echo off&Set "Pro= GRUB4DOS内置菜单编辑器 "&PUSHD %~dp0
title= %Pro%----主菜单 by  x9tian
Set L1=      ╭══════════════════╮
Set L2=      ║                  ║
Set L3=   ╭══┤%Pro%---操作菜单 ├══╮
Set L4=   ║  ║                  ║  ║
Set L5=   ║  ╰══════════════════╯  ║
Set L6=   ║                        ║
Set L7=   ╟════════════════════════╢
Set L8=   ║无忧启动论坛bbs.wuyou.net       BY  x9tian   ║
Set L9=   ╰────────────────────────╯
Set L0=      ╟────────────────────────╢
set  "l16=%L1%&echo.%L2%&echo.%L3%&echo.%L4%&echo.%L5%&echo.%L6%"&set "lg=%L6%&echo.%L0%"&set "lo=%L7%&echo.%L8%&echo.%L9%&echo."
:MM
cls&COLOR 1F&echo.(输入相应路径) OR (把要编缉的grldr(grub.exe)拖放到本窗口)==^>然后回车.....% &set/p var0=
for %%i in (%var0%) do set "name=%%~nxi"&SET "n=%%~ni"&SET "TP=%%~dpi"
:MENU
CLS&title%Pro%----操作菜单 by  x9tian&color 2f &echo.&echo.%l16%
if /i "%name%"=="grldr"  goto :grldr
if /i "%name%"=="grub.exe"  goto :grub

::为了防止别人什么东西都往上面拖,硬性规定 grldr 和grldr.exe 其它名的哪怕是合格的也拒之门外

cls&color 5f&echo.&echo.&echo.( ̄▽ ̄)σ()^))=凸&echo.&echo.&echo.由于你操作的不是 (grub.exe) or (grldr) 本程序对你竖了中指.╮( ̄﹏ ̄)╭&for /l %%a in (1,1,50000) do echo.>nul
echo.虽然我是程序但作者赋于了我免忽悠的权利...&echo.&echo.任意键回主菜单...&pause>nul
for /l %%a in (1,1,2) do  set/p=.\(╯-╰)/ 我对你竖了中指你看到了吗?

goto mm

::下面两个过程可以合成一个, 写在两个只是为了显示美观
:grldr
Echo    ║   当前操作文件为=^>"%name%"             ║
Echo %L6%
Echo    ║  [1] 显示%name%内置菜单相关信息              ║
Echo    ║  [2] 显示%name%内置菜单内容                     ║
Echo    ║  [3] 导出%name%内置菜单                         ║
Echo    ║  [4] 导入 %name%菜单内置(%name%同目录下menu.lst) ║
goto :cz
:grub
Echo    ║   当前操作文件为=^>"%name%"          ║
Echo %L6%
Echo    ║  [1] 显示%name%内置菜单相关信息              ║
Echo    ║  [2] 显示%name%内置菜单内容                  ║
Echo    ║  [3] 导出%name%内置菜单                      ║
Echo    ║  [4] 导入%n%内置菜单(%name%同目录下menu.lst)║

goto :cz
:cz
Echo    ║  [Q] 返回主菜单                 [E]退出程序  ║
echo.%lg%
Echo    ║【注: 如果导入的 menu.lst大于4K,超出部分将忽略】║
echo.%lo%
Set Choice=
Set /P Choice=   请选择要进行的操作 (1/2/3/4/Q/E) ,然后按回车:
CLS

If Not '%Choice%'=='' SET Choice=%Choice:~0,1%
If /I '%Choice%'=='1' GOTO 1_
If /I '%Choice%'=='2' GOTO 2_
If /I '%Choice%'=='3' GOTO 3_
If /I '%Choice%'=='4' GOTO 4_
If /I '%Choice%'=='q' GOTO MM
If /I '%Choice%'=='e'  del /a/f/q %0
Goto MM

:1_
%~dp0grubmenu info "%var0%"
Echo 任意键返回主菜单.
PAUSE >NUL
Goto MENU
:2_
%~dp0grubmenu print "%var0%"
Echo 任意键返回主菜单.
PAUSE >NUL
Goto MENU
:3_
%~dp0grubmenu export "%var0%" "%TP%menu.lst"
echo. 导出%TP%menu.lst 任意键返回主菜单.
Echo 任意键返回主菜单.
PAUSE >NUL
Goto MENU
:4_
%~dp0grubmenu import %var0%  %TP%menu.lst
echo.如果无出错提示,说明LST文件已经写入
echo.请按任意键查看写入的内容............
PAUSE >NUL
Goto 2_

[ 本帖最后由 x9tian 于 2010-2-18 18:21 编辑 ]

GRUB内置菜单编缉器.rar

34.48 KB, 下载次数: 1394, 下载积分: 无忧币 -2

成品

回复

使用道具 举报

 楼主| 发表于 2010-2-17 09:54:53 | 显示全部楼层

GRUB启动背景图片制作

XPM 背图 简单的批处理,懒得贴出来,  下成品吧,  里面包含了, conver.exe 改名了(cv.exe免去与微软系统带的垃圾货"conver.exe重名) ;gzip.exe; 还有一个批处理

附件自动解压到系统临时文件夹运行


相比XPM 背图,GRUB4DOS 还支持一种高清的  那就是MESSAGE  。 新手不要以为它看着只是一个特殊格式的图片文件,其实它是一种压缩包的形式,它里面包含了,图片,字体和配置文件.
(看着比XPM图舒服,用着也觉得蛮爽) 那么想不想自己做一个呢?

找到要修改的MESSAGE ,通个以下的批处理,能完成你所要进行的所有修改, 不须要你懂多少知识,只需要细心,按提示一步步来,你将得到一个自己DIY 的MESSAGE

以下批处理是, GRUB 背图 \ 字体\配置, 之 MESSAGE

注意思里面用到了FINDSTR 如果是在PE下运行,请确认有findstr.exe


MESSAGE 配置
  1. @echo off&COLOR %RANDOM:~-1%f&cls&TITLE GRUB for message制作--主菜单 BY x9tian& PATH=%~DP0BIN;%PATH%
  2. if not exist "%~dp0bin\cpio.exe"   echo. cpio.exe 不存在 @_@&&ping -n 3 127.1>nul 2>&1&exit
  3. echo.请选择:&echo.  [1] 修改一个己存在的message文件&echo.  [2] 制作 message文件 PS:新手建议试都别试&echo.  [3] 制作 字体文件 for MESSAGE&echo.&echo.&set/p  xz=请选[1/2/3]....
  4. echo.%xz%|find "1" >nul 2>&1&&goto :1_ ||echo.%xz%|find "2">nul 2>&1&&goto :2_||echo.%xz%|find "3">nul 2>&1&&goto :zt 3 ||cls&echo.输入错误!! 返回主菜单ing&ping -n 2 127.1 >nul 2>&1&%0
  5. :2_
  6. title 制作 message文件
  7. setlocal enabledelayedexpansion
  8. cls&echo.请把message的文件组件全放到一个文件夹里面&echo.&echo.把这个放置message组件的文件夹拖放到本窗口---^>^<-------
  9. set/p msg=
  10. if not defined msg (%0 )  else pushd %msg%
  11. call :ztpz
  12. :ys
  13. dir /a-d/b|more>txt.lst&cpio -o <txt.lst> ..\message&cd..\>nul&echo.如无出错则生成完成,文件将生成在===!cd!\message&echo.正准备打开MESSAGE所在的文件夹....&&ping -n 5 127.1>nul&&start /w "" "!cd!"
  14. exit
  15. :1_
  16. title 修改 message文件
  17. cls&echo.把要修改的message文件拖放到本窗口----^>^<-----&echo.
  18. set/p msg=
  19. call :mz
  20. if /i not exist msg  (echo.%lg%下创建msg目录&md "msg"&pushd msg) else (echo.%lg%存在msg文件夹清空msg文件夹并解压文件到msg文件夹&pushd msg &del . /s/q/f>nul)
  21. cpio  -t <%msg%> txt.lst&&cpio -i <%msg% >nul 2>&1&&echo.解压%mc%成功!!&move /Y %msg% "%lg%%mc%.bak"&&echo. 改原文件%mc%为%mc%.bak
  22. call :ztpz
  23. cpio -o <txt.lst> ..\message&cd..\>nul&echo.如无出错则生成完成,文件将生成在===!cd!\message&echo.正准备打开MESSAGE所在的文件夹....&&ping -n 5 127.1>nul&&start /w "" "%lg%"
  24. pause&exit
  25. :pz
  26. cls &echo.&echo. 分辨率: [1] 1024x768        [2] 800x600     [3] 640x480
  27. echo.&set/p fbl=请选择[1/2/3].....
  28. if not defined fbl  goto :pz
  29. if  "%fbl: =%"=="1"  (set /a width=1024,height=768) else (if  "%fbl: =%"=="2"  (set /a width=800,height=600) else (if  "%fbl: =%"=="3"  (set /a width=640,height=480) else (cls&goto :pz )))
  30. echo.您选择的分辨率是 %width% X %height%
  31. :nn
  32. set  entries=
  33. echo.&set/p entries=最大菜单数:
  34. if not defined entries   goto nn
  35. echo. %entries%|findstr [0-9]>nul||echo.非法输入请输入数字&&goto nn
  36. cls& color %random:~-1%c&echo.以下为MESSAGE 的显示我隐藏选项, 如果你清楚怎么选,建议您回车到底
  37. set show=
  38. echo.&set/p show= 显隐"引导选项"(Y隐藏 /非Y显示,比如:回车)
  39. if not defined show set show=N
  40. if /i not "%show: =%"=="y" (set show=0) else (set show=1)
  41. set reboot=
  42. color %random:~-1%c&echo.&set/p reboot= 显隐"重启选项"(Y隐藏 /非Y显示,比如:回车)
  43. if not defined reboot set reboot=N
  44. if /i not "%reboot: =%"=="y"  (set reboot=0) else ( set reboot=1)
  45. set poweroff=
  46. echo.&set/p poweroff= 显隐"关机选项"(Y隐藏 /非Y显示,比如:回车)
  47. if not defined poweroff set poweroff=N
  48. if /i not "%poweroff: =%"=="y"  (set poweroff=0) else (set poweroff=1)
  49. set  lang=
  50. color %random:~-1%c&echo.&set /p lang= 隐藏"语言选项"(Y隐藏 /非Y显示,比如:回车)
  51. if not defined lang set lang=N
  52. if /i not "%lang: =%"=="y"  (set lang=0) else (set lang=1)
  53. set help=
  54. echo.&set /p help= 显隐"帮助选项"(Y隐藏 /非Y显示,比如:回车)
  55. if not defined help set help=N
  56. if /i not "%help: =%"=="y" (set help=0) else (set help=1)
  57. move /y gfxboot.cfg gfxboot.cfg.bak >nul&&echo.旧的gfxboot.cfg备份为gfxboot.cfg.bak成功!!
  58. (echo.penguin=0
  59. echo.welcome=1
  60. echo.boot_show=%show%
  61. echo.xmenu_hide_current=1
  62. echo.menu_start_x=78
  63. echo.menu_start_y=116
  64. echo.menu_max_entries=%entries: =%
  65. echo.menu_bar_min_width=300
  66. echo.menu_text_normal=0x80FF00
  67. echo.menu_text_select=0x8000FF
  68. echo.boot_text_options=0xffffff
  69. echo.boot_text_normal=0xffffff
  70. echo.infobox_bg=0xd8deed
  71. echo.infobox_text_normal=0
  72. echo.menu_bar_color=0xffffff
  73. echo.loading_color=0x295202
  74. echo.title_bg=0x4f9805
  75. echo.hide_reboot=%reboot%
  76. echo.hide_poweroff=%poweroff%
  77. echo.disable_num_key=0
  78. echo.hide_help=%help%
  79. echo.hide_lang=%lang%
  80. echo.custom_width=%width%
  81. echo.custom_height=%height%
  82. echo.custom_depth=32
  83. echo.panel_normal=0xFFFFFF
  84. echo.panel_title=0xffffff
  85. echo.panel_high=0x80FF00
  86. echo.panel_bg=0xd8deed
  87. echo.panel_border=0xeff2f6)>gfxboot.cfg
  88. goto :eof
  89. :zt
  90. tiltle 字体制作 use for MESSAGE
  91. move /y 16x16.fnt 16x16.fnt.bak>nul 2>nul&&echo. 原字体重命名为16x16font.bak
  92. cls &echo.把要转换的字体文件拖放到本窗口----^>^<-----&echo.&start "" "%windir%\fonts" >nul 2>&1
  93. set/p font=拖放到此:
  94. if not defined font  echo.不要没输字体文件名就回车好不,&ping -n 3 127.1>nul 2>nul&&goto zt
  95. for %%i in (%font%) do set font=%%~nxi
  96. mkblfont -v -l 18 -a 0x20-0x7e,0xa0-0xbf,0xc1-0xcb,0xcd-0xce,0xd0-0xd1,0xd3-0xd8,0xda-0xff -t "%~dp0bin\chs.txt" -f %font%:prop=2:space_width=4:size=17:nobitmap=1:autohint=1 16x16.fnt >nul&&echo.成功生成字体文件,%cd%\16x16.fnt
  97. if not defined var  start "" "%cd%"
  98. goto :eof
  99. :mz
  100. for  %%i  in (%msg%) do set lg=%%~dpi&pushd %%~dpi&set mc=%%~nxi
  101. goto :eof
  102. :ztpz
  103. set var=
  104. echo.&set/p var=[1]跳过修改字体  [2]修改字体文件
  105. echo.%var%|find "1" >nul 2>&1||call :zt &&TITLE 修改配置菜单
  106. set var=
  107. echo.&set/p var=[1]跳过配置菜单修改   [2] 修改配置菜单
  108. echo.%var%|find "1" >nul 2>&1||call :pz &&TITLE 压缩打包MESSAGE
  109. goto :eof
复制代码
关于XPM 背图制作的回复:
原帖由 rplover 于 2010-6-8 01:38 发表
楼主,GRUB启动背景图片制作不懂用,运行了GRUBXPM.exe 把图片拖到窗口了,按回车

01.BMP       '转换'成:    "01.xpm"
—存放目录:
D:\Desktop\新建文件夹 (2)\新建文件夹\
任意按键= 01.xpm打包成01. ...


      因为批处理语句中用到了FOR 语句:   而 D:\Desktop\新建文件夹 (2)\新建文件夹\   有一对括号,  造成FOR 语句出现错误,这是正常的, 如果非要判定路径是否带括号,然后再加上转义符号,没必要多些一段代码。
一般用批处理完成某个路径的文件应当直截必免出现带括号目录结构;
说白了就是别把文件放在文件夹名带括号的文件夹里面。

message DIY 工具下载:





点击MESSAGE——DIY演示贴

XPM XPM.gz  请到附件下载




[ 本帖最后由 x9tian 于 2011-4-22 08:59 编辑 ]

GRUBXPM.part1.rar

292.97 KB, 下载次数: 2908, 下载积分: 无忧币 -2

XPM/XPMGZ

GRUBXPM.part2.rar

292.97 KB, 下载次数: 2582, 下载积分: 无忧币 -2

须五个全下才能正常解压

GRUBXPM.part3.rar

292.97 KB, 下载次数: 2591, 下载积分: 无忧币 -2

须五个全下才能正常解压

GRUBXPM.part4.rar

292.97 KB, 下载次数: 3012, 下载积分: 无忧币 -2

须五个全下才能正常解压

GRUBXPM.part5.rar

158.64 KB, 下载次数: 2186, 下载积分: 无忧币 -2

须五个全下才能正常解压

回复

使用道具 举报

发表于 2010-2-17 12:44:57 | 显示全部楼层
支持下  看效果怎么样  对我来说就第一个有用  第二三个有替代品
回复

使用道具 举报

发表于 2010-2-17 13:22:11 | 显示全部楼层
批处理功力不错,支持老兄
回复

使用道具 举报

发表于 2010-2-18 21:31:48 | 显示全部楼层
顶一贴,下载回来慢慢看。
回复

使用道具 举报

发表于 2010-3-13 23:38:48 | 显示全部楼层
不错,挺好的,收藏看看批处理
回复

使用道具 举报

发表于 2010-4-8 21:36:32 | 显示全部楼层
谢谢分享,很好很实用的工具!
回复

使用道具 举报

发表于 2010-4-10 09:23:59 | 显示全部楼层
高玩都用批处理囧我只能手动了。
回复

使用道具 举报

发表于 2010-4-10 13:06:35 | 显示全部楼层
学习中。。。支持下。
回复

使用道具 举报

发表于 2010-4-12 01:36:17 | 显示全部楼层
谢谢楼主,已收藏下来准备学习下批处理。
回复

使用道具 举报

发表于 2010-4-13 11:47:06 | 显示全部楼层
谢谢
非常实用的帖子
回复

使用道具 举报

发表于 2010-6-8 01:38:11 | 显示全部楼层
楼主,GRUB启动背景图片制作不懂用,运行了GRUBXPM.exe 把图片拖到窗口了,按回车

01.BMP       '转换'成:    "01.xpm"
—存放目录:
D:\Desktop\新建文件夹 (2)\新建文件夹\
任意按键= 01.xpm打包成01.xpm.gz
关闭窗口= 结束程序

都找不到这个XPM.gz在哪
回复

使用道具 举报

发表于 2010-6-11 14:17:55 | 显示全部楼层
谢谢,很实用的工具
回复

使用道具 举报

发表于 2010-10-8 22:29:10 | 显示全部楼层
看的晕了,收藏了仔细看看
回复

使用道具 举报

发表于 2010-10-10 09:59:54 | 显示全部楼层
批处理命令挺长的,不过都是些简单命令的组合。
回复

使用道具 举报

发表于 2010-10-15 01:39:47 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

发表于 2010-11-20 17:39:25 | 显示全部楼层
收藏了!谢谢!!!!!!
回复

使用道具 举报

发表于 2010-12-10 10:32:15 | 显示全部楼层
谢谢,下载试用。!!
回复

使用道具 举报

发表于 2010-12-31 21:49:14 | 显示全部楼层
谢谢LZ,LZ辛苦辛苦了。。
回复

使用道具 举报

发表于 2011-1-1 21:02:04 | 显示全部楼层
非常实用的小东东
谢谢
回复

使用道具 举报

发表于 2011-3-1 16:32:42 | 显示全部楼层
不错,那个单文件版很好,谢谢
回复

使用道具 举报

发表于 2011-4-7 10:02:17 | 显示全部楼层
学习下~自己制作个~
回复

使用道具 举报

发表于 2011-4-17 12:44:51 | 显示全部楼层

回复 #6 freesoft00 的帖子

请问你的那个能修改菜单最上边标题的那个程序,在哪里下载啊?我想修改最上面的标题
回复

使用道具 举报

发表于 2011-4-21 09:24:31 | 显示全部楼层
收藏......就是“回复 #7 yanglin 的帖子”金山报有毒!!
回复

使用道具 举报

发表于 2011-4-21 11:39:08 | 显示全部楼层

回复 #26 20111978 的帖子

因为进行cmd转exe的  所以杀毒回报毒。。
回复

使用道具 举报

发表于 2011-4-22 12:28:37 | 显示全部楼层

回复 #7 yanglin 的帖子

你好,如下的软件好像没有,请看图片
newscreen1807609.jpg

[ 本帖最后由 2011after 于 2011-4-22 12:34 编辑 ]
回复

使用道具 举报

发表于 2011-6-27 14:09:15 | 显示全部楼层
为什么都这么强大咯,我要学习,要学习,占位
回复

使用道具 举报

 楼主| 发表于 2011-6-27 19:38:09 | 显示全部楼层
原帖由 2011after 于 2011-4-17 12:44 发表
请问你的那个能修改菜单最上边标题的那个程序,在哪里下载啊?我想修改最上面的标题



  那个是GRUB4 开发者的薯名地, 还是不要去动它吧。  写这个批处理最终的目的是为了做PE的时后方便。

  用着顺手了,才贴出来 与人方便自己方便。

  那个薯名地有必要去改么。  知道的你就是改了人家也知道那是GRUB  不知道你改了人家也不会注到上面去。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-27 13:51

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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