如何找到正在运行的内核使用的引导参数?

nvm*_*nvm 57 boot grub2 kernel

有没有办法找出内核启动的参数?

例如,如果我在 grub 命令行指定 noexec=off ?系统启动完成后我可以看到此类信息吗?

hto*_*que 80

你可以运行cat /proc/cmdline

例子:

[01:31] ~ $ cat /proc/cmdline
BOOT_IMAGE=/boot/vmlinuz-2.6.38-7-generic root=UUID=025c4231-b7bb-48bf-93e9-d20c5b5ce123 ro crashkernel=384M-2G:64M,2G-:128M quiet splash bootchart=disable acpi_enforce_resources=lax vga=792 vt.handoff=7
Run Code Online (Sandbox Code Playgroud)

  • 尝试 `tr ' ' '\n' < /proc/cmdline` 来获取参数之间的换行符。 (2认同)

joe*_*dle 11

另一种方法是检查dmesg(此处为第 5 行)的输出:

$ dmesg | grep "Command line"
[    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-3.19.0-33-generic root=UUID=81dba11f-f76e-4ed4-8120-e6da6328b1ee ro
Run Code Online (Sandbox Code Playgroud)

但是请注意,如果已经记录了很多事情(例如,如果机器已经运行了很长时间),这可能不起作用,因为初始启动行可能已被推出环形缓冲区。