新手grub 配置介绍

news2024/12/23 8:10:18

最近因为工作需要接触了grub,学到了一些相关知识,所以在这里写篇博客记录一下,有不对的部分欢迎指正。

目录

grub是什么?

grub有哪些配置文件?

各配置文件区别

配置文件生成流程

配置文件有哪些内容?

/etc/default/grub

/boot/grub/grub.cfg


grub是什么?

GRUB(GRand Unified Bootloader)是一个启动加载程序,用于启动操作系统。它可以帮你选择并启动你想用的操作系统。

这个每次启动就会出现的界面就是grub。

grub有哪些配置文件?

GRUB的配置文件主要有两个/etc/default/grub/boot/grub/grub.cfg

各配置文件区别

特性/etc/default/grub/boot/grub/grub.cfg
作用支持用户自定义的GRUB设置实际的GRUB启动配置文件,由update-grub生成
使用情况用户可直接编辑自动生成的配置文件,不建议手动编辑
配置内容包含全局设置和默认选项,如默认操作系统、超时时间、内核参数等包含具体的启动条目和启动指令
生成时间用户根据需要修改,修改后需运行update-grub更新配置每次运行update-grub命令时重新生成

配置文件生成流程

  • update-grub命令首先读取/etc/default/grub中的配置选项。

  • 按顺序运行/etc/grub.d/目录中的脚本,生成各个部分的配置内容。

  • 将各个脚本生成的内容组合起来,生成最终的/boot/grub/grub.cfg文件。

配置文件有哪些内容?

/etc/default/grub

以我现在用的系统,Ubuntu2004的/etc/default/grub为例,解释一下里面有哪些设置。

# 如果你修改了这个文件,请运行 'update-grub' 命令来更新 /boot/grub/grub.cfg。
# 有关此文件中选项的完整文档,请参见:
#   info -f grub -n 'Simple configuration'

GRUB_DEFAULT=0
# GRUB_DEFAULT定义默认启动的菜单项。
# 例如:GRUB_DEFAULT=0 表示默认启动第一个菜单项。

GRUB_TIMEOUT_STYLE=hidden
# GRUB_TIMEOUT_STYLE定义GRUB菜单显示的样式。可选值包括:
# - 'menu':     显示菜单并等待超时。
# - 'countdown':显示倒计时。
# - 'hidden':   隐藏菜单并直接启动默认项。

GRUB_TIMEOUT=0
# GRUB_TIMEOUT设置GRUB菜单显示的时间(秒)。如果设为0,GRUB菜单不会显示,直接启动默认操作系统。

GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
# GRUB_DISTRIBUTOR用于定义GRUB菜单中显示的发行版名称。通常是自动检测当前的Linux发行版。
# 例如:GRUB_DISTRIBUTOR=`lsb_release -i -s` 会返回发行版的名称,如"Ubuntu"或"Debian"。

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
# GRUB_CMDLINE_LINUX_DEFAULT定义传递给Linux内核的默认命令行参数。
# "quiet"参数隐藏大部分启动信息,"splash"参数显示启动画面。

GRUB_CMDLINE_LINUX="systemd.unified_cgroup_hierarchy=1"
# GRUB_CMDLINE_LINUX定义传递给Linux内核的额外命令行参数。
# 在这个例子中,"systemd.unified_cgroup_hierarchy=1" 启用systemd的统一控制组层次结构。

我的配置文件里有6个设置,实际上常用的就前3个。

/boot/grub/grub.cfg

#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

# 全局设置
if [ -s $prefix/grubenv ]; then
  load_env
fi

set default="0"
set timeout=10

# 图形模式设置
if loadfont $prefix/fonts/unicode.pf2; then
  set gfxmode=auto
  insmod efi_gop
  insmod efi_uga
  insmod gfxterm
  terminal_output gfxterm
fi

set menu_color_normal=white/black
set menu_color_highlight=black/light-gray


# 启动项Ubuntu
menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os {
  recordfail
  load_video
  gfxmode $linux_gfx_mode
  insmod gzio
  insmod part_msdos
  insmod ext2
  set root='hd0,msdos1'
  if [ x$feature_platform_search_hint = xy ]; then
    search --no-floppy --fs-uuid --set=root ebacda1f-86d0-41ae-933e-39e98cd4fcf9
  else
    search --no-floppy --fs-uuid --set=root ebacda1f-86d0-41ae-933e-39e98cd4fcf9
  fi
  linux /boot/vmlinuz-5.4.0-42-generic root=UUID=ebacda1f-86d0-41ae-933e-39e98cd4fcf9 ro quiet splash
  initrd /boot/initrd.img-5.4.0-42-generic
}

# 启动项Memory test (memtest86+)
menuentry 'Memory test (memtest86+)' {
  insmod part_msdos
  insmod ext2
  set root='hd0,msdos1'
  linux16 /boot/memtest86+.bin
}

# 启动项System setup
menuentry 'System setup' {
  fwsetup
}

以这份配置文件为例,grub界面会出现3个启动项Ubuntu,Memory test (memtest86+)和System setup。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1812329.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Nature子刊】最争气国人友好“灌水刊”,中科院3区升2区,录用仅1个月,2天见刊!

本周投稿推荐 SSCI • 中科院2区,6.0-7.0(录用友好) EI • 各领域沾边均可(2天录用) CNKI • 7天录用-检索(急录友好) SCI&EI • 4区生物医学类,0.5-1.0(录用…

Android Studio | 小白如何运行别人的安卓项目

目录 Step1:正确地打开项目 Step2:AS 同步时报错 Step3:同步完成后启动 Step4:启动成功 说明:本文简称 Android Studio 为 AS Step1:正确地打开项目 重点:确认好项目的根目录是哪个目录&am…

TCL电视销量蝉联全球第二,打出美洲杯欧洲杯营销王牌

四年一度的欧洲杯即将于6月14日至7月14日在德国举办。作为全球顶级的足球赛事,欧洲杯不仅受到全世界球迷的瞩目,同样赢得了中国品牌的青睐。 近日,TCL宣布成为德国、西班牙、意大利、波兰、斯洛伐克5支国家队的官方合作伙伴,携手…

idea插件开发之定义侧边栏

写在前面 看下如何在侧边栏定义窗口,如下的效果: 1:正戏 先来定义UI,随便拖拽个组件,就看个效果: 接着定义一个工厂类来创建这个UI,需要实现接口com.intellij.openapi.wm.ToolWindowFactor…

零基础非科班也能掌握的C语言知识20 文件操作

文件操作 1.文件相关概念2.流和标准流2.1流2.2标准流 3.文件指针4.文件的打开关闭5.文件的顺序读写6.文件的随机读写6.1 fseek6.2 ftell6.3 rewind 7.⽂件读取结束的判定7.1 feof 8.文件缓冲区 1.文件相关概念 2.流和标准流 2.1流 我们程序的数据需要输出到各种外部设备&…

4 最简单的 C 程序设计—顺序程序设计-4.1 C语句概述-C程序的结构

C 语句可分为以下五类: 1) 表达式语句 2) 函数调用语句 3) 控制语句 4) 复合语句 5) 空语句 当然,C语言中的确可以按照您列举的这五种类别来划分语句。下面我将分别给出每个类别的一些典型代码案例: 1. 表达式语句 表达式语句是最基本的语…

【CTF-Events】R3CTF/YUANHENGCTF 2024 两道密码题记录一下

R3CTF2024 WP 文章目录 R3CTF2024 WPCryptoR0System考点:代码审计 ECDH R1System考点:代码审计 ECDH Crypto R0System 考点:代码审计 ECDH 打开代码后有两个小系统,看一下功能 然后再看一下登录之后有哪些功能 其实到这里就可以…

服务器端口,服务器远程端口修改操作

在进行服务器端口和远程端口的修改操作时,必须确保具备相应的网络知识和实践经验,以避免因操作不当而导致的数据丢失或网络故障。下面将详细阐述这一操作的流程和注意事项。 一、端口修改操作前准备 1. 深入了解当前网络环境和配置,包括服务…

在微信小程序中安装和使用vant框架

目录 1、初始化项目2、安装vant相关依赖3、修改 app.json4、修改 project.config.json5、构建npm6、使用示例 本文将详细介绍如何在微信小程序中安装并使用vant框架~ 开发工具:微信开发者工具 1、初始化项目 从终端进入小程序项目目录,执行…

24年中级会计考试报名明天开始啦,速速查收报名流程!

😭😭姐妹们!24年中级会计明天就要开始报名了!距离24年中级会计考试还有90天时间,还没开始备考的姐妹们真的要紧张起来了!今天给大家整理了一份24中级会计详细报名流程&各地报名时间,附备考工…

16. 《C语言》——【牛客网BC124 —— BC130题目讲解】

亲爱的读者,大家好!我是一名正在学习编程的高校生。在这个博客里,我将和大家一起探讨编程技巧、分享实用工具,并交流学习心得。希望通过我的博客,你能学到有用的知识,提高自己的技能,成为一名优…

jvm学习笔记(一) ----- JAVA 内存

JAVA 内存 一、程序计数器二、虚拟机栈三、本地方法栈四、堆五、非JAVA内存(堆外内存)1.元空间(Metaspace)2.直接内存 链接: jvm学习笔记(二) ----- 垃圾回收 链接: jvm学习笔记(三) ----- 垃圾回收器 一、程序计数器 虚拟机需要通过『程序计数器』记录指令执行到哪了。线程要…

关于LayUI弹出层请求一次其他网页后无法再次点击按钮问题

问题描述 使用layer弹出层去请求另一个页面,关闭弹窗后本页面按钮无法点击也不报错,如下面弹窗代码 layer.open({type: 1,area: [500px, 400px],title: 编辑信息,shade: 0.6,shadeClose: true,maxmin: false,anim: 0,success: function (layero, index) {$.ajax({u…

【代码随想录】【算法训练营】【第35天】 [1005]K次取反后最大化的数组和 [134]加油站 [135]分发糖果

前言 思路及算法思维,指路 代码随想录。 题目来自 LeetCode。 day 35,连休两天~ 题目详情 [1005] K次取反后最大化的数组和 题目描述 1005 K次取反后最大化的数组和 解题思路 前提:数组 思路:优先负数取反,未…

汇编语言作业(七)

目录 一、实验目的 二、实验内容 三、实验步骤以及结果 四、实验总结 一、实验目的 熟悉无符号数和有符号数乘法和除法指令的使用掌握无符号位扩展指令的使用掌握逻辑指令的使用 二、实验内容 1、编写一个汇编程序,要求从键盘中输入一个小写字母,将其转…

性价比之选!W830NB降噪耳机高性能配置,探底价309元起

目录 一、降噪技术的革新:-45dB深度沉浸 二、超长续航,乐动不停歇 三、音质的极致追求:Hi-Res双金标认证 四、空间音频与低延迟游戏模式 五、人性化设计与智能互联 六、总结 在这个快节奏的时代,寻找一片属于自己的宁静空间…

TypeScript入门教程

今天,给大家分享一个自己总结的超详细的TypeScript入门教程电子书。从TypeScript的基础知识开始讲解,包括数据类型、变量、运算符、条件语句、循环结构等基本概念。接着,详细介绍TypeScript中的函数、类和接口等高级特性,以及如何…

理解查准率P、查全率R及Fβ度量怎么得来的

如果得到的是一组样本在两个算法上的一次预测结果,其中每个样本都被赋予了一个为正样本的概率(例如,通过逻辑回归或朴素贝叶斯分类器得到的概率估计),那么可以通过改变不同的阈值点来利用这些预测结果画出PR曲线。 如果…

Spring系统学习 -Spring IOC 的XML管理Bean之类类型属性赋值、数组类型属性赋值、集合类属性赋值

类类型属性赋值&#xff1a; 在XML配置中&#xff0c;可以使用 <property> 元素为类类型属性赋值。通过指定属性的名称和值&#xff0c;可以直接将其他Bean的实例引用注入到目标Bean的属性中。这种方式可以建立对象之间的关联关系。例如&#xff0c;可以将一个Address对象…

python项目(豆瓣电影)

目录 1、项目效果 2、项目源码 3、技术实现 4、总结 前言 我的这个项目是做的一个豆瓣电影爬取&#xff0c;爬取了豆瓣电影的TOP排行榜的数据 包括电影的名称 演员 评分 评价人数等等 运用了TK布局助手 布了4个界面 有登录 注册 首页 详情 注意&#xff1a;项目并没有连接数…