Linux内核启动参数详解
作为Linux操作系统最为基础的核心,内核启动参数是我们深入系统了解与优化的必要途径。本篇文章将对Linux内核启动参数进行详细分析,力图让读者对内核启动参数有更全面的了解。
什么是内核启动参数
内核启动参数是在Linux操作系统启动时由bootloader(例如Grub)传递给内核的一组参数。这些参数用于控制内核启动过程中的各种功能和行为,包括:
- 控制硬件的检测和初始化;
- 控制文件系统的加载;
- 控制内核日志输出等。
内核启动参数的配置
在Grub中,可以通过编辑/boot/grub/grub.cfg文件来修改内核启动参数。一般我们会在文件的kernel行中添加参数,例如:
menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
savedefault
gfxmode $linux_gfx_mode
insmod gzio
insmod part_gpt
insmod ext2
set root='hd0,gpt2'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 8af9f18f-a7d3-4e56-912c-3a7c1dca9765
else
search --no-floppy --fs-uuid --set=root 8af9f18f-a7d3-4e56-912c-3a7c1dca9765
fi
linux /boot/vmlinuz-4.15.0-22-generic root=UUID=8af9f18f-a7d3-4e56-912c-3a7c1dca9765 ro quiet splash acpi_enforce_resources=lax
initrd /boot/initrd.img-4.15.0-22-generic
}
在上面的示例中,在linux行中我们添加了参数acpi_enforce_resources=lax
,该参数的作用是让内核在检测硬件资源的时候更加宽容一些。
常用的内核启动参数
下面列出了常用的内核启动参数及其对应的功能:
root=
:指定root文件系统的位置;ro/rw
:指定root文件系统的挂载方式(只读/读写);init=
:指定init(进程1)的位置;quiet/silent
:禁用内核启动信息输出;splash
:显示启动画面;single
:以单用户模式启动;debug
:启用内核调试信息输出;noapic
:禁用APIC(可编程中断控制器);acpi
:启用或禁用ACPI(高级配置与电源接口)。
示例
指定启动时默认的运行级别
可以通过在命令行中添加runlevel
参数,来指定系统运行的默认级别。例如下面的命令将Linux系统的默认运行级别设置为3:
# kernel /boot/vmlinuz-3.2.0-4-686-pae root=/dev/hda1 ro runlevel=3
禁用ACPI
在一些老旧的电脑或硬件上,启用ACPI可能会出现一些问题,此时可以通过在命令行中添加acpi=off
参数来禁用ACPI。例如下面的命令将禁用ACPI并以单用户模式启动系统:
# kernel /boot/vmlinuz-3.2.0-4-686-pae root=/dev/hda1 ro single acpi=off
结论
本文介绍了Linux内核启动参数的基本概念、配置方法和常用参数。了解和掌握这些参数对于优化和调试Linux系统非常重要,希望本文对读者有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Linux内核启动参数详解 - Python技术站