Linux 概念:grub2
GRUB 2是许多发行版的缺省efi模式引导加载程序。
grub2 与 grub 的区别
几个主要的区别:
1.配置文件的名称改变了。在grub中,配置文件为grub.conf或menu.lst(grub.conf的一个软链接),在grub2中改名为grub.cfg。
2.grub2增添了许多语法,更接近于脚本语言了,例如支持变量、条件判断、循环。
3.grub2使用img文件,不再使用grub中的stage1、stage1.5和stage2。
grub2 引导操作系统的方式
直接引导:(direct-load)直接通过默认的grub2 boot loader来引导写在默认配置文件中的操作系统
链式引导:(chain-load)使用默认grub2 boot loader链式引导另一个boot loader,该boot loader将引导对应的操作系统
rpm -qa | grep grub2
grub2-tools-2.02-73.oe1.aarch64
grub2-efi-aa64-2.02-73.oe1.aarch64
grub2-common-2.02-73.oe1.noarch
rpm -qc grub2-tools-2.02-73.oe1.aarch64
/etc/default/grub
/etc/grub.d/00_header
/etc/grub.d/01_menu_auto_hide
/etc/grub.d/01_users
/etc/grub.d/10_linux
/etc/grub.d/20_linux_xen
/etc/grub.d/20_ppc_terminfo
/etc/grub.d/30_os-prober
/etc/grub.d/30_uefi-firmware
/etc/grub.d/40_custom
/etc/grub.d/41_custom
rpm -ql grub2-efi-aa64-2.02-73.oe1.aarch64
/boot/efi/EFI/openEuler/fonts
/boot/efi/EFI/openEuler/grub.cfg
/boot/efi/EFI/openEuler/grubaa64.efi
/boot/efi/EFI/openEuler/grubenv
/boot/grub2/grubenv
/boot/loader/entries
/etc/grub2-efi.cfg
grubaa64.efi 这个是操作系统的引导文件
tree /boot/efi/EFI/
/boot/efi/EFI/
├── BOOT
│ ├── BOOTAA64.EFI
│ ├── fbaa64.efi
│ └── mmaa64.efi
└── openEuler
├── BOOTAA64.CSV
├── fbaa64.efi
├── fonts
├── grub.cfg
├── grubaa64.efi
├── grubenv
├── mmaa64.efi
├── shimaa64.efi
└── shimaa64.hash
EFI system partition(ESP)
EFI系统分区(也称为ESP)是一个操作系统独立分区,作为EFI引导加载程序、应用程序和驱动程序的存储空间,由UEFI固件启动。UEFI引导时必须配置。
fdisk -l /dev/sdb
Disk /dev/sdb: 447.13 GiB, 480103981056 bytes, 937703088 sectors
Disk model: SAMSUNG MZ7LH480
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 4FA243ED-88DE-4AFA-A008-E327FAB227D5
Device Start End Sectors Size Type
/dev/sdb1 2048 411647 409600 200M EFI System
/dev/sdb2 411648 2508799 2097152 1G Linux filesystem
/dev/sdb3 2508800 937701375 935192576 446G Linux LVM
The disk's partition table: it indicates Disklabel type: gpt if the partition table is GPT or Disklabel type: dos if it is MBR.
The list of partitions on the disk: Look for the EFI system partition in the list, it is usually at least 100 MiB in size and has the type EFI System or EFI (FAT-12/16/32). To confirm this is the ESP, mount it and check whether it contains a directory named EFI, if it does this is definitely the ESP.
efibootmgr 管理 UEFI 启动项
BootCurrent: 0003
Timeout: 10 seconds
BootOrder: 0003,0002,0004,0006,0008,000A,000C,000E,0010,0001,0000
Boot0000* BootManagerMenuApp
Boot0001* ByoUiApp
Boot0002* UEFI PXEv4 (MAC:5CE88331C870)
Boot0003* openEuler
Boot0004* UEFI PXEv4 (MAC:5CE88331C871)
Boot0006* UEFI PXEv4 (MAC:5CE88331C872)
Boot0008* UEFI PXEv4 (MAC:5CE88331C873)
Boot000A* UEFI PXEv4 (MAC:5CE88331C874)
Boot000C* UEFI PXEv4 (MAC:5CE88331C875)
Boot000E* UEFI PXEv4 (MAC:5CE88331C876)
Boot0010* UEFI PXEv4 (MAC:5CE88331C877)
Linux 概念:grub2的更多相关文章
- 【转】Linux 概念架构的理解
转:http://mp.weixin.qq.com/s?__biz=MzA3NDcyMTQyNQ==&mid=400583492&idx=1&sn=3b18c463dcc451 ...
- Linux 概念架构的理解
摘要 Linux kernel 成功的两个原因: 架构设计支持大量的志愿开发者加入到开发过程中: 每个子系统,尤其是那些需要改进的,都支持很好的扩展性. 正是这两个原因使得 Linux kernel ...
- linux概念之/proc与/sys
http://blog.chinaunix.net/uid-1835494-id-3070465.html proc/x:1/sched http://bbs.chinaunix.net/threa ...
- linux概念之内存分析
linux内存总结 分析样本[root@-comecs ~]# free total used free shared buffers cached Mem: -/+ buffers/cache: S ...
- linux概念之时间与时区
http://www.cnblogs.com/liuyou/archive/2012/07/29/2614338.html Linux时间基准 以上我们了解了RTC(实时时钟.硬件时钟)和OS时钟(系 ...
- linux概念之分区与文件系统
分区类型 [root@-shiyan dev]# fdisk /dev/sda WARNING: DOS-compatible mode is deprecated. It's strongly re ...
- linux概念之用户,组及权限
Linux 是一个多用户.多任务的操作系统:我们应该了解单用户多任务和多用户多任务的概念 单用户多任务一个beinan用户,为了完成工作,执行了几个任务:当然beinan这个用户,其它的人还能以远程登 ...
- (转)Linux概念架构的理解
英文原文:Conceptual Architecture of the Linux Kernel 摘要 Linux kernel成功的两个原因:(1)架构设计支持大量的志愿开发者加入到开发过程中:(2 ...
- Linux概念架构的理解
摘要 Linux kernel成功的两个原因:(1)架构设计支持大量的志愿开发者加入到开发过程中:(2)每个子系统,尤其是那些需要改进的,都支持很好的扩展性.正式这两个原因使得Linux kernel ...
- Linux概念架构的理解(转)
英文原文:Conceptual Architecture of the Linux Kernel 摘要 Linux kernel成功的两个原因:(1)架构设计支持大量的志愿开发者加入到开发过程中:(2 ...
随机推荐
- java线程的创建
文章目录 前言 进程 线程 使用线程 继承Thread 线程随机性 .start()的顺序不代表.run()的顺序 实现Runnable 实例共享造成的非线程安全问题 线程常用方法: 判断线程是否为停 ...
- Prism Sample 17-BasicRegionNavigation
本例是基础的导航应用 在窗口中布局了2个按钮,一个区域 <DockPanel LastChildFill="True"> <StackPanel Orientat ...
- PHP前后端交互
PHP是现如今十分流行的轻量级语言,经常用来做应用的后端开发,其特点是语法简单,十分容易上手.除了单独做后端,PHP还能够将程序嵌入到HTML文件中执行,非常容易实现简单的前后端交互.而且PHP的运行 ...
- 文盘Rust —— rust连接oss | 京东云技术团队
作者:京东科技 贾世闻 对象存储是云的基础组件之一,各大云厂商都有相关产品.这里跟大家介绍一下rust与对象存储交到的基本套路和其中的一些技巧. 基本连接 我们以 [S3 sdk]( https:// ...
- 2021-04-04:给定一个非负数组arr,和一个正数m。 返回arr的所有子序列中累加和%m之后的最大值。
2021-04-04:给定一个非负数组arr,和一个正数m. 返回arr的所有子序列中累加和%m之后的最大值. 福大大 答案2021-04-04: 自然智慧即可. 1.递归,累加和. 2.动态规划,累 ...
- Node 调试利器,前端、Node 开发必备 - VSCode JS Debug Terminal
经常看到有同学抱怨 Node 调试麻烦或者是搞不清怎么调试各种脚本.Jest.Webpack 等等,而偶尔看到的调试相关的文章又全都是在写 inspect.launch.json 这些方案,其实有一定 ...
- .join()字符串操作函数
join函数是一个字符串操作函数 str.join(item)str表示字符串(字符),item表示一个成员,注意括号里必须只能有一个成员,比如','.join('a','b')这种写法是行不通的 举 ...
- Hackathon 代码黑客马拉松采访复盘
AIGC Hackathon 2023 北京站 我参加了选手采访提纲,这里我感觉有些点可以分享给大家.之前复盘的链接: 下面是采访我的回答内容: 1. 请向大家简单介绍一下自己吧? 子木,社区名称为程 ...
- 【Haxe】(二)字符串与变量的输入输出
前言 每次学习一门新语言,各种手册和教程一上来就是讲变量如何定义,数据结构怎么用,很少有讲输入输出应该怎么写的.我比较喜欢先搞懂这部分,这让我感觉像是掌握了学习主动权,很能调动我的学习积极性.于是我的 ...
- Linux 中 3 个文件打包上传和下载相关命令详解
tar 命令 通过 SSH 访问服务器,难免会要用到压缩,解压缩,打包,解包等,这时候tar 命令就是必不可少的一个功能强大的工具.Linux 中最流行的tar是麻雀虽小,五脏俱全,功能强大. 使用t ...