首页/安全/取证与溯源速查/内核启动参数核查
Linux 取证135 条

内核启动参数核查

内核命令行影响启动行为,异常参数(单用户模式、指定 init)会让系统以不受控方式启动,是容易被忽略的持久化位置。

取证与溯源速查安全更新于 2026-10-13

内核启动参数核查

内核命令行决定内核启动时的行为,包括根文件系统位置、控制台、崩溃转储内存预留以及是否进入受限模式。异常参数会让系统以不受控的方式启动,例如指定单用户模式或替换 init 程序,因此这是容易被忽略的持久化位置。查看当前参数直接用 /proc/cmdline,持久化配置则在引导加载器一侧:GRUB 需要修改 /etc/default/grub 后重新生成引导配置才会生效,EFI 与 BIOS 环境下的文件路径也不同。

基本信息

当前参数/proc/cmdline
持久配置/etc/default/grub、/boot/grub/grub.cfg 或 EFI 分区中的引导配置
常见参数root=、console=、crashkernel=、systemd.unit=
注意UEFI 与 BIOS 的引导配置路径不同

典型使用场景

  • 确认当前运行的内核参数是否被追加了异常项
  • 核对引导配置中的参数与运行时是否一致
  • 调查主机是否曾以单用户模式启动过
  • 确认崩溃转储所需的内存预留是否配置
  • 为云主机与物理机的参数差异提供判断依据

查看参数与配置

查看参数与配置
cat /proc/cmdline                              # 当前生效的内核参数
tr ' ' '\n' < /proc/cmdline | sort             # 逐参数分行便于比对
grep -E '^GRUB_CMDLINE_LINUX' /etc/default/grub 2>/dev/null
stat -c '%n %y' /boot/grub2/grub.cfg /boot/grub/grub.cfg 2>/dev/null   # 引导配置时间
grubby --info=ALL 2>/dev/null | head -20        # RHEL 系查看各内核条目参数

引导参数读法

参数含义判读要点
root=根文件系统位置被改动可能指向其他设备或镜像
systemd.unit=指定启动目标可绕过默认运行级别
crashkernel=为转储预留内存缺失则无法生成内核转储
init=替换初始化程序出现时需重点解释来源
参数改动需要重新生成引导配置才会生效,因此把 /proc/cmdline 与引导配置文件的时间戳一起看,才能判断改动是否已经落地。
云主机的内核参数常由平台在启动时注入,出现与本地配置不一致属于正常情况,判断前先确认实例类型与控制台日志。
修改引导配置并重启属于高风险操作,写错参数可能导致主机无法启动;取证阶段只做读取与记录,处置方案要经过确认后再执行。

易错点

  • 只看 /proc/cmdline 不看引导配置,无法判断改动是否持久化
  • 在 UEFI 环境下按 BIOS 路径查找引导配置,文件根本不存在
  • 把云平台注入的参数当成入侵痕迹
  • 为核对参数直接修改引导配置并重启,导致主机无法启动

数据来源与参考

  • Linux 内核文档(kernel command line)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌