说实话,我第一次看到自己做的启动盘界面时,也被那个黑底白字的 GRUB 菜单丑到了。就是那种经典的、毫无感情的、像是90年代DOS时代的命令行风格,左边一个小白框,右边几行文字,简直让人毫无开机的欲望。
但是!启动盘其实是可以变成“艺术品”的。你有没有见过那种开机时有全屏背景图、图标圆润可爱、配色高级的启动菜单?比如用Arch Linux或者黑苹果时看到的?别担心,你不是程序员,也不用写代码。只要三步,配合简单的配置文件,你就能把那个丑丑的黑屏变成专属你的炫酷封面。
咱们先把这事儿拆解一下,其实核心就一个东西:GRUB(GNU GRand Unified Bootloader)。它是大多数Linux发行版和很多U盘启动盘的“默认管家”。我们要做的,就是给这个管家换件“衣服”,再贴几张海报。
第一步:找到你的“幕后指挥中心”
首先,你需要进入U盘的EFI分区。别被这个名词吓到,这就是一个存储启动配置的小文件夹。
如果你是在Windows电脑上操作,通常这个分区是隐藏的。你需要先显示隐藏文件,或者在“此电脑”里点“查看”->“显示”->“隐藏的项目”。然后找到你的U盘,通常会有一个几百MB大小的分区,标签可能是 EFI 或者 SYSTEM,里面会有 grub 或者 grub2 的文件夹。
如果你的U盘是在Linux下做的(比如用Ventoy或者直接刻录ISO),情况会更简单一点。以最常见的 Ventoy 为例,它其实已经帮你把界面美化了一半,但你还可以更个性。或者如果你是用 Rufus 做的传统启动盘,配置文件就在根目录或者 EFI/BOOT/ 下面。
咱们假设你是用Ventoy,这是目前最流行、对小白最友好的方案。Ventoy默认就有个配置界面,但我们今天要用更硬核、更自由的方式——直接修改 grub.cfg。
打开U盘,找到 EFI/BOOT/grub.cfg(注意:Ventoy的配置文件可能在根目录的 ventoy.json 里,但为了通用性,我们先看传统的GRUB配置,或者Ventoy允许你覆盖它)。
这里有个小技巧:如果你不确定文件在哪,可以在U盘根目录新建一个文件夹叫 ISO,把你的启动镜像丢进去,然后我们编辑那个核心的 grub.cfg。
第二步:把“背景海报”贴上去
现在,我们需要两张东西:一张背景图,和一个字体文件。
1. 准备背景图
找一张你喜欢的图片。建议分辨率是 1024x768 或者 1920x1080,颜色不要太花哨,否则下面的字会看不清。格式推荐 PNG 或 JPG,但为了兼容性,PNG 更好,尤其是如果你想要透明效果的话。
把这张图重命名为 background.png,然后放到U盘的根目录,或者你喜欢的任意位置,比如 /backgrounds/my_icon.png。
2. 准备字体(可选但推荐)
默认的GRUB字体是那种方方正正的,有点像小时候玩游戏的像素风。想要更圆润、更现代的感觉?去下载一个 Terminus 或者 Unifont 字体,后缀是 .pf2 的。把 terminus.pf2 也放到同一个文件夹里。
现在,你的U盘里应该有这些文件:
background.pngterminus.pf2(如果你有)grub.cfg(这是我们要编辑的核心)
第三步:动动手指,修改那行“咒语”
这是最关键的一步,也是最简单的一步。打开 grub.cfg 文件,你会看到一堆乱码一样的代码。别慌,我们只改或者只加几行。
用记事本(Windows)或任何文本编辑器打开它。找到类似这样的段落:
insmod part_gpt
insmod fat
insmod efi_gop
insmod efi_uga
insmod font
if loadfont /boot/grub/fonts/unicode.pf2 ; then
insmod gfxterm
set gfxmode=auto
terminal_output gfxterm
fi
我们要在这里“埋”入我们的配置。 在 terminal_output gfxterm 之后,或者在文件的开头部分,加入以下内容:
# 设置背景图片,路径根据你的实际位置调整
insmod png
set background_image=(hd0,gpt1)/background.png
# 设置字体颜色,白字配深色背景更清晰,或者你可以根据图片调
set text_color=ffffff
set menu_color_normal=ffffff
set menu_color_highlight=000000
# 如果你用了自定义字体
insmod font
loadfont /terminus.pf2
等等,解释一下这几行“咒语”:
insmod png:告诉GRUB,嘿,我有一张PNG图片,你要会读啊。set background_image=...:这是核心!(hd0,gpt1)代表你的U盘。如果不确定,可以写成set background_image=/background.png,GRUB会自动在启动分区里找。set text_color=ffffff:这是十六进制颜色码,ffffff是纯白色。你可以换成其他颜色,比如ffcc00是黄色,00ff00是绿色。
配色小技巧:
如果你想要那种“黑客帝国”风,把文字设成绿色 00ff00,背景黑色。
如果你想要“苹果风”,背景用一张极简的白色或浅灰图,文字用深灰 333333。
如果你想要“赛博朋克”,背景用深色霓虹图,文字用青色 00ffff。
再加点花样:让图标更酷
默认的菜单项可能只是文字,比如 “Ubuntu”,“Windows Boot Manager”。我们可以给它们加上小图标!
在 grub.cfg 的 menuentry 部分,你可以这样写:
menuentry '🐧 Ubuntu 22.04' --class ubuntu {
# 你的启动命令...
}
menuentry '🪟 Windows 10' --class windows {
# 你的启动命令...
}
看,我在标题前加了Emoji!GRUB是支持Unicode的,只要你加载了正确的字体(比如之前提到的 unicode.pf2 或者 terminus.pf2),你甚至可以用更复杂的符号。
如果Emoji显示出来是个方框,说明你的字体不支持。这时候,你可以去下载一些专门做启动盘图标的小工具,比如 GRUB Icon Editor,或者直接在网络上搜索 “GRUB menu icons PNG”,把图标下载下来,用 insmod png 引入,然后用 background_image 的覆盖功能,或者使用 set menu_icon 命令(如果版本支持)。
更高级的玩法:用脚本自动生成
如果你觉得手动改 grub.cfg 还是有点麻烦,特别是每次更新系统版本都要改路径,那有一个神器推荐给你:Grub Customizer。
这是一个图形化工具,可以在Linux下运行。你插上U盘,在Linux虚拟机或者Live系统里安装它,然后直接拖拽背景图、修改字体、调整颜色、重新排列菜单项。它会帮你自动写回 grub.cfg。这对小白来说,简直是“傻瓜式”操作。
但如果你坚持在Windows下操作,那我推荐一个在线工具或者简单的批处理思路:
- 准备一个
bg.jpg。 - 准备一个
grub.cfg模板,里面只有背景设置和标准的菜单项结构。 - 每次换启动盘时,只替换图片,不动配置代码。
避坑指南:这些错误我踩过
- 路径错误:这是最常见的。
set background_image=(hd0,gpt1)/path/to/image.png。(hd0,gpt1)是U盘在GRUB里的设备号。如果你发现背景图不显示,可能是路径错了。可以尝试用通配符,或者先不写盘符,直接写/background.png。 - 图片太大:GRUB对图片大小有限制,虽然现在支持得更好了,但建议不要超过 5MB,分辨率不要超过 1920x1080,否则启动会变慢,甚至加载失败。
- 字体不兼容:如果你用了自定义字体,确保它是
.pf2格式。普通的.ttf或.otfGRUB是不认识的。你可以用grub-mkfont工具把TTF转成PF2,但这需要Linux环境。最简单的办法是去网上下载现成的unicode.pf2或terminus.pf2。 - Ventoy的干扰:如果你用的是Ventoy,它有自己的
ventoy.json配置文件。你可能需要在里面启用GRUB自定义,或者Ventoy会覆盖你的grub.cfg。建议先备份原来的文件。Ventoy官网上有很好的“主题”插件,可以直接下载现成的炫酷主题,那比手动改配置要简单得多!比如搜索 “Ventoy Themes”,有大量的社区制作主题,一键应用。
总结:你的启动盘,你说了算
其实,美化启动盘就像给你的手机换壁纸、给电脑换桌面一样,是一种小小的仪式感。每次开机,看到那个熟悉的、酷炫的背景,心情都会好很多。
记住这三步:
- 找文件:找到U盘里的
grub.cfg。 - 贴图:准备一张背景图,放进U盘。
- 写代码:在
grub.cfg里加上set background_image和颜色设置。
不用懂编程,不用写C语言,只需要复制粘贴几行命令,换张图,改几个颜色码。下次开机,你就是这条街最靓的仔。
如果你实在觉得麻烦,或者想追求极致的视觉效果,去看看 Ventoy Themes 吧,那里有无数大神做好的主题,你只需要下载、解压、放进U盘,就能瞬间变身。那种全动画、全屏视频背景的启动盘,也不是梦哦!
现在,就去试试把你的黑底白字变成独一无二的个性封面吧!
