根本原因是grub残留gfxmode设置压制内核文本输出,需同时清除grub_cmdline_linux_default中的quiet splash及/etc/grub.d/10_linux中gfxmode $linux_gfx_mode行,并配置console参数确保串口或tty日志可见。

开机时看不到启动日志,只显示紫色屏或黑屏
根本原因是 GRUB 启动参数里残留了图形模式相关设置,光删 quiet splash 不够。Ubuntu 默认启用 framebuffer 图形模式(gfxmode $linux_gfx_mode),它会压制内核文本输出,哪怕你已经去掉 quiet,系统仍试图渲染图形界面,结果就是卡在紫屏或黑屏,什么日志都不刷。
必须同时处理两处:
- 删掉
/etc/default/grub中GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"里的quiet splash,改成空字符串或直接注释掉整行 - 编辑
/etc/grub.d/10_linux,找到含gfxmode $linux_gfx_mode的段落(通常在if ! ${recovery} ; then块里),整行删除 - 运行
sudo update-grub生效
想进命令行模式而非桌面,但又不希望完全禁用图形驱动
text 参数确实能跳过桌面直接进 TTY,但它会绕过几乎所有图形栈初始化,包括显卡驱动加载、DRM 模块载入等——这会导致后续手动 startx 或切换回 GUI 时出错,尤其在 NVIDIA 或 AMDGPU 环境下常见 failed to add service - already in use 类错误。
更稳妥的做法是保留图形栈,只抑制桌面环境启动:
- 用
systemctl set-default multi-user.target切换默认 target,它让系统启动到命令行(runlevel 3类似),但所有内核模块、硬件驱动、网络服务照常加载 - 需要临时进桌面时,运行
startx或sudo systemctl start graphical.target - 要切回图形默认,执行
systemctl set-default graphical.target
systemd 服务里加 Restart=always 导致自检日志被冲掉
很多用户把自检脚本包装成 systemd 服务后,发现 journalctl -b 里看不到早期启动日志——因为 Restart=always 会让服务反复重启,每次重启都会覆盖前一次的 journal buffer,导致真正开机阶段的日志被挤出环形缓冲区。
Ubuntu 26.04 LTS(代号“Resolute Raccoon”)是Canonical于2026年4月23日发布的下一代长期支持版操作系统,提供长达10年的技术支持。它搭载Linux 7.0内核与GNOME 50桌面环境,全面转向Wayland协议,并引入Rust重写的核心工具以增强安全性。官方提供适用于AMD64和ARM64架构的桌面及服务器ISO镜像,是追求前沿技术与极致稳定的开发者
如果脚本本质是“一次性自检”,正确做法是:
- 去掉
Restart=*相关字段,让服务自然退出 - 用
Type=oneshot明确声明行为 - 加
RemainAfterExit=yes,避免 systemd 因进程退出而标记服务为 inactive - 确保
ExecStart调用的是完整路径脚本,并带#!/bin/bash -e头,让失败立即终止,便于定位问题
某些硬件平台(如 ARM64 或 Intel NUC)开机仍无日志,怀疑串口被静音
部分固件(尤其是 UEFI 实现较激进的设备)会在内核启动前关闭串口输出,或强制重定向 console 到 framebuffer。此时即使 GRUB 和 kernel 都配对了,也看不到文字。
验证和修复步骤:
- 开机时在 GRUB 菜单按
e编辑启动项,在linux行末尾追加console=tty0 console=ttyS0,115200n8,回车 boot 测试是否吐日志到串口 - 若有效,把该参数加进
GRUB_CMDLINE_LINUX_DEFAULT并update-grub - 检查 BIOS/UEFI 设置里有没有 “Serial Console Redirection” 或 “Console Output Device” 选项,设为 Enabled
- ARM64 设备需额外确认 device tree 是否绑定了正确的
stdout-path,否则console=ttyS0可能无效
实际调试时,最容易被忽略的是:GRUB 阶段的 gfxmode 和内核阶段的 console 是两个独立开关,缺一不可。很多人调通了前者,却忘了后者,或者反过来——结果就是一半时间看到 GRUB 菜单文字,另一半时间 kernel 日志全黑。










