|
楼主 |
发表于 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 配置- @echo off&COLOR %RANDOM:~-1%f&cls&TITLE GRUB for message制作--主菜单 BY x9tian& PATH=%~DP0BIN;%PATH%
- if not exist "%~dp0bin\cpio.exe" echo. cpio.exe 不存在 @_@&&ping -n 3 127.1>nul 2>&1&exit
- echo.请选择:&echo. [1] 修改一个己存在的message文件&echo. [2] 制作 message文件 PS:新手建议试都别试&echo. [3] 制作 字体文件 for MESSAGE&echo.&echo.&set/p xz=请选[1/2/3]....
- 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
- :2_
- title 制作 message文件
- setlocal enabledelayedexpansion
- cls&echo.请把message的文件组件全放到一个文件夹里面&echo.&echo.把这个放置message组件的文件夹拖放到本窗口---^>^<-------
- set/p msg=
- if not defined msg (%0 ) else pushd %msg%
- call :ztpz
- :ys
- 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!"
- exit
- :1_
- title 修改 message文件
- cls&echo.把要修改的message文件拖放到本窗口----^>^<-----&echo.
- set/p msg=
- call :mz
- 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)
- cpio -t <%msg%> txt.lst&&cpio -i <%msg% >nul 2>&1&&echo.解压%mc%成功!!&move /Y %msg% "%lg%%mc%.bak"&&echo. 改原文件%mc%为%mc%.bak
- call :ztpz
- cpio -o <txt.lst> ..\message&cd..\>nul&echo.如无出错则生成完成,文件将生成在===!cd!\message&echo.正准备打开MESSAGE所在的文件夹....&&ping -n 5 127.1>nul&&start /w "" "%lg%"
- pause&exit
- :pz
- cls &echo.&echo. 分辨率: [1] 1024x768 [2] 800x600 [3] 640x480
- echo.&set/p fbl=请选择[1/2/3].....
- if not defined fbl goto :pz
- 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 )))
- echo.您选择的分辨率是 %width% X %height%
- :nn
- set entries=
- echo.&set/p entries=最大菜单数:
- if not defined entries goto nn
- echo. %entries%|findstr [0-9]>nul||echo.非法输入请输入数字&&goto nn
- cls& color %random:~-1%c&echo.以下为MESSAGE 的显示我隐藏选项, 如果你清楚怎么选,建议您回车到底
- set show=
- echo.&set/p show= 显隐"引导选项"(Y隐藏 /非Y显示,比如:回车)
- if not defined show set show=N
- if /i not "%show: =%"=="y" (set show=0) else (set show=1)
- set reboot=
- color %random:~-1%c&echo.&set/p reboot= 显隐"重启选项"(Y隐藏 /非Y显示,比如:回车)
- if not defined reboot set reboot=N
- if /i not "%reboot: =%"=="y" (set reboot=0) else ( set reboot=1)
- set poweroff=
- echo.&set/p poweroff= 显隐"关机选项"(Y隐藏 /非Y显示,比如:回车)
- if not defined poweroff set poweroff=N
- if /i not "%poweroff: =%"=="y" (set poweroff=0) else (set poweroff=1)
- set lang=
- color %random:~-1%c&echo.&set /p lang= 隐藏"语言选项"(Y隐藏 /非Y显示,比如:回车)
- if not defined lang set lang=N
- if /i not "%lang: =%"=="y" (set lang=0) else (set lang=1)
- set help=
- echo.&set /p help= 显隐"帮助选项"(Y隐藏 /非Y显示,比如:回车)
- if not defined help set help=N
- if /i not "%help: =%"=="y" (set help=0) else (set help=1)
- move /y gfxboot.cfg gfxboot.cfg.bak >nul&&echo.旧的gfxboot.cfg备份为gfxboot.cfg.bak成功!!
- (echo.penguin=0
- echo.welcome=1
- echo.boot_show=%show%
- echo.xmenu_hide_current=1
- echo.menu_start_x=78
- echo.menu_start_y=116
- echo.menu_max_entries=%entries: =%
- echo.menu_bar_min_width=300
- echo.menu_text_normal=0x80FF00
- echo.menu_text_select=0x8000FF
- echo.boot_text_options=0xffffff
- echo.boot_text_normal=0xffffff
- echo.infobox_bg=0xd8deed
- echo.infobox_text_normal=0
- echo.menu_bar_color=0xffffff
- echo.loading_color=0x295202
- echo.title_bg=0x4f9805
- echo.hide_reboot=%reboot%
- echo.hide_poweroff=%poweroff%
- echo.disable_num_key=0
- echo.hide_help=%help%
- echo.hide_lang=%lang%
- echo.custom_width=%width%
- echo.custom_height=%height%
- echo.custom_depth=32
- echo.panel_normal=0xFFFFFF
- echo.panel_title=0xffffff
- echo.panel_high=0x80FF00
- echo.panel_bg=0xd8deed
- echo.panel_border=0xeff2f6)>gfxboot.cfg
- goto :eof
- :zt
- tiltle 字体制作 use for MESSAGE
- move /y 16x16.fnt 16x16.fnt.bak>nul 2>nul&&echo. 原字体重命名为16x16font.bak
- cls &echo.把要转换的字体文件拖放到本窗口----^>^<-----&echo.&start "" "%windir%\fonts" >nul 2>&1
- set/p font=拖放到此:
- if not defined font echo.不要没输字体文件名就回车好不,&ping -n 3 127.1>nul 2>nul&&goto zt
- for %%i in (%font%) do set font=%%~nxi
- 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
- if not defined var start "" "%cd%"
- goto :eof
- :mz
- for %%i in (%msg%) do set lg=%%~dpi&pushd %%~dpi&set mc=%%~nxi
- goto :eof
- :ztpz
- set var=
- echo.&set/p var=[1]跳过修改字体 [2]修改字体文件
- echo.%var%|find "1" >nul 2>&1||call :zt &&TITLE 修改配置菜单
- set var=
- echo.&set/p var=[1]跳过配置菜单修改 [2] 修改配置菜单
- echo.%var%|find "1" >nul 2>&1||call :pz &&TITLE 压缩打包MESSAGE
- 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
须五个全下才能正常解压
|