发布于2026-08-19 阅读(0)
扫一扫,手机访问
在这个实验中,你将学习如何验证对 Linux 中 GRUB 引导加载程序配置所做的更改是否已成功应用。你将查看位于 CODE_0 的主要 GRUB 配置文件,以了解其设置。
接下来,你将检查位于 CODE0 的生成的 GRUB 菜单配置文件,以了解默认文件中的设置是如何转换的。最后,你将使用 CODE1 命令检查内核引导参数,以确认 GRUB 设置已反映在运行的系统中。
在这一步中,你将查看 GRUB 配置文件。GRUB(GRand Unified Bootloader,通用引导加载程序)是包括 Ubuntu 在内的许多 Linux 发行版的引导加载程序。它是你启动计算机时运行的第一个软件,负责加载操作系统内核。
GRUB 的主要配置文件位于 CODE_0。该文件包含决定 GRUB 行为的设置,例如默认启动的操作系统、启动前的超时时间以及内核参数。
让我们使用 CODE0 命令查看这个文件的内容。CODE1 命令用于显示文件的内容。
如果终端尚未打开,请打开它。记住,你可以在桌面左侧找到 Xfce 终端 图标。
输入以下命令并按回车键:
cat /etc/default/grub
你将在终端中看到 CODE_0 文件的内容。它看起来会像这样:
```plaintext
## If you change this file, run 'update-grub' afterwards to update
## /boot/grub/grub.cfg.
GRUBDEFAULT=0
GRUBTIMEOUTSTYLE=hidden
GRUBTIMEOUT=0
GRUBDISTRIBUTOR=CODE0
GRUBCMDLINELINUXDEFAULT="quiet splash"
GRUBCMDLINE_LINUX=""
## Uncomment to enable graphical terminal (grub-gfxpayload is needed)
#GRUB_TERMINAL=gfxterm
## The resolution used on graphical terminal
## settings below may not work on your chipset but may be useful for EFI panel
## sizes
#GRUB_GFXMODE=640x480
## Uncomment to disable graphical terminal on boot problems
#GRUBTERMINALINPUT=console
## Uncomment to disable menu scrolling
#GRUBMENUSCROLL_STYLE=menu
## Uncomment to enable hidden menu by default
#GRUBHIDDENTIMEOUT=0
#GRUBHIDDENTIMEOUT_QUIET=true
## Uncomment to enable BadRAM filtering, modify to suit your needs
## This works only with Linux 2.6.25 or later using pcifilterenable=1
## and needs BadRAM filtering support in the kernel
#GRUB_BADRAM="0x0123456789abcdef,0xghijkllmnopqrstuvwxyz"
## Uncomment to disable graphical boot (use text mode)
#GRUBDISABLEGRAPHICS_OVERRIDE=true
## If you want to enable the GRUB boot menu at boot time, uncomment the following line:
#GRUBENABLECRYPTODISK=y
## The following lines are for the default grub menu entry
#GRUBINITTUNE="480 440 1"
## Uncomment to set a custom theme
#GRUB_THEME=/path/to/grub/theme
## Uncomment to enable os-prober, which detects other operating systems
#GRUBDISABLEOS_PROBER=false
```
这个文件包含各种设置。例如:
理解这个文件对于高级 Linux 配置和解决启动问题至关重要。
点击 继续 进入下一步。
在上一步中,你查看了 CODE0,它是 GRUB 的主要配置文件。然而,在启动过程中,GRUB 并不直接使用这个文件。相反,CODE1 中的设置用于生成实际的 GRUB 菜单配置文件,该文件位于 CODE_2。
CODE0 文件由 CODE1 命令(或 CODE_2)自动生成。它包含计算机启动时你看到的菜单项,让你可以选择要启动的操作系统或内核。
重要提示:你绝不能手动编辑 CODE0 文件。你所做的任何更改在下一次运行 CODE1 时都会被覆盖。始终修改 CODE2,然后运行 CODE3 来应用你的更改。
让我们使用 CODE0 命令查看 CODE1 文件的内容。
在终端中输入以下命令并按回车键:
cat /boot/grub/grub.cfg
与 CODE_0 相比,你将看到一个长得多且更复杂的输出。这个文件包含每个启动菜单项的详细配置,包括内核路径、initrd 路径和内核命令行参数。
```plaintext
#
## 请勿编辑此文件
#
## 它由grub-mkconfig使用模板自动生成
## 模板来自/etc/grub.d,设置来自/etc/default/grub
#
#### BEGIN /etc/grub.d/00header ###
...
#### END /etc/grub.d/00header ###
#### BEGIN /etc/grub.d/05debiantheme ###
...
#### END /etc/grub.d/05debiantheme ###
#### BEGIN /etc/grub.d/10_linux ###
...
menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' {
recordfail
...
linux /boot/vmlinuz--generic root=UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx ro quiet splash $vt_handoff
initrd /boot/initrd.img--generic
}
...
#### END /etc/grub.d/10_linux ###
#### BEGIN /etc/grub.d/20linuxxen ###
...
#### END /etc/grub.d/20linuxxen ###
#### BEGIN /etc/grub.d/30os-prober ###
...
#### END /etc/grub.d/30os-prober ###
#### BEGIN /etc/grub.d/30uefi-firmware ###
...
#### END /etc/grub.d/30uefi-firmware ###
#### BEGIN /etc/grub.d/40custom ###
...
#### END /etc/grub.d/40custom ###
#### BEGIN /etc/grub.d/41custom ###
...
#### END /etc/grub.d/41custom ###
```
你可以滚动输出查看不同的菜单项及其配置。查找以 CODE_0 开头的行。这些行定义了出现在 GRUB 启动菜单中的选项。
这个文件很复杂,你现在不需要理解每一行。关键要点是 CODE0 是 GRUB 实际使用的文件,它是从 CODE1 和 CODE_2 中的脚本生成的。
点击 继续 进入下一步。
在前面的步骤中,你查看了 GRUB 配置文件 CODE0 和 CODE1。你看到 CODE2 包含 CODE3 变量,该变量指定了内核参数。这些参数在 Linux 内核启动时会被传递给它。
CODE_0 命令用于显示内核环形缓冲区消息。这些消息包含系统启动过程的信息,包括所使用的内核命令行参数。
让我们使用 CODE_0 来查看在这台虚拟机启动期间 GRUB 传递的内核命令行参数。
在终端中输入以下命令并按回车键:
dmesg | grep "Kernel command line"
以下是对该命令的详细解释:
输出将显示用于启动系统的内核命令行。它看起来会类似于这样:
[ 0.000000] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-*-generic root=UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx ro quiet splash vt.handoff=7
你可以看到像 CODE0 和 CODE1 这样的参数,它们很可能是在 CODE2 中的 CODE3 变量中定义的。这些参数告诉内核在启动期间如何运行。例如,CODE4 会减少启动期间的输出,而 CODE5 会启用图形化启动界面。
使用 CODE_0 检查内核命令行是一种有用的技术,可用于验证你的 GRUB 配置更改是否正确应用,以及排查与内核参数相关的启动问题。
你现在已经成功探索了 GRUB 配置,并使用 CODE_0 验证了内核参数。
点击 继续 完成本次实验。
在本次实验中,你学习了如何检查 Linux 中 GRUB 设置是否已应用。首先,你使用 CODE0 命令查看了主要的 GRUB 配置文件 CODE1,以了解其内容以及在启动过程中控制 GRUB 行为的各种参数。
通过查看 CODE_0 文件,你深入了解了诸如默认启动项、超时值和内核命令行参数等设置。这第一步对于在验证其应用之前理解预期的 GRUB 配置至关重要。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
4
5
6
7
8
9