我正在使用一些定制的 Linux 映像。我需要在“/proc/cmdline”中进行更改,但显然无法直接更改该文件。通常我会更改“/boot/cmdline.txt”,但在这种情况下它不会更改任何内容。内核可能正在“寻找”除“/boot/cmdline.txt”之外的其他文件。有办法检查吗?谢谢。如果我误用了一些术语,请见谅。
答案1
它实际上不是内核,而是引导加载程序它从磁盘(或某个地方)读取命令行并在启动内核时提供它。没有直接链接到任何文件,至少内核本身没有告诉你有关它的信息。
因此找到它的唯一方法是 a) 阅读图像作者提供的文档,或 b) 猜测。
如果您的系统使用 GRUB2 作为引导加载程序,则内核命令行通过 配置/etc/default/grub
,然后在您运行 时将其写入 /boot/grub/grub.cfg update-grub
,然后由 GRUB 从该 grub.cfg 文件中读取。
如果系统使用 systemd-boot(假设没有花哨的“签名内核映像”之类的东西),那么它将从中读取参数/boot/loader/entries/*.conf
——尽管这些文件可能由其他来源自动生成,因此请注意其中可能存在的任何“# comments”。
系统可能还在使用其他引导加载程序 – 查找/boot/syslinux/syslinux.cfg
、/boot/grub/menu.lst
、/boot/refind_linux.conf
等。您还可以尝试使用 在整个 /boot 和 /etc 中搜索当前命令行内容grep -r
。