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直接进入登录界面 * ... 阅读详情

相关推荐

Python 逆向解析知乎盐选反爬字体,实现内容精准还原

本文详细解析了知乎盐选内容的反爬字体机制,并提供了使用Python逆向解析WOFF字体文件的完整方案。通过fontTools库构建解码字典,实现乱码文本的精准还原,帮助开发者应对动态字体策略,同时强调法律与道德风险。

weixin_29268385的博客 1297

Grub命令使用详解

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

上善若水 的专栏 1万+

【从零搭建到实战运行】基于PX4-1.13与XTDrone的FAST-LIVO2 Gazebo仿真全流程解析

本文详细解析了从零开始搭建基于PX4-1.13飞控、XTDrone仿真框架与Gazebo的FAST-LIVO2无人机仿真平台的全流程。内容涵盖环境配置、Livox雷达插件定制、算法部署与参数调试,旨在帮助开发者快速构建完整的激光-惯性-视觉SLAM仿真环境,并解决集成过程中的常见问题。

weixin_29218509的博客 521

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

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

爱折腾的技术人 4674

java调用第三方api接口获取数据

弊端,但是并不是每个接口都适用于这套模板,之前写的接口不适用,都是在这个模板里做了定制处理(if 特殊表 -》处理),需要考虑兼容之前的代码,这种兼容代码,有风险会改掉之前的逻辑个人喜欢,有一个接口,写一段代码灵活自由些。2.还有一部分是对post请求的返回数据,做处理,因为json返回的格式如果双方没有约定好,里面数据是多层json嵌套,需要做处理。江同事交接的就是这个代码模板,可以看下源码调试一下,之前交接的视频,也可以看下,主要还是看代码理解快些,将 写好的代码达成jar包,上传到linux上去,

随风不随水的博客 2036

sysrepo 开发者指南(一个基于libyang与支持rpc的数据库)

sysrepo 开发者指南(一个基于libyang与支持rpc的数据库) 日志记录 默认情况下,所有 Sysrepo 日志记录都处于关闭状态。如果启用,日志消息有 3 种输出。它们可以写入stderr、由 处理syslog或简单地传递给回调。 请务必注意,启用 Sysrepo 日志记录也会修改libyang日志记录设置。错误消息被视为标准 Sysrepo 错误,其他严重性较低的消息完全隐藏。要更改此行为,只需在启用 Sysrepo 日志记录后调整libyang日志记录设置。 此外,几乎每个 Sysrepo

weixin_43489394的博客 9229

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

视觉辅助RIS波束追踪:用摄像头“看见”用户,实现毫秒级波束对准

在无线通信领域,波束成形技术是提升高频段信号覆盖与质量的核心手段,其原理是通过调整天线阵列的相位,使信号能量在特定方向相干叠加,形成高增益定向波束。这项技术的价值在于能有效克服高频信号路径损耗大、穿透性差的瓶颈,广泛应用于5G/6G、毫米波通信及室内定位等场景。然而,传统波束追踪依赖信道估计或波束扫描,存在训练开销大、实时性差的问题。本文聚焦于一种创新解决方案:将计算机视觉与可重构智能表面(RIS)相结合。通过摄像头直接感知用户位置,并利用RIS快速重构反射波束方向,实现了近乎零开销、毫秒级延迟的波束追踪,

weixin_33552698的博客 620

GRUB (简体中文)

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

zhaominyong的专栏 4929

Quanto option期权公式推导(更新中)

Quanto期权不同于以标的股票或资产的计价货币支付最终收益的普通欧式期权,它以另一种货币以预先确定的汇率支付最后的收益。以股票B的计价货币来计价的quanto看涨期权的收益为F0×max⁡(Sa(T)−K,0)×Sb(T)F_0 \times \max(S_a(T)-K, 0) \times S_b(T)F0​×max(Sa​(T)−K,0)×Sb​(T) 其中SaS_aSa​以货币A计价,SbS_bSb​以货币B计价,F0F_0F0​是预先固定的汇率. 假设上述股票均遵循几何布朗运动,可以得到以下恒等式

qq_41782124的博客 3683

从 ST22 到根因定位:ABAP Dumps 全景排查指南(含典型 Dump 案例、修复套路与云时代实践)

本文系统介绍了SAP系统中ABAP短转储(Dump)的分析方法。首先指出短转储是程序运行时无法处理的错误导致系统强制终止执行。文章详细解析了短转储报告各区块的作用:从概述性的Short Text和What happened,到核心的Error Analysis和Source Code Extract,再到关键的系统字段Contents of system fields和调用栈Active Calls/Events。针对不同场景提供了排查建议:客户代码应建立可控边界,标准对象优先查阅SAP Notes。最后推

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

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

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

LHZ233的博客 2万+

把 Client 当成 ABAP 系统的多租户底座:从 sy-mandt 到 CDS_CLIENT 的隔离机制与工程实践

本文深入解析SAP ABAP系统中Client概念的本质与应用。Client不仅是数据表的MANDT字段,更是会话级别的隔离边界,贯穿用户登录、授权和数据访问控制全过程。文章从ABAP SQL的隐式Client处理机制出发,详细介绍了USING CLIENT、USING ALL CLIENTS等安全跨客户端访问方式,并对比了传统CLIENT SPECIFIED的风险。同时阐述了ABAP CDS中@ClientHandling注解的类型与算法选择,包括#AUTOMATED自动拼接和#SESSION_VARIA

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

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

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

weixin_33102135的博客 1万+

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

详解grub(一)

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

chuchen152的博客 3501

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

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

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

weixin_32211137的博客 2万+

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

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、付费专栏及课程。

余额充值