Kernel parameters (简体中文)
一共有三种办法,可以给内核传递参数,用于控制其行为方式:
- 在编译内核时(这个最根本,会决定后面两种方法)
- 内核启动时(通常是在一个启动管理器里设置).
- 在运行时 (通过修改在
/proc
和/sys
中的文件).
本页面主要是讲第二种方法。
配置
内核参数可以在启动时临时修改,也可以永久性写到启动管理器的配置文件中,永远起作用。
下面示例:把参数quiet
和 splash
加到启动管理器 Syslinux, GRUB, GRUB Legacy 和 LILO中.
Syslinux
- 当出现启动选择菜单的时候,按
Tab
进入修改模式:
> .linux ../vmlinuz-linux root=/dev/sda3 ro initrd=../initramfs-linux.img quiet splash
- Press
Enter
to boot with these parameters.
- To make the change persistent after reboot, edit
/boot/syslinux/syslinux.cfg
and add them to theAPPEND
line:
APPEND root=/dev/sda3 ro quiet splash
更多详情请见Syslinux 。
systemd-boot
- 当启动菜单出现时 按
e
进入编辑界面:
initrd=\initramfs-linux.img root=/dev/sda2 quiet splash
- 按
Enter
即可按照输入的参数启动。
注意:
- 如果没有设置显示启动菜单, 你需要按住
Space
启动电脑来进入启动菜单 。 - 如果不能够从启动菜单上进行编辑,修改
/boot/loader/loader.conf
加入editor 1
来开启编辑功能。
- 如果想永久加入参数,编辑
/boot/loader/entries/arch.conf
(假设你已经设置好了 EFI system partition (简体中文)) 的options
行:
options root=/dev/sda2 quiet splash
更多信息请参见 systemd-boot .
GRUB
- 在菜单出现后按
e
然后将它们添加至linux
行:
linux /boot/vmlinuz-linux root=UUID=978e3e81-8048-4ae1-8a06-aa727458e8ff ro quiet splash
- 按
b
以便用这些参数启动。
- 要使改变在重启后仍生效,您可以手动编辑
/boot/grub/grub.cfg
中的如上内容。对于初学者,建议:
- 编辑
/etc/default/grub
并将您的内核选项添加至GRUB_CMDLINE_LINUX_DEFAULT
行:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
- 然后重新生成
grub.cfg
文件:
# grub-mkconfig -o /boot/grub/grub.cfg
有关配置GRUB的更多信息,请参阅 GRUB 。
GRUB Legacy
- Press
e
when the menu shows up and add them on thekernel
line:
kernel /boot/vmlinuz-linux root=/dev/sda3 ro quiet splash
- Press
b
to boot with these parameters.
- To make the change persistent after reboot, edit
/boot/grub/menu.lst
and add them to thekernel
line, exactly like above.
For more information on configuring GRUB Legacy, see the GRUB Legacy article.
LILO
- Add them to
/etc/lilo.conf
:
image=/boot/vmlinuz-linux ... quiet splash
For more information on configuring LILO, see the LILO article.
常见参数列表
注意: Not all of the listed options are always available. Most are associated with subsystems and work only if the kernel is configured with those subsystems built in. They also depend on the presence of the hardware they are associated with.
SysVinit(即将过时) | systemd | 描述 |
---|---|---|
3 |
systemd.unit=multi-user.target |
不启动x(可进入后启动) |
1 |
systemd.unit=rescue.target |
进入根用户模式(root). |
nomodeset |
nomodeset |
关闭内核显示模式设置功能. |
loglevel=3 |
loglevel=3 |
Removes "misaligned reg" and "unknown connector type" messages during boot with the Nouveau driver. See this topic. |
-- | init=/usr/lib/systemd/systemd |
使用systemd 替代 SysVinit 启动. |
init=/bin/sh rw |
init=/bin/sh rw |
进入超级终端模式,一般用于急救 |
All of these parameters are case-sensitive.
For a complete list of all known options, please see the kernel documentation.