linux引导过程

首先申明一下,这儿的引导过程是比较简单的,并不涉及到kernel里面的详细引导步骤,希望对刚刚学习linux的朋友有帮助。

1、加电自检

这基本上是所有计算机开机都需要经过的步骤了,当计算机加电后它首先执行BIOS,BIOS对计算机硬件进行检测,当检测通过便完成了硬件的启动。当自检完成后BIOS按照设置的启动顺序寻找系统分区,并读入系统引导扇区,并将系统控制权交给引导程序。

2、mbr或gpt引导

mbr和gpt是什么在这儿就不做过多的介绍了,相信了解过计算机的朋友都知道。系统引导程序主要是把系统内核装载到内存,启动盘必须在第一个逻辑磁道上包含引导记录。这512个字节的扇区又被称作是引导扇区,一旦系统装载完毕,BIOS就会将系统的控制权,转交给引导程序

3、grub(Boot Loader)菜单

前面的两步基本所有的计算机的开机流程都是这样的,但从这一步开始解释linux自己的引导过程。

grub的主要功能是,提供一个可以供用户选择的图形窗口,编辑引导参数(比如:进入单用户模式等),根据用户选择引导内核

4、加载内核

当用户选定了引导系统之后,grub将会去唤醒内核,当内核唤醒之后grub将会把系统控制权交给内核,由内核去加载驱动程序并执行/etc/rc.d/rc.sysinit和/sbin/init

/etc/rc.d/rc.sysinit是一个关键性脚本,主要功能有:

1.激活udev和selinux

2.根据/etc/sysctl.conf文件给内核设定参数

3.设定时钟

4.装载键盘映射

5.启动交换分区

6.设置主机名

7.根据文件系统检测,以读写方式从新挂载文件系统

8.激活RAID和LVM设备

9.启用磁盘配额

10.根据/etc/fstab,检查和挂载文件系统

但/etc/rc.d/rc.sysinit执行完之后将会执行/sbin/init脚本,主要用于唤醒init进程(所有进程的父进程)

5、init初始化

在内核加载之前内核会去运行/sbin/init唤醒init进程,当init进程被唤醒之后init会去检查系统服务,并根据系统配置去开启服务,并在最后执行/etc/rc.d/rc.local脚本

这就是linux系统启动的基本流程,希望对各位朋友有帮助。

时间: 2025-01-16 08:21:17

linux引导过程的相关文章

Linux 引导过程内幕

http://www.ibm.com/developerworks/cn/linux/l-linuxboot/ 早期时,启动一台计算机意味着要给计算机喂一条包含引导程序的纸带,或者手工使用前端面板地址/数据/控制开关来加载引导程序.尽管目前的计算机已经装备了很多工具来简化引导过程,但是这一切并没有对整个过程进行必要的简化. 让我们先从高级的视角来查看 Linux 引导过程,这样就可以看到整个过程的全貌了.然后将回顾一下在各个步骤到底发生了什么.在整个过程中,参考一下内核源代码可以帮助我们更好地了

(转)嵌入式Linux引导过程-----从BootRom到Xloader

--by FeCen 在开始看Xloader_Entry的代码之前,我想先总结一下从芯片上电到开始运行Xloader的代码的过程,这是我目前理解的一个过程,可能有所出入,待以后继续完善.当系统上电之后,首先会将PC寄存器设置成BootRom里面的代码对应的一个地址.BootRom是芯片内部集成的一块很小的存储区,里面一般会固化一段启动代码.至于BootRom所占用的地址空间,每个芯片的定义可能会有所不同,具体的可以参考芯片的用户手册中的Memory Map部分的说明.在spearplus中,Bo

【转】Linux 高级的视角来查看Linux引导过程

[原文]https://www.toutiao.com/i6594210975480545800/ 1.概述 图 1 是我们在20,000 英尺的高度看到的视图. 当系统首次引导时,或系统被重置时,处理器会执行一个位于已知位置处的代码.在个人计算机(PC)中,这个位置在基本输入/输出系统(BIOS)中,它保存在主板上的闪存中.嵌入式系统中的中央处理单元(CPU)会调用这个重置向量来启动一个位于闪存/ROM中的已知地址处的程序.在这两种情况下,结果都是相同的.因为PC提供了很多灵活性,BIOS必须

linux引导过程和服务控制

引导过程和服务控制 要求: ? 设置Linux系统每次开机后自动进入字符模式界面. 步骤: 编辑/etc/inittab文件,将默认运行级别修改为3.如图所示: ? 使用ntsysv工具同时调整2.3.4.5运行级别中的服务状态,关闭下列服务:anacron.atd.avahi-daemon.Bluetooth.cups.firstboot.hidd.hplip.ip6tables.iptables.isdn.mcstrans.mdmonitor.nfslock.pcscd.portmap.re

Linux 引导过程

引导过程的步骤 Linux系统典型的引导过程由下面6个不同的阶段组成: 加载并初始化内核 检测和配置设备 创建内核线程 操作员干预 执行系统启动脚本 多用户模式运行 系统管理员对以上大多数步骤几乎没有什么控制权.我们通过编辑系统启动脚本来影响大多数的引导配置. 初始化内核 Linux内核本身就是一个程序,系统引导过程中的第一项任务就是把这个程序载入内存,以便执行它.内核的路径名通常是/vmlinuz或者/boot/vmlinuz. Linux系统实现了一种有两个阶段的加载过程.在第一阶段中,系统

Linux引导过程与服务控制

一:系统引导流程: 开机自检(BIOS)-->MBR引导-->GRUB菜单-->加载内核(kernel)-->init进程初始化  二:系统引导级别: 0 poweroff.target 关机状态,使用该级别时将会关闭主机 1 rescue.target   单用户模式,不需要密码验证即可登录系统,多用 于系统维护 2 multi-user.target 用户定义/减特定运行级别.默认等同于3,但是不支持网络 3 multi-user.target 字符界面的完整多用户模式,大多数

Linux学习笔记:系统启动引导过程

Linux系统启动引导过程 最近发现自己在只是掌握上有几个比较硬的伤: 一.知识体系碎片,比如Linux,这学点那学点,结果没有成体系,串不起来: 二.记忆时间短暂,很多的内容学了就忘,最后的结果是遇见一个知识点就能想起来自己的确学过,但是现在记不起来了. 三.理解程度浅显,比如说今天要整理关于Linux引导的内容,之前大体是知道的,不能称之为理解,我认为在学着一个知识点的时候至少要能系统有条理地讲出来,而不是有个模模糊糊的大体认识. 个别名词解释 1.BIOS(Basic Input Outp

Linux引导启动程序 - boot

主要描述 boot/目录中的三个汇编代码文件,见列表 3-1 所示.正如在前一章中提到的,这三个 文件虽然都是汇编程序,但却使用了两种语法格式.bootsect.s 和 setup.s 采用近似于 Intel 的汇编语言语法,需要使用 Intel  8086 汇编编译器和连接器 as86 和ld86,而 head.s 则使用 GNU 的汇编程序格式,并且运行在保护模式下,需要用 GNU 的 as 进行编译.这是一种 AT&T 语法的汇编语言程序. 使用两种编译器的主要原因是由于对于 Intel 

[svc]linux启动过程及级别

Unix目录结构的来历 Linux 的启动流程 Linux 引导过程内幕 嵌入式系统 Boot Loader 技术内幕 1.简单口述 1.开机BIOS自检 2.MBR引导 3.grub引导菜单 4.加载内核kernel 5.启动init进程 6.读取inittab文件,执行rc.sysinit,rc等脚本 7.启动mingetty,进入系统登陆界面 2,简单图解 3,复杂图解 Linux系统开机启动流程介绍 4,详细描述 参考 开机BIOS自检阶段 读取MBR信息 进入grub引导菜单 加载ke