无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 39816|回复: 44
打印 上一主题 下一主题

GRUB封装启动 相关批处理

  [复制链接]
跳转到指定楼层
1#
发表于 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

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

2#
 楼主| 发表于 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

成品

回复

使用道具 举报

3#
 楼主| 发表于 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

须五个全下才能正常解压

回复

使用道具 举报

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



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

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

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

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-21 17:31

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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