商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 系统应用 > 如何检查 Linux 中内核启动选项是否已启用

如何检查 Linux 中内核启动选项是否已启用

  发布于2026-08-18 阅读(0)

扫一扫,手机访问

介绍

在这个实验中,你将学习如何检查 Linux 中特定的内核启动选项是否已启用。我们将探讨三种实现此目的的关键方法。

首先,你需运用 CODE0 命令来查看当前启动会话期间传递给内核的命令行参数。接着,你得检查位于 CODE1 的GRUB配置文件,以明晰其中一些启动选项的配置位置。最后,你要使用 CODE2 命令检查启动日志,以此了解内核如何解释和应用这些启动选项。完成这些步骤后,你将掌握诊断和理解Linux系统启动过程的实用技能。

使用 cat /proc/cmdline 检查启动选项

在这一步中,我们将探讨如何查看 Linux 系统启动时使用的启动选项。这些信息存储在 CODE_0 文件系统中的一个特殊文件里。

CODE_0 文件系统是 Linux 中的一个虚拟文件系统,它提供有关进程和其他系统信息。它并不在你的磁盘上包含真实的文件,而是提供了一个查看内核数据结构的窗口。

我们感兴趣的文件是 CODE_0。这个文件包含了在启动时传递给内核的命令行参数。这些参数可以影响内核的行为以及它检测到的硬件。

为了查看这个文件的内容,我们将使用 CODE0 命令。CODE1 命令是一个用于显示文件内容的简单实用工具。

如果终端尚未打开,请打开它。你可以通过点击桌面左侧的 Xfce Terminal 图标来完成此操作。

现在,输入以下命令并按下回车键:

cat /proc/cmdline

你将看到类似于以下的输出:

BOOT_IMAGE=/boot/vmlinuz-... root=UUID=... ro console=ttyS0,... quiet splash vt.handoff=7

确切的输出会根据你系统的配置而有所不同,但它会显示正在启动的内核映像 (CODE0)、根文件系统的位置 (CODE1) 以及其他选项,如 CODE2(初始为只读文件系统)、CODE3CODE_4

理解这些启动选项有助于排查启动问题或配置特定的内核行为。

请记住,CODE_0 是一个由内核生成的动态文件,因此其内容反映了当前的启动会话。

点击 继续 以进入下一步。

使用 cat /etc/default/grub 验证 GRUB 配置

在上一步中,我们查看了内核启动 之后 传递给它的命令行参数。现在,让我们来看看其中一些参数可能的来源:GRUB 配置文件。

GRUB(GRand Unified Bootloader,通用引导加载程序)是一个引导加载程序。它的主要任务是将操作系统内核加载到内存中并将控制权传递给它。GRUB 配置文件决定了引导菜单选项、默认操作系统和内核参数。

在许多 Linux 系统上,GRUB 的主要配置文件是 CODE_0。这个文件包含用于生成实际 GRUB 引导菜单配置的设置。

我们将再次使用 CODE_0 命令来查看这个文件的内容。

如果终端尚未打开,请打开它。

输入以下命令并按下回车键:

cat /etc/default/grub

你将看到类似于以下的输出:

```plaintext
## If you change this file, run 'update-grub' afterwards to update
## /boot/grub/grub.cfg.
## For full documentation of the options in this file, see:
## info -f grub -n 'Simple configuration'

GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR=CODE0
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""

## Uncomment to enable booting from a full graphics screen using grub-gfxpayload
#GRUBGFXPAYLOADLINUX=keep

## Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console

## The resolution used on graphical terminal
## needs to be in the format e.g. 640x480 or 800x600 or 1024x768
## and your graphics card needs to support it. A list of all a vailable resolutions can
## be found with 'videoinfo' command in grub.
#GRUB_GFXMODE=640x480

## Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUBDISABLEUUID=true

## Uncomment to disable generation of recovery mode menu entries
#GRUBDISABLERECOVERY="true"

## Uncomment to get a beep at grub start
#GRUBINITTUNE="480 440 1"
```

查找以 CODE0 开头的行。这里列出的选项(如 CODE1)通常会在启动时传递给内核,你可能在上一步 CODE_2 的输出中看到过它们。

这个文件很重要,因为它允许你配置默认的内核参数,而不必在每次启动时手动输入。

重要提示: 如果你在真实系统上对这个文件进行更改,通常需要在之后运行 CODE0 以将更改应用到实际的引导配置文件 (CODE1)。然而,在这个实验环境中,我们只是查看文件。

点击 继续 以继续。

使用 dmesg 检查启动日志

在这最后一步中,我们将使用 CODE_0 命令查看内核环形缓冲区消息。内核环形缓冲区存储来自内核的消息,包括有关硬件检测、设备驱动程序以及启动过程中发生的系统事件的信息。

CODE_0 命令用于显示这些消息。它是诊断硬件问题或了解系统启动期间发生了什么的重要工具。

如果终端尚未打开,请打开它。

输入以下命令并按下回车键:

dmesg

这个命令可能会输出一长串消息。这些消息是内核在初始化并与系统的硬件和软件进行交互时生成的。

你将看到类似于以下的输出(确切的输出会有很大差异):

[    0.000000] Linux version ... (buildd@lcy02-amd64-...) (gcc-...) #...-Ubuntu SMP ...
[    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-... root=UUID=... ro console=ttyS0,... quiet splash vt.handoff=7
[    0.000000] KERNEL supported cpus:
[    0.000000]   Intel GenuineIntel
[    0.000000]   AMD AuthenticAMD
...
[    1.234567] usbcore: registered new interface driver usbfs
[    1.234567] usbcore: registered new interface driver hub
[    1.234567] usbcore: registered new device driver usb
...

注意,输出中包含内核版本和命令行参数,这与我们在 CODE_0 中看到的类似。

由于 CODE0 的输出可能很多,通常将其通过管道传递给 CODE1CODE_2 等分页器,以便逐屏查看。

试试这个命令:

dmesg | less

现在你可以使用箭头键在输出中上下滚动。按 CODE0 退出 CODE1

你还可以使用 CODE_0 过滤输出,以搜索特定的关键字,如 "error" 或硬件设备的名称。

例如,要查看与 USB 设备相关的消息:

dmesg | grep -i usb

这个命令将只显示包含 "usb" 的行(由于 CODE_0 标志,搜索不区分大小写)。

探索 CODE_0 输出是 Linux 系统管理和故障排除的一项基本技能。

点击 继续 完成此实验。

总结

在这个实验中,我们学习了如何通过检查 CODE_0 文件来确认 Linux 中内核启动选项是否已启用。该文件动态展示了当前启动会话期间传递给内核的命令行参数,让你了解系统的启动方式和初始配置。

我们还通过查看 GRUB 配置文件 CODE_0,开始探寻这些启动选项的来源。在系统启动前,该文件是定义内核启动参数的关键位置。

本文转载于:https://labex.io/zh/tutorials/linux-how-to-check-if-a-kernel-boot-option-is-enabled-in-linux-558719 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注