grub启动流程及原理和grub的mini os shell(转) 20210301

深入理解 GNU GRUB - 01 1. 概述1.1 GRUB是什么 GNU GRUB是一款多重引导程序。简单来讲,引导程序是计算机开机运行的第一个软件,它的使命是装载操作系统并运行。实际上,由于平台、存储介质、操作系统、文件系统等的多样性,引导程序都很复杂,同时,引导程序要求有更高安全性、健壮性。 GNU GRUB支持多平台(例如X86、PowerPC等)、多存储介质(例如硬盘、软盘、光盘、U盘)、多操作系统(例如Linux、Gnu Hurd等)、多重引导(例如Windows等)、多文件系统(例如Ext2、Ext3、Ext4、FAT32 阅读详情

GNU GRUB(简称“GRUB”,GRand Unified Bootloader)是一个来自GNU项目的多操作系统启动管理器,它允许用户可以在计算机内同时安装有多个操作系统,比如不同版本的Windows和Linux,并在计算机启动时选择希望运行的操作系统。Grub一直在发展,现在的发行版都用Grub 2了,但是基本的启动引导原理是差不多的,所以还是以传统的Grub为例(在CentOS 5.5上)。


我们知道,引导扇区是每个分区(Partition)的第一扇区,而主引导扇区是硬盘的第一扇区。主引导扇区由三个部分组成,主引导记录MBR、硬盘分区表DPT和硬盘有效标志。在总共512字节的主引导扇区里MBR占446个字节。第二部分是分区表,即DPT(Disk Partition Table),占64个字节。分区表含4个分区项,偏移地址01BEH--01FDH,每个分区表项长16个字节。这也就是为什么一个硬盘最多只能有4个主分区(包括一个扩展分区,(扩展分区可以再分为多个逻辑分区))的原因。第三部分是硬盘有效标志,占2个字节,固定为55AA,如果该标志错误系统就不能启动。


Grub的实质是一个mini os,它拥有shell,支持script,支持特定文件系统……grub由stage1,stage1-5,stage2以及/boot/grub目录下的诸多文件(包括Grub的配置文件与相关文件系统定义文件等)组成,其核心是stage2,主要功能在于完成操作系统的引导工作。Grub可以安装在MBR,也可以安装在一个Linux分区的引导扇区,这2种情况是略有不同的。


先介绍一下Grub的三个文件:
1) stage1的代码文件,是源码目录下stage1/stage1.S,汇编后便成了一个512字节的img,被写在硬盘的0面0道第1扇区,作为硬盘的主引导扇区。(这512字节还包括分区表DPT以及主引导扇区标志“55AA”)
2) stage1_5就是文件系统的解释代码,根据/boot分区(或/boot所在分区)的具体文件系统类型而异,如:ext3分区的话就是 e2fs_stage1_5。在stage1_5没有被加载以前,系统无法识别任何文件系统(但是可以通过BIOS中断方式INT 13h读取磁盘指定扇区的内容)。
3) stage2是grub最核心的部分。它运行后,会把系统切入保护模式,设置好c运行环境然后寻找menulist,如果没有的话就执行一个shell,等待我们输入命令,并在执行boot命令以后就会把控制权转交出去。


我们看一下/boot/grub目录:
[cent@localhost ~]$ ls -l /boot/grub
总计 328
-rw-r--r-- 1 root root     63 2010-10-23 device.map
-rw-r--r-- 1 root root   7584 2010-10-23 e2fs_stage1_5
-rw-r--r-- 1 root root   7456 2010-10-23 fat_stage1_5
-rw-r--r-- 1 root root   6720 2010-10-23 ffs_stage1_5
-rw------- 1 root root    656 2010-10-23 grub.conf
-rw-r--r-- 1 root root   6720 2010-10-23 iso9660_stage1_5
-rw-r--r-- 1 root root   8192 2010-10-23 jfs_stage1_5
lrwxrwxrwx 1 root root     11 2010-10-23 menu.lst -> ./grub.conf
-rw-r--r-- 1 root root   6880 2010-10-23 minix_stage1_5
-rw-r--r-- 1 root root   9248 2010-10-23 reiserfs_stage1_5
-rw-r--r-- 1 root root  55808 2009-03-13 splash.xpm.gz
-rw-r--r-- 1 root root    512 2010-10-23 stage1
-rw-r--r-- 1 root root 104988 2010-10-23 stage2
-rw-r--r-- 1 root root   7072 2010-10-23 ufs2_stage1_5
-rw-r--r-- 1 root root   6272 2010-10-23 vstafs_stage1_5
-rw-r--r-- 1 root root   8904 2010-10-23 xfs_stage1_5
[cent@localhost ~]$


现在我们把Grub再安装一次,安装在MBR(MBR广义可指主引导扇区):
[cent@localhost ~]$ sudo grub
    GNU GRUB  version 0.97  (640K lower / 3072K upper memory)


 [ Minimal BASH-like line editing is supported.  For the first word, TAB
   lists possible command completions.  Anywhere else TAB lists the possible
   completions of a device/filename.]


grub> root (hd0,7)
 Filesystem type is ext2fs, partition type 0x83


grub> setup (hd0)
 Checking if "/boot/grub/stage1" exists... yes
 Checking if "/boot/grub/stage2" exists... yes
 Checking if "/boot/grub/e2fs_stage1_5" exists... yes
 Running "embed /boot/grub/e2fs_stage1_5 (hd0)"...  15 sectors are embedded.
succeeded
 Running "install /boot/grub/stage1 (hd0) (hd0)1+15 p (hd0,7)/boot/grub/stage2
/boot/grub/grub.conf"... succeeded
Done.


grub> quit


由上面的命令看出,stage1写进了(hd0)的MBR中,stage1_5写进了(hd0)MBR以后的15个扇区中(因为e2fs_stage1_5大小为7.5k)。将stage1_5写进MBR以后的扇区中,会不会影响正常的文件系统分区?不会,因为stage1_5较小,只占15个扇区,硬盘上第一个文件系统分区的开始扇区最小也只能从0柱面,1磁头,1扇区开始。就是说MBR所在0磁头就只用到了1个扇区而已(其它扇区都是未用的,不属于任何分区),按照现在硬盘的规格来说,一般一个柱面磁头都有60+个扇区,所以这些扇区可以用来放stage1_5,但是放stage2就不够了(100多k),所以只能将stage2放进文件系统中了。


我们再来把Grub安装一次,安装在Linux分区的引导扇区:
[cent@localhost ~]$ sudo grub
    GNU GRUB  version 0.97  (640K lower / 3072K upper memory)


 [ Minimal BASH-like line editing is supported.  For the first word, TAB
   lists possible command completions.  Anywhere else TAB lists the possible
   completions of a device/filename.]


grub> root (hd0,7)
 Filesystem type is ext2fs, partition type 0x83


grub> setup (hd0,7)
 Checking if "/boot/grub/stage1" exists... yes
 Checking if "/boot/grub/stage2" exists... yes
 Checking if "/boot/grub/e2fs_stage1_5" exists... yes
 Running "embed /boot/grub/e2fs_stage1_5 (hd0,7)"... failed (this is not fatal)
 Running "embed /boot/grub/e2fs_stage1_5 (hd0,7)"... failed (this is not fatal)
 Running "install /boot/grub/stage1 (hd0,7) /boot/grub/stage2 p /boot/grub/grub
.conf "... succeeded
Done.


grub> quit


可以看到,这次e2fs_stage1_5嵌入/安置失败(但Grub仍然安装成功了),因为Linux分区没有文件系统之外的未用扇区。但是在一个ext2文件系统里,引导扇区boot sector应该会占有1024字节的大小(ext3文件系统应该一样),而stage1只有512字节,甚至此时不包括DPT,故引导扇区最多多余了64+2+512个字节保留下来。我猜测这么多保留的字节,可以把e2fs_stage1_5文件在硬盘上实际占用的物理扇区地址,按顺序全部记录在这些保留的字节里,从而可以间接的读取e2fs_stage1_5。甚至用这种方式间接的读取stage2,就不需要stage1_5了,stage2自身具有解释文件系统的功能,所以可以加载kernel。


如果Grub是安装在一个活动分区的引导扇区,则MBR可以安装OSL2000等第三方启动管理器,它也是占用MBR和硬盘0磁道的未用扇区,独立于任何文件系统和操作系统。


最后叙述一下计算机启动简要流程:
(1)系统上电开机后,主板BIOS(Basic Input / Output System)运行POST(Power on self test)代码,检测系统外围关键设备(如:CPU、内存、显卡、I/O、键盘鼠标等)。硬件配置信息及一些用户配置参数存储在主板的CMOS(Complementary Metal Oxide Semiconductor)上(一般64字节),实际上就是主板上一块可读写的RAM芯片,由主板上的电池供电,系统掉电后,信息不会丢失。执行POST代码对系统外围关键设备检测通过后,系统启动自举程序,根据我们在BIOS中设置的启动顺序搜索启动驱动器(比如硬盘、光驱、网络服务器等)。选择合适的启动器,比如通常情况下的硬盘设备,BIOS会读取硬盘设备的第一个扇区(MBR,512字节),并执行其中的代码。实际上这里BIOS并不关心启动设备第一个扇区中是什么内容,它只是负责读取该扇区内容、并执行,BIOS的任务就完成了。此后将系统启动的控制权移交到MBR部分的代码。
(2)如上BIOS加载硬盘主引导扇区总共512字节的二进制代码,执行Initial Program Loader(IPL),IPL就是存储于446个字节的MBR中,因此IPL仅仅是GRUB的第一个部分(stage1)。
(3) stage1的工作是加载 stage1_5(ext3文件系统就是e2fs_stage1_5),它位于0面0道第2扇区开始的十几个扇区内。stage1_5运行后,就可以识别/boot所在分区的文件系统了,所以:
(4) 加载stage2并运行。此后grub会根据menulist或用户输入加载kernel,然后控制权就转到Linux了。


关于Grub 2(懒得翻译了):
The image files (see Images) that make up GRUB have been reorganised; Stage 1, Stage 1.5, and Stage 2 are no more.
stage1
    Stage 1 from GRUB Legacy was very similar to boot.img in GRUB 2, and they serve the same function.
*_stage1_5
    In GRUB Legacy, Stage 1.5's function was to include enough filesystem code to allow the much larger Stage 2 to be read from an ordinary filesystem. In this respect, its function was similar to core.img in GRUB 2.
stage2
    GRUB 2 has no single Stage 2 image. Instead, it loads modules from /boot/grub at run-time.


注:以上参考了网络上的不少资料、笔记等,主要是一个整理;对于Grub安装在Linux分区的引导扇区这种情况,也提出了猜测。但是因为Grub一直在发展,细节上可能有所不同,加上根本不可能去读Grub的相应部分的源代码,所以以上表述都是不严谨的,仅为探讨。
————————————————
版权声明:本文为优快云博主「摩力克」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/midion9/article/details/49357369

双系统安装出现 grub(GNU GRUB Version 2.02或者2.04等) 如何退出、修复等常见问题解答 优快云部分回答针对此问题提供了大量修改命令,让人看着就难搞! 比如: *方案:   1.编辑grub文件 sudo vim /etc/default/grub   2.注释:GRUB_HIDDEN_TIMEOUT=0   3.修改:GRUB_TIMEOUT=0.01   4.修改后:sudo update-grub   5.重启电脑 sudo shutdown -r now直接进入登录界面 * ... 阅读详情

相关推荐

Codex VS Claude Code 全面测评!代码开发到底选谁?

评测结果6项指标(设计质量、提示遵从度、响应式、代码质量、细节关注、惊喜度)虽未公布最终赢家,但实测本身已揭示两工具在前端任务上的直接差异。Codex基于OpenAI的云沙箱架构,API通过全球CDN分发,但在国内直连时,依赖特定网络环境。:纯终端工具,直接在你的iTerm或终端中运行,不新建窗口、不切换上下文,与本地开发环境无缝融合。GPT-5.3 Codex(xhigh)输入$1.75/百万token,输出$14.00/百万token,混合均价约**$4.81/百万token**。

Jedudu的博客 3084

Grub命令使用详解

命令索引: background 设置图形模式下的背景色。 blocklist 输出文件的块清单标记。 boot 引导已加载的操作系统或扇区链式加载器。 bootp 通过BOOTP初试化网络设备。 cat 显示指定文件的内容。 chainloader 加载扇区链式加载器。 clear 清屏幕。 cmp 比较两个文件, 并且报告两者之间的不同的信息。 color 改变菜单的颜色。 configfile 将指定文件作

上善若水 的专栏 1万+

YOLO11实战 第056期-基于yolo11的无人机航拍铁路障碍物检测实战-数据集&源码&系统

召回率曲线帮助评估模型在目标检测任务中,检测到真正目标的能力。通过这条曲线,可以评估模型在目标检测任务中的整体性能,并找到合适的置信度阈值,以在精确率和召回率之间做出最佳平衡。PR曲线越接近右上角,模型性能越好,曲线下方的面积越大,说明模型在不同置信度下的。这条曲线显示了随着置信度的增加,每个类别的召回率先变化较小,然后在某个点之后迅速下降。通过这条曲线,可以选择合适的置信度阈值,以优化模型的检测结果,平衡精确率和召回率。曲线都显示了随着召回率的增加,精确度略有下降的趋势,但整体上精确度保持在很高的水平。

深度学习算法工程师,专注于前沿算法研究与实战应用。在这里,我将分享深度学习领域的实战经验、优质数据集资源以及最新论文解读与精度分析,旨在与广大技术爱好者共同探索人工智能的奥秘,助力技术成长与创新。 158

[Linux] GRUB引导 学习笔记(一)

它允许用户可以在计算机内同时拥有多个操作系统,并在计算机启动时选择希望运行的操作系统。简单来说,BIOS是一个控制电脑中所有输入输出的程序,它可以对主板上的键盘、鼠标、外部接口、频率、电源、磁盘驱动器等方面进行参数控制和调整。Linux常见的引导程序包括LILO、GRUB、GRUB2。假定我们在 msdos1这个分区下发现了grub.cfg文件,则表明Linux安装在这个分区。GRUB可用于选择操作系统分区上的不同内核,也可用于向这些内核传递启动参数。设置GRUB引导系统的根文件系统位置。

爱折腾的技术人 4674

用PyTorch手把手搭建液态神经网络(LNN):从微分方程到无人机避障实战

本文详细介绍了如何使用PyTorch搭建液态神经网络(LNN),从微分方程基础到无人机避障实战应用。LNN通过动态时序建模和微分方程实现高效计算,特别适合多传感器数据融合场景。文章包含完整的代码实现、训练技巧及性能优化方案,帮助开发者快速掌握这一前沿技术。

uber9的博客 440

ABAP 7.40+新语法实战:用VALUE和REDUCE五分钟搞定复杂内表统计

本文详细介绍了ABAP 7.40+新语法中的VALUE和REDUCE操作符,如何高效处理复杂内表统计任务。通过实战案例展示,这些新语法能将代码量减少70%以上,显著提升开发效率和可读性,特别适合大数据量下的销售数据分析、分组统计等场景。

weixin_27219587的博客 207

grub知识详解

文章目录1. grub legacy2. 安装 /boot/grub目录:**3. /boot/grub/grub.conf**splashimage背景文件,4. grub加密 1. grub legacy grub: GRand Unified Bootloader grub就是一种老的bootloader grub 0.97: grub legacy grub 2.x: grub2 grub legacy: stage1: mbr第一个扇区(446字节)不足以找到内核(文件系统驱动肯定比446字节大

weixin_45697293的博客 2579

【YOLOv12多模态融合改进】| TFAM:时序融合注意力模块 | 引入通道 - 空间双分支注意力机制,解决双模态特征融合中时序关联不足的问题

TFAM模块通过时序信息驱动的注意力机制,解决了双时相特征融合中时序关联不足的问题,实现了更精准的变化区域定位和特征表示。其结构轻量、泛化性强,为变化检测任务提供了一种高效的特征融合解决方案。

Limiiiing的博客 866

GRUB (简体中文)

GRUB (简体中文) - ArchWiki 翻译状态:本文是GRUB的翻译。上次翻译日期:2021-08-07。如果英文版本有所更改,则您可以帮助同步翻译 GRUB ,即 GRand Unified Bootloader(大一统启动加载器),是一个多重启动加载器,承自PUPA项目。该项目致力于开发一个新的启动加载器来取代如今叫做GRUB Legacy的启动加载器。后者已经难以维护,而 GRUB 从头重写了代码,实现了模块化和增强了移植性[1]。 如今的 GRUB 也被称作 GRUB 2,而 GR...

zhaominyong的专栏 4929

RAP 值帮助实战:用 CDS 注解把 Fiori Elements 的输入体验做得又快又准

本文系统介绍了如何在SAP RAP应用中实现高效的值帮助(Value Help)功能。通过复用标准CDS View和自定义View Entity,开发者可以快速为字段添加弹窗选择、搜索和下拉框功能。文章详细讲解了三种核心实现方式:复用标准值帮助CDS View实现快速集成;构建自定义View Entity支持企业特定编码;利用搜索注解(@Search)和下拉框注解(@ObjectModel)优化用户体验。特别强调了文本显示、模糊搜索和小结果集下拉等实用技巧,并提供了可直接复用的国家代码值帮助示例。这些方法能

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 6466

使用Simulink进行四足机器人的非线性动力学建模与仿真

四足机器人的运动包含多个自由度(DOF),包括腿部的摆动和支撑阶段的动力学特性。由于存在接触力、摩擦以及不同地形的影响,四足机器人的动力学行为呈现出高度的非线性特征。因此,构建准确的非线性动力学模型对于研究机器人的运动学和动力学特性至关重要。定义代表机器人状态的变量,如位置、速度、角度和角速度。matlab深色版本通过本指南,我们介绍了如何基于Simulink搭建一个四足机器人的非线性动力学模型,并进行了详细分析。

xiaoheshang_123的博客 311

[已解决]电脑开机报错提示grub命令行,进入grub rescue界面,无法正确进入bios或系统的原因及解决方案

我原来的电脑使用的是Windows 10和Ubuntu 18.04的双系统,由于想要重新安装Ubuntu系统,我首先进入Windows系统,然后通过磁盘工具直接删除了Ubuntu系统所挂载的硬盘分区,以便清理空间进行重装。重启电脑后,我计划通过BIOS选择从U盘启动来安装Ubuntu,但无论如何都无法进入BIOS或系统在重启后,屏幕上仅显示以下命令,这表明我们已进入GRUB救援模式(grub rescue),这一模式通常用于故障排除,提示用户存在引导问题。

LHZ233的博客 2万+

基于R-CNN深度学习的常见手势识别系统:数据集、模型和UI界面的完整实现

卷积神经网络(CNN):用于从图像中提取特征。区域提议网络(RPN):用于生成可能包含手势的候选区域。:将候选区域调整为固定大小,并进行进一步的分类和回归。接下来,我们需要加载一个预训练的Faster R-CNN模型,并对其进行微调。我们将使用# 加载预训练的Faster R-CNN模型# 获取分类器的输入特征数# 替换分类器头部,设置为我们数据集的类别数(假设有5类手势)

YOLO 1000

启动计算机时出现grub,电脑开机出现grub怎么办_电脑一开机就显示grub怎么解决...

一些网友反映,电脑开机出现grub提示,导致电脑无法正常启动,这个问题都出现在重装系统后,因为主引导文件丢失或者损坏,如何才能解决电脑一开机就显示grub呢?下面小编就给大家打来电脑开机出现grub解决方法。具体方法如下:1、在后面输入以下代码:find --set-root /bootmgr(回车)chainloader /bootmgr(回车)boot(回车)不过这并不能完全解决问题,这样的话...

weixin_33102135的博客 1万+

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

详解grub(一)

系统启动引导管理器,是在计算机启动后运行的第一个程序,他是用来负责加载、传输控制到操作系统的内核,一旦把内核挂载,系统引导管理器的任务就算完成退出,系统引导的其它部份,比如系统的初始化及启动过程则完全由内核来控制完成;在X86架构的机器中,Linux、BSD或其它Unix类的操作系统中GRUB、LILO是大家最为常用,应该说是主流;Windows也有类似的工具NTLOADER;

chuchen152的博客 3501

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

启动计算机时出现grub,开机出现grub解决方法

开机出现grub解决方法具体情况描述:以前一台机器装的server 2003,做了个系统ghost备份.后来改装oracle linux6.1今天对全盘格式化了,把以前做的备份ghost还原回去.过程肯定是无误的,但是开机就出现了异常.正常的启动过程,不过10秒钟,界面就漆黑一片了,只露出一个grub,等待键入命令.问题分析如下:计算机启动的大概过程如下:开机—cpu询问bios我要去哪儿找启动文...

weixin_32211137的博客 2万+

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Linux救援:开机进不了系统,显示”GRUB>”命令提示符的解决方法

在Linux系统中,GRUB是一个常见的启动加载器,负责加载系统的内核和。然而,当出现某些错误时,系统可能会在开机时出现”GRUB>”,而无法正常启动。在本文中,我们将介绍如何修复这种情况。

helloyuanye的博客 1万+

【干货】BIOS、UEFI、MBR、GPT、GRUB 到底是什么意思?

目录 01 前言 02 与操作系统启动相关的几个概念 2.1 BIOS 2.2 UEFI 2.3 MBR与GPT 2.4 GRUB 01 前言 在学习 Linux 系统启动原理之前,我们先了解下与操作系统启动相关的几个概念。 02 与操作系统启动相关的几个概念 不管是 Windows 还是 Linux 操作系统,底层设备一般均为物理硬件,操作系统启动之前会对硬件进行检测,然后硬盘引导启动操作系统,以下是与操作系统启动相关的几个概念。 2.1 BIOS BIOS(Basic

Dragon的博客 4307

grub启动流程及原理

GNU GRUB(简称“GRUB”,GRand Unified Bootloader)是一个来自GNU项目的多操作系统启动管理器,它允许用户可以在计算机内同时安装有多个操作系统,比如不同版本的Windows和Linux,并在计算机启动时选择希望运行的操作系统。Grub一直在发展,现在的发行版都用Grub 2了,但是基本的启动引导原理是差不多的,所以还是以传统的Grub为例(在CentOS 5.5上

BOKE 5159

grub原理及使用详解

grub原理及使用详解 转载请注明出处:http://blog.csdn.net/rosetta          实验环境VMware+CentOS5.4。          本文将会介绍Grub的基础知识、Grub的完整安装引导过程、Linux硬盘分区基本知识等。          grub(GrandUnified Boot Loader)是有名的引导内核程序(另外一款比较有名的

终身学习的程序猿 4万+

解决开机出现grub的方法

问题描述:win10+ubuntu20.04+ubuntu18.04,拔掉装有ubuntu18.04的u盘之后开机引导出了问题 尝试了我的修复之路: 一、按exit自动返回图形界面 二、使用grub命令进入图形界面 grub使用命令引导进入ubuntu44fr ls cat(hd0,X)/etc/fstab set root=(hd0,X) set prefix=(hd0,x)/boot/grub normal 三、修复 做一个启动盘进入try ubuntu sudo add-apt-.

m0_52174744的博客 1万+

Grub的概述

按下开机键后,程序员能控制的第一个程序并不是内核,而是引导器程序GRUB

懒猫的脚印 1528

新手grub 配置介绍

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

weixin_48885322的博客 3667

【Linux】启动的秘密花园:深入GRUB、Init系统和Systemd

本文深入探讨了Linux系统的启动流程,从按下电源按钮的那一刻起,直到用户成功登录到图形或命令行界面,全程解析了Linux系统背后的复杂而精密的启动机制。文章首先介绍了启动过程的起点——BIOS(或UEFI)的作用,它负责初始化硬件并加载引导加载程序(如GRUB)。 随后,文章详细阐述了GRUB(或其他引导加载程序)如何读取配置文件,展示启动菜单,并允许用户选择操作系统版本或启动选项。接着,Linux内核被加载到内存中,并开始初始化系统硬件,设置内核参数,并启动必要的驱动程序。 在内核初始化阶段,Linux

博客虽小,世界尽在其中 4195

Linux GRUB介绍与设置

GNU GRUB(GNU GRand Unified Bootloader,简称“GRUB”)是一个来自GNU项目的启动引导程序. 这篇文件简要介绍了什么是GRUB以及GRUB工具名,以及自定义GRUB菜单项的方法。

Keep Moving~ 8060

Linux-GRUB全面指南

以下是关于 **GRUB(GNU GRand Unified Bootloader)** 的全面介绍与讲解,结合主题配置问题及解决方案,从基础到高级进行系统化梳理:

漫谈网络 3515
上一篇: GRUB(GRand Unified Boot loader)引导加载程序(转) 2021-03-01
下一篇: Laravel项目线上服务器docker化部署实战全过程记录指导(转 2021-04-02)
ccpit2b2c
博客等级 码龄15年 1粉丝 5原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值