需通过配置Plymouth系统实现银河麒麟自定义开机动画:一、确认状态并备份原始主题;二、准备PNG序列等资源并创建新主题;三、注册主题、更新GRUB与initramfs;四、重启验证,失败时用原主题回退。

如果您在银河麒麟操作系统启动过程中,希望将默认的静态Logo或简略动画替换为自定义开机动画,则需针对 Plymouth 启动画面系统进行配置。以下是实现该目标的具体操作步骤:
一、确认 Plymouth 状态并备份原始主题
Plymouth 是银河麒麟 V10 默认使用的图形化启动管理器,负责在内核加载后、桌面环境启动前显示动画。修改前必须确保 Plymouth 正常启用,并保留原始主题以防异常无法进入系统。
1、打开终端,执行命令检查当前 Plymouth 状态:sudo plymouth-set-default-theme。
2、查看当前激活的主题名称:sudo plymouth-set-default-theme -l。
3、记录输出中带星号(*)的主题名,例如 spinfinity 或 ukui。
4、创建原始主题备份目录:sudo cp -r /usr/share/plymouth/themes/$(sudo plymouth-set-default-theme -l | grep '\*' | awk '{print $2}') /usr/share/plymouth/themes/$(sudo plymouth-set-default-theme -l | grep '\*' | awk '{print $2}')-backup。
二、准备自定义开机动画资源
银河麒麟 Plymouth 支持两种主流动画格式:基于帧序列的 PNG 图片集(适用于传统主题),或基于 Cairo/Script 的动态脚本主题(如 spinfinity)。推荐使用 PNG 序列方式,兼容性高且易于调试。
1、新建自定义主题目录:sudo mkdir -p /usr/share/plymouth/themes/my-boot-animation。
2、将已准备好的 640×480 或 1920×1080 分辨率 PNG 图片序列(命名格式为 frame-001.png、frame-002.png…)复制至该目录:sudo cp /path/to/frame-*.png /usr/share/plymouth/themes/my-boot-animation/。
3、编写配套的 my-boot-animation.plymouth 描述文件,内容包含名称、描述及核心模块引用,保存于同一目录下。
4、生成主题预览图(可选但建议):sudo plymouth-set-default-theme my-boot-animation 后执行 sudo plymouth-show-splash && sleep 3 && sudo plymouth-quit 验证是否能正常渲染首帧。
三、安装并启用新 Plymouth 主题
启用新主题需更新 Plymouth 配置并重建 initramfs,确保动画资源在早期用户空间阶段即被加载。此过程涉及内核镜像重打包,必须严格遵循顺序。
1、将主题注册为系统可用选项:sudo plymouth-set-default-theme my-boot-animation。
2、更新 GRUB 配置以传递正确 splash 参数:sudo sed -i 's/quiet splash/quiet splash/g' /etc/default/grub。
3、执行命令重新生成 initramfs:sudo update-initramfs -u -k all。
4、更新 GRUB 引导配置:sudo update-grub。
四、验证与故障回退
重启系统后,若未出现预期动画,可能因分辨率不匹配、帧率超限或 initramfs 未正确加载资源所致。此时应优先启用文本模式排查,避免陷入黑屏循环。
1、开机时在 GRUB 菜单按 e 键编辑启动项,在 linux 行末尾添加 plymouth:debug 参数后按 Ctrl+X 启动。
2、观察控制台输出中是否提示 Failed to load image 或 Theme not found。
3、若确认失败,立即切换至 TTY(Ctrl+Alt+F2),执行:sudo plymouth-set-default-theme ukui(或你记录的原始主题名)。
4、再次运行:sudo update-initramfs -u && sudo update-grub,重启验证恢复效果。

















