Linux 引导过程内幕】的更多相关文章

转载:http://www.ibm.com/developerworks/cn/linux/l-linuxboot/index.html   从主引导记录到第一个用户空间应用程序的指导 引导 Linux® 系统的过程包括很多阶段.不管您是引导一个标准的 x86 桌面系统,还是引导一台嵌入式的 PowerPC® 机器,很多流程都惊人地相似.本文将探索 Linux 的引导过程,从最初的引导到启动第一个用户空间应用程序.在本文介绍的过程中,您将学习到各种与引导有关的主题,例如引导加载程序.内核解压.初…
[原文]https://www.toutiao.com/i6594210975480545800/ 1.概述 图 1 是我们在20,000 英尺的高度看到的视图. 当系统首次引导时,或系统被重置时,处理器会执行一个位于已知位置处的代码.在个人计算机(PC)中,这个位置在基本输入/输出系统(BIOS)中,它保存在主板上的闪存中.嵌入式系统中的中央处理单元(CPU)会调用这个重置向量来启动一个位于闪存/ROM中的已知地址处的程序.在这两种情况下,结果都是相同的.因为PC提供了很多灵活性,BIOS必须…
早期时,启动一台计算机意味着要给计算机喂一条包含引导程序的纸带,或者手工使用前端面板地址/数据/控制开关来加载引导程序.尽管目前的计算机已经装备了很多工具来简化引导过程,但是这一切并没有对整个过程进行必要的简化. 让我们先从高级的视角来查看 Linux 引导过程,这样就可以看到整个过程的全貌了.然后将回顾一下在各个步骤到底发生了什么.在整个过程中,参考一下内核源代码可以帮助我们更好地了解内核源代码树,并在以后对其进行深入分析. 概述 图 1 是我们在 20,000 英尺的高度看到的视图. 图 1…
目录 一.Linux操作系统引导过程 1.1.开机自检 1.2.MBR引导 1.3.GRUB菜单 1.4.加载Linux内核 1.5.init进程初始化 二.系统初始化进程 2.1.init进程 2.2.systemd 2.3.Systemd单元类型 2.4.运行级别所对应的Systemd目标 三.排除启动类故障 3.1.修复MBR扇区故障 故障原因 故障现象 解决思路 ①备份MBR扇区数据到其它磁盘 ②模拟破坏MBR引导扇区 3.2.修复GRUB引导故障 故障原因 故障现象 解决思路 ①模拟破…
一:系统引导流程: 开机自检(BIOS)-->MBR引导-->GRUB菜单-->加载内核(kernel)-->init进程初始化  二:系统引导级别: 0 poweroff.target 关机状态,使用该级别时将会关闭主机 1 rescue.target   单用户模式,不需要密码验证即可登录系统,多用 于系统维护 2 multi-user.target 用户定义/减特定运行级别.默认等同于3,但是不支持网络 3 multi-user.target 字符界面的完整多用户模式,大多数…
1.开机自检:服务器开机后,将根据主板BIOS (基本输入系统),中的设置对CPU .内存.显卡.键盘等设备进行初步检测,并初始化部分硬件. 2.MBR 引导:当从本机硬盘中启动系统时,首先根据硬盘中第一个扇区中 MBR(主引导记录)的设置,将系统控制权传递给包含系统操作引导文件的分区:或者直接根据MBR 记录中的引导信息调用启动菜单. 3.GRUB 菜单:对于linux系统来说,GRUB 算是使用最为广泛的多系统引导器程序了,系统控制权传递给GRUB 以后,将会显示提供用于选择,并根据选项加载…
Unix目录结构的来历 Linux 的启动流程 Linux 引导过程内幕 嵌入式系统 Boot Loader 技术内幕 centos6使用chkconfig治理服务和其原理 centos7的服务治理-systemd 1.简单口述 1.开机BIOS自检(b-m-g-k 避免感慨) 2.MBR引导 磁盘的0柱面0磁道,1扇区的前446个字节 3.grub引导菜单 cat /etc/grub.conf 4.加载内核kernel 5.启动init进程 ps -ef|grep init 6.读取initt…
早期时,启动一台计算机意味着要给计算机喂一条包含引导程序的纸带,或者手工使用前端面板地址/数据/控制开关来加载引导程序.尽管目前的计算机已经装备了很多工具来简化引导过程,但是这一切并没有对整个过程进行必要的简化. 让我们先从高级的视角来查看 Linux 引导过程,这样就可以看到整个过程的全貌了.然后将回顾一下在各个步骤到底发生了什么.在整个过程中,参考一下内核源代码可以帮助我们更好地了解内核源代码树,并在以后对其进行深入分析. 概述 图 1 是我们在 20,000 英尺的高度看到的视图. 当系统…
Linux系统启动引导过程 近期发现自己在仅仅是掌握上有几个比較硬的伤: 一.知识体系碎片,比方Linux,这学点那学点,结果没有成体系,串不起来: 二.记忆时间短暂,非常多的内容学了就忘,最后的结果是遇见一个知识点就能想起来自己的确学过.可是如今记不起来了. 三.理解程度浅显,比方说今天要整理关于Linux引导的内容,之前大体是知道的,不能称之为理解,我觉得在学着一个知识点的时候至少要能系统有条理地讲出来,而不是有个模模糊糊的大体认识. 个别名词解释 1.BIOS(Basic Input Ou…
主要描述 boot/目录中的三个汇编代码文件,见列表 3-1 所示.正如在前一章中提到的,这三个 文件虽然都是汇编程序,但却使用了两种语法格式.bootsect.s 和 setup.s 采用近似于 Intel 的汇编语言语法,需要使用 Intel  8086 汇编编译器和连接器 as86 和ld86,而 head.s 则使用 GNU 的汇编程序格式,并且运行在保护模式下,需要用 GNU 的 as 进行编译.这是一种 AT&T 语法的汇编语言程序. 使用两种编译器的主要原因是由于对于 Intel …
原文地址:http://os.51cto.com/art/200706/49690.htm 1.简介 Linux启动过程指的是从加电到看到shell提示的这一段时间. Linux启动的过程可以大概分为几个个阶段,具体划分为几个阶段则依靠具体的系统实现.一般来说,基于X86架构的系统可以分为3个阶段:一些嵌入式的系统有的分为两个阶段,有的分为3个阶段. 很多介绍linux系统启动的文章对细节部分都描述的不清楚,那就让我来详细的说一下吧,如果由错误,请多包含了:) 2. 启动过程之上电与加载引导程序…
每天开机关机,除了“等”之外,你得了解你的操作系统开机的时候真正做了什么? 一. 书上都是这么讲的 CPU自身初始化:硬件初始工作,以PC/IP寄存器跳转到BIOS首地址为结束标志. ->加电自检(Power On Self Test):硬件检测,内存检测,系统总线检测,以开始从总线读取第一段程序为结束标志. ->加载内核引导程序:这里是由BIOS确定了引导设备之后,从设备的第一个扇区启动的程序,GRUB的工作就是属于这个过程,以选择完一个启动的系统为结束标志. ->主引导程序:由操作系…
轻松学习Linux之详解系统引导过程-1 轻松学习Linux之详解系统引导过程-2 本文出自 "李晨光原创技术博客" 博客,谢绝转载!…
一.Linux操作系统引导过程二.系统初始化进程1.init进程2.Systemd3.Systemd单元类型三.排除启动类故障[1].修复MBR扇区故障(含实验过程)[2].修复GRUB引导故障●方法二:进入急救模式,恢复GRUB引导程序(与MBR 引导扇区类似)●方法三:引导界面进入急救模式,重建GRUB菜单配置文件方案三实验四.遗忘root用户的密码实验过程 一.Linux操作系统引导过程1.开机自检服务器主机开机以后,将根据主板BIOS中的设置对CPU.内存.显卡.键盘等设备进行初步检测,…
linux系统引导过程 linux-0.11引导时,将依次运行BIOS程序.bootsect.s.setup.s和head.s,完成引导过程后进入到main函数运行.BIOS完成硬件的检查与初始化等工作后,从硬盘的MBR中读取bootsect代码:bootsect程序主要用于读取setup和system模块(包含head.s)代码到内存中,然后跳转到setup执行:setup首先读取内存.硬盘等设备参数到内存中供后续程序使用,然后设置gdt.idt表后,最后设置机器进入保护模式并跳转到head继…
1. 从BIOS到KERNEL BIOS自检->MBR(GRUB)->KERNEL->KERNEL自解压->内核初始化->内核启动 BIOS自检 当电脑开机的时候,电脑会进入BIOS,BIOS的工作主要是侦测电脑的周边配套设备是否工作正常,如CPU的类型.速度.缓存等 主板类型 内存的速度,容量 硬盘的大小,类型和工作模式 风扇速度等 主要是为了检查这些设备在开机的时候是否能通过检测,如果能通过检测,说明电脑可以正常的工作. -------------------------…
启动第一步--加载BIOS 当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它.这是因为BIOS中包含了CPU的相关信息.设备启动顺序信息.硬盘信息.内存信息.时钟信息.PnP特性等等.在此之后,计算机心里就有谱了,知道应该去读取哪个硬件设备了. 启动第二步--读取MBR 众所周知,硬盘上第0磁道第一个扇区被称为MBR,也就是Master Boot Record,即主引导记录,它的大小是512字节,别看地方不大,可里面却存放了预启动信息.…
Linux启动过程详解 附上两张图,加深记忆 图1: 图2: 第一张图比较简洁明了,下面对第一张图的步骤进行详解: 加载BIOS 当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它.这是因为BIOS中包含了CPU的相关信息.设备启动顺序信息.硬盘信息.内存信息.时钟信息.PnP特性等等.在此之后,计算机心里就有谱了,知道应该去读取哪个硬件设备了. 读取MBR 众所周知,硬盘上第0磁道第一个扇区被称为MBR,也就是Master Boot R…
本章重点: 1.linux引导流程 2.linux运行级别 3.linux启动服务管理 4.GRUB配置与应用 5.启动故障分析解决 linux启动流程 1.固件(fireware):固话在硬件上的程序,主要有CMOS/BIOS 2.post加电自检, 1.检测硬件信息,如cpu,内存,等硬件信息是否工作正常. 2.安全设置 3.可引导介质列表 4.可引导介质的搜索程序 5.电源管理 6.启动细节信息 3.读取MBR(master boot record)主引导记录 MBR位于0柱头0磁头1扇区…
目录 Linux引导流程 Linux运行级别 Linux启动服务管理 GRUB配置与应用 启动故障分析与解决 Linux引导流程 Linux系统引导流程如下图: 固件(Firmware)就是写入EROM或EEPROM(可编程只读存储器)中的程序,一般来说,担任着一个数码产品最基础.最底层工作的软件才可以称之为固件,比如计算机主板上的基本输入/输出系统BIOS(Basic Input/output System),在以前其实更多的专业人士叫它固件. 通常这些硬件内所保存的程序是无法被用户直接读出或…
传统的Linux系统启动过程主要由著名的init进程(也被称为SysV init启动系统)处理,而基于init的启动系统被认为有效率不足的问题,systemd是Linux系统机器的另一种启动方式,宣称弥补了以传统Linux SysV init为基础的系统的缺点. 在我们打开Linux电脑的电源后第一个启动的进程就是init.分配给init进程的PID是1.它是系统其他所有进程的父进程.当一台Linux电脑启动后,处理器会先在系统存储中查找BIOS,之后BIOS会检测系统资源然后找到第一个引导设备…
Table of Contents 1 概论 1.1 procfs (/proc 文件系统) 1.1.1 编程接口 1.2 sysctl (/proc/sys目录) 1.2.1 编程接口 1.3 sysfs (/sys 文件系统) 1.4 ioctl 系统调用 1.5 netlink 套接字 概论 procfs (/proc 文件系统) 允许内核以文件的形式向用户空间输出内部信息. 可以通过cat, more和> shell重定向进行查看与写入. 编程接口 内核proc文件系统与seq接口(1)…
Linux系统启动过程介绍 学习操作系统有必要了解一下系统的启动过程,这样在面对各种系统故障的时候能快速定位解决问题,下面以Centos来分析linux系统的启动过程. 1.BIOS自检:当开机的时候,系统进行bios自检工作,当识别出第一块硬盘(IDE SCSI)及其空间之后,系统控制将从BIOS传递到引导装载程序 2.引导装载程序(grub lilo):装载第一块硬盘的前512个字节的物理数据扇区即主引导区MBR到内存中,位于此扇区开始位置的引导装载程序将接管系统控制. (也可以这么理解,在…
linux系统启动过程的列表 载入BIOS的硬件信息并进行自检.然后根据设置取得第一个可启动的设备: 读取并运行第一个启动设备内MBR(master boot record,主引导分区)的boot loader: 根据bootloader的设置载入kernel,kernel開始检測硬件和载入驱动程序: 在硬件驱动成功后,kernel会调用init进程,init进程会取得run-level信息: init运行/etc/rc.d/sysinit文件来准备软件运行的操作环境. init运行run-le…
对于无论什么系统, 但无法打开电源这么简单的事, 很多事情将在几秒钟内几秒钟或几十本短时间内发生, 了解这一过程将是完整的引导解决问题的任何或提高开机速度的前提. 下一个, 我们会专门寻找Linux程: 1. 载入 BIOS 的硬件信息并进行自我測试,并根据取得第一个可开机的装置; 2. 读取并运行第一个开机装置内 MBR 的 Boot Loader (如 grub, spfdisk 等程序); 3. 根据 Boot Loader 的设定载入 kernel, kernel 会開始侦測硬件并载入驱…
这个Linux系统启动过程啊,说实话,我认为,刚学习的时候看几遍,了解一下就好.现在的主要任务是用.熟练了之后再来深究这个不急. 下面我就简单地说说吧. Linux系统的启动主要分为下列步骤: 1 内核引导 BIOS开机自检,按照BIOS中设置的启动设备(通常为硬盘)来启动.OS(Oerating System 操作系统)接管硬件后,首先读入/boot下的内核文件. 2 运行init进程 init进程(process)是所有进程的起点.只有启动了该进程,其它进程才可以启动.就像Java中函数调用…
Linux启动过程: 图片来自:https://www.cnblogs.com/codecc/p/boot.html 简单来讲: 加载BIOS–>读取MBR–>Boot Loader–>加载内核–>用户层init一inittab文件来设定系统运行的等级(一般3或者5,3是多用户命令行,5是界面)–>init进程执行rc.sysinit–>启动内核模块–>执行不同级别运行的脚本程序–>执行/etc/rc.d/rc.local(本地运行服务)–>执行/bi…
本文参考了如下文章 深入理解linux启动过程 mbr (主引导记录(Master Boot Record)) 电脑从开机加电到操作系统main函数之前执行的过程 详解linux系统的启动过程及系统初始化 linux系统的启动流程 关于linux系统的启动流程我们可以按步进行划分为如下: BIOS POST自检 BIOS(Boot Sequence) 引导操作系统 加载对应引导上的MBR(bootloader) 主引导设置加载其BootLoader 加载操作系统 启动BIOS,准备实模式下的中断…
原文标题:The Kernel Boot Process 原文地址:http://duartes.org/gustavo/blog/ [注:本人水平有限,只好挑一些国外高手的精彩文章翻译一下.一来自己复习,二来与大家分享.] 上一篇文章解释了计算机的引导过程,正好讲到引导装载程序把系统内核镜像塞进内存,准备跳转到内核入口点去执行的时刻.作为引导启动系列文章的最后一篇,就让我们深入内核,去看看操作系统是怎么启动的吧.由于我习惯以事实为依据讨论问题,所以文中会出现大量的链接引用Linux 内核2.6…
原文标题:How Computers Boot Up 原文地址:http://duartes.org/gustavo/blog/ [注:本人水平有限,只好挑一些国外高手的精彩文章翻译一下.一来自己复习,二来与大家分享.] 前一篇文章介绍了Intel计算机的主板与内存映射,从而为本文设定了一个系统引导阶段的场景.引导(Booting)是一个复杂的,充满技巧的,涉及多个阶段,又十分有趣的过程.下图列出了此过程的概要: 引导过程概要 当 你按下计算机的电源键后(现在别按!),机器就开始运转了.一旦主板…