当前位置:

首页 > 系统应用 > 如何检查 Linux 中 GRUB 设置是否已应用

如何检查 Linux 中 GRUB 设置是否已应用

介绍 在这个实验中,你将学习如何验证对 Linux 中 GRUB 引导加载程序配置所做的更改是否已成功应用。你将查看位于 CODE_0 的主要 GRUB 配置文件,以了解其设置。 接下来,你将检查位于 CODE0 的生成的 GRUB 菜单配置文件,以了解默认文件中的设置是如何转换的。最后,你将使用

介绍

在这个实验中,你将学习如何验证对 Linux 中 GRUB 引导加载程序配置所做的更改是否已成功应用。你将查看位于 CODE_0 的主要 GRUB 配置文件,以了解其设置。

接下来,你将检查位于 CODE0 的生成的 GRUB 菜单配置文件,以了解默认文件中的设置是如何转换的。最后,你将使用 CODE1 命令检查内核引导参数,以确认 GRUB 设置已反映在运行的系统中。

使用 cat /etc/default/grub 检查 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
GRUB
TIMEOUTSTYLE=hidden
GRUB
TIMEOUT=0
GRUBDISTRIBUTOR=CODE0
GRUBCMDLINELINUXDEFAULT="quiet splash"
GRUB
CMDLINE_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
```

这个文件包含各种设置。例如:

  • CODE0:指定默认启动的菜单项。CODE1 表示第一个菜单项。
  • CODE_0:设置在自动启动默认菜单项之前的等待时间(以秒为单位)。
  • CODE_0:包含在启动默认菜单项时传递给内核的内核参数。

理解这个文件对于高级 Linux 配置和解决启动问题至关重要。

点击 继续 进入下一步。

使用 cat /boot/grub/grub.cfg 验证 GRUB 菜单

在上一步中,你查看了 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/00
header ###

#### 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/30
os-prober ###

#### BEGIN /etc/grub.d/30uefi-firmware ###
...
#### END /etc/grub.d/30
uefi-firmware ###

#### BEGIN /etc/grub.d/40custom ###
...
#### END /etc/grub.d/40
custom ###

#### BEGIN /etc/grub.d/41custom ###
...
#### END /etc/grub.d/41
custom ###
```

你可以滚动输出查看不同的菜单项及其配置。查找以 CODE_0 开头的行。这些行定义了出现在 GRUB 启动菜单中的选项。

这个文件很复杂,你现在不需要理解每一行。关键要点是 CODE0 是 GRUB 实际使用的文件,它是从 CODE1 和 CODE_2 中的脚本生成的。

点击 继续 进入下一步。

在 dmesg 中检查 GRUB 参数

在前面的步骤中,你查看了 GRUB 配置文件 CODE0 和 CODE1。你看到 CODE2 包含 CODE3 变量,该变量指定了内核参数。这些参数在 Linux 内核启动时会被传递给它。

CODE_0 命令用于显示内核环形缓冲区消息。这些消息包含系统启动过程的信息,包括所使用的内核命令行参数。

让我们使用 CODE_0 来查看在这台虚拟机启动期间 GRUB 传递的内核命令行参数。

在终端中输入以下命令并按回车键:

dmesg | grep "Kernel command line"

以下是对该命令的详细解释:

  • CODE_0:显示内核消息。
  • CODE0:这是管道符号。它将左边命令(CODE1)的输出作为输入传递给右边的命令(CODE_2)。
  • CODE0:该命令在接收到的输入(来自 CODE1)中搜索包含确切短语 "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 配置至关重要。

本文内容来源于网友投稿,如有侵权请联系删除。
作者最新文章
系统应用
相关文章 更多
Windows 10家庭版怎么升级到专业版?步骤与成本说明
Windows 10家庭版怎么升级到专业版?步骤与成本说明

想知道如何将 Windows 10 家庭版升级到专业版?本文详解通过微软商店购买和输入产品密钥两种官方升级方法,说明数据保留情况、成本计算及升级后如何验证 BitLocker 和远程桌面等功能,助您安全获取专业版权限。

win10自动更新突然恢复启用是什么原因
win10自动更新突然恢复启用是什么原因

Windows 10 自动更新突然重新启用怎么办?本文详解暂停35天期限结束、误点继续更新、重启后任务续跑及公司域策略覆盖等常见原因,提供查看更新历史、设置活动时间和正确使用疑难解答的操作指南,帮助用户在支持结束前安全管理系统更新。

Media Creation Tool下载失败或速度慢的解决方法
Media Creation Tool下载失败或速度慢的解决方法

解决 Media Creation Tool 在下载 Windows 镜像时速度慢、中断或报错的问题。本文按操作顺序指导用户检查网络连接、系统权限、磁盘空间及 U 盘状态,确保顺利制作可启动安装介质。

普通用户选Windows 10家庭版还是专业版?适用场景分析
普通用户选Windows 10家庭版还是专业版?适用场景分析

不确定该选Windows 10家庭版还是专业版?本文解析两者在远程连接、磁盘加密和虚拟化等方面的实际差异,帮你避开性能误区,根据真实使用场景做出最具性价比的选择。

win10断电重启后自动继续更新要怎么阻止
win10断电重启后自动继续更新要怎么阻止

Win10断电重启后总是自动继续更新怎么办?别强行关机,先等恢复完成。教你用暂停更新、设置活动时间和按流量计费连接,减少更新对工作的打扰。注意Win10支持已终止,长期不更新有风险。

win10能不能单独关闭功能更新不关闭安全补丁
win10能不能单独关闭功能更新不关闭安全补丁

解析Windows 10功能更新与质量更新的区别。说明个人家庭版无法永久单独关闭功能更新,专业版可通过组策略延迟功能升级。提醒用户关注Win10支持终止时间,避免误用禁用服务导致安全风险。

win10使用移动热点如何禁止win10自动更新下载
win10使用移动热点如何禁止win10自动更新下载

想知道Win10连手机热点时如何避免偷跑流量?只需将热点网络设为“按流量计费的连接”,即可限制Windows Update自动下载非优先更新。本文提供详细界面导览与设置步骤,助你精准控制后台数据消耗。

U盘启动安装Windows11容易失败?正确装机流程是什么
U盘启动安装Windows11容易失败?正确装机流程是什么

详解 Windows 11 安装的三种路径风险,指导如何制作官方安装介质、正确进入启动菜单、安全清理磁盘分区以及装后验证激活状态,帮助用户避免数据丢失和安装失败。

win10怎么只关闭大版本升级保留安全更新推送
win10怎么只关闭大版本升级保留安全更新推送

想只关闭Win10大版本升级但保留安全补丁?本文区分功能更新与质量更新,详解专业版组策略配置方法,并说明家庭版限制及Win10停止支持后的应对建议。

win10笔记本外出联网如何阻止自动下载更新包
win10笔记本外出联网如何阻止自动下载更新包

Win10笔记本外出使用手机热点时,如何防止自动下载更新包消耗流量?本文详解通过设置“按流量计费的连接”和“暂停更新”来精准控制流量,对比传递优化限速效果,并解释为何不应直接禁用Windows Update服务。

查看更多
精品专题 更多
装机必备
装机必备

正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

Windows
Windows

正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

macOS软件
macOS软件

正软商城macOS软件专区,精选适用于Mac电脑的办公、设计、影音、效率、开发和系统工具,提供软件功能介绍、macOS兼容版本、正版授权及购买下载服务。

Mac软件 更多
photoshop
photoshop
Windows、macOS 、 iPad

Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。

Blender
Blender
Windows、macOS 和 Linux

Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。

灵活计算器
灵活计算器
macOS/iOS/Android

灵活计算器是一款笔记式算数应用,支持实时计算、动态关联和云端同步功能。记录、整理和输出之间的过渡会更自然,适合长期写作、做笔记或持续沉淀个人内容。

WINDOWS 更多
3dmax(3ds max)
3dmax(3ds max)
Windows

Autodesk 3ds Max 是一款专业的三维建模、动画与渲染软件,广泛应用于建筑可视化、游戏开发、影视动画、广告设计和产品展示等领域。

photoshop
photoshop
Windows、macOS 、 iPad

Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。

Blender
Blender
Windows、macOS 和 Linux

Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。