系统启动流程

BIOS

我们称之为基本输入输出系统,一般保存在主板上的BIOS芯片中,负责检查硬件并且查找可启动设备;可设置启动顺序;

如果一个设备是可启动,那么第一个扇区512字节的最后两字节是55aa;

MBR

BIOS找到可启动设备后执行其引导代码

引导代码为第一扇区的前446字节;功能:加载一个更复杂的引导程序

GRUB

真正的引导程序

GRUB是现在linux使用的主流引导程序

可以用来引导几乎所有操作系统

GRUB的相关文件保存在/boot/grub目录中

GRUB的配置文件/boot/grub/grub.conf

进入grub目录,可以看到stage1,stage2和以stage1_5结尾的文件,表示的含义是:

stage1即为MBR,它的大小也刚好是512字节

stage1_5为添加对某种文件系统的支持

stage2真正的引导程序

加载顺序:stage1-->stage1_5-->stage2

  grub配置文件

default 采用第一组引导配置(如上图红色框是一个标准的系统配置,如果有多个系统,则配置多个)

timeout 引导等待时间

splashimage 引导程序背景界面

hiddenmenu 隐藏菜单栏

title 名称

root(h0,0) 操作系统存在于第一块硬盘第一个分区

kernel 内核配置

initrd 加载驱动模块

.   MBR的引导代码将负责找到并加载linux内核

linux内核:

一般还会加载内核模块打包文件:

linux系统启动会动态加载驱动模块,这样精简了系统内核,使启动更快速,更高效

命令dmesg查看本次启动内核输出信息,或者/var/log/dmesg文件查看

    init

    Linux系统中第一个进程,是所有进程的父进程

调用/etc/rc.d/rc.sysinit负责对系统进行初始化,挂载文件系统,并且根据运行级别启动相应服务

linux运行级别

可以通过/etc/inittab配置默认运行级别:

每个级别对应的启动服务保存在/etc/rc.d/rc[0123456].d中;

命令runlevel可显示上一个运行级别及当前运行级别;

命令init可用以改变当前运行级别。

linux 系统启动的更多相关文章

  1. Linux学习之CentOS(二十一)--Linux系统启动详解

      在这篇随笔里面将对Linux系统的启动进行一个详细的解释!我的实验机器是CentOS6.4,当然对于现有的Linux发行版本,其系统的启动基本上都是一样的! 首先我们来看下Linux系统启动的几个 ...

  2. linux基础-附件1 linux系统启动流程

    附件1 linux系统启动流程 最初始阶段当我们打开计算机电源,计算机会自动从主板的BIOS(Basic Input/Output System)读取其中所存储的程序.这一程序通常知道一些直接连接在主 ...

  3. Linux系统启动过程分析

    [原创]Linux系统启动过程分析-wjlkoorey258-ChinaUnix博客http://blog.chinaunix.net/uid-23069658-id-3142047.html 经过对 ...

  4. Linux系统启动流程及安装命令行版本

    Debian安装 之前也安装过很多次linux不同版本的系统,但安装后都是直接带有桌面开发环境的版本,直接可以使用,正好最近项目不是很忙,想一直了解下Linux的整个启动流程,以及如何从命令行模式系统 ...

  5. 【转】Linux系统启动过程分析

    [转]Linux系统启动过程分析 转自:http://blog.chinaunix.net/uid-23069658-id-3142047.html 经过对Linux系统有了一定了解和熟悉后,想对其更 ...

  6. 【转载】Linux系统启动流程

    原文:Linux系统启动流程 POST(Power On Self Test/上电自检)-->BootLoader(MBR)-->Kernel(硬件探测.加载驱动.挂载根文件系统./sbi ...

  7. linux 系统启动流程

    原著资料网址:http://wenku.baidu.com/view/414127fdf705cc1755270997.html (版权归原作者所有) Linux系统的启动分5个阶段,每个阶段都完成不 ...

  8. Linux系统启动流程及grub重建(1)

    日志系统 Linux系统启动流程 PC: OS(Linux) POST-->BIOS(Boot Sequence)-->MBR(bootloader,446)-->Kernel--& ...

  9. Linux系统启动过程介绍

    Linux系统启动过程介绍 学习操作系统有必要了解一下系统的启动过程,这样在面对各种系统故障的时候能快速定位解决问题,下面以Centos来分析linux系统的启动过程. 1.BIOS自检:当开机的时候 ...

  10. linux系统启动过程的列表

    linux系统启动过程的列表 载入BIOS的硬件信息并进行自检.然后根据设置取得第一个可启动的设备: 读取并运行第一个启动设备内MBR(master boot record,主引导分区)的boot l ...

随机推荐

  1. maven项目将web2.5改为web3.1

    用maven构建的web项目默认的web.xml为2.3的版本,而我们需要更改为我们想要的版本(3.1). 在这里有两种方式更改web.xml的版本: 第一种: 将项目切换为navigator视图,然 ...

  2. Tomcat官方文档关于数据源配置的内容

    虽然有网上有网友自己总结的文章,但说明得总是不够清晰,还是参考官方文档理解得比较透彻: http://tomcat.apache.org/tomcat-7.0-doc/jdbc-pool.html h ...

  3. 高效率terminal和sublime 相互启动

    在日常的工作中,我们经常使用到terminal和Sublime .今天给大家介绍下怎样高效率的实现terminal和sublime 相互启动 (这里说的是MAC环境,我用的是Sublime Text ...

  4. leetcode278

    /* The isBadVersion API is defined in the parent class VersionControl. bool IsBadVersion(int version ...

  5. django模版 常用变量

    在request中有很多有用的东西,如下: 获取当前用户: 1 {{ request.user }} 如果登陆就显示内容,不登陆就不显示内容: 1 2 3 4 5 {% if request.user ...

  6. django初体检课程

    最简便的Python web开发框架. C:\Windows\System32>E: E:\>django-admin startproject mysite E:\>cd mysi ...

  7. Spring IOC基础

    2.1.1 IOC是什么IOC—Inversion of Control,即“控制反转”,不是什么技术,而是一种设计思想.在Java开发中,IOC意味着将你设计好的对象交给容器控制,而不是传统的在你的 ...

  8. APP微信登录---第三方登录

    (一)引入maven配置 <dependency> <groupId>com.github.liyiorg</groupId> <artifactId> ...

  9. memcache分布式的高速缓存系统

    http://baike.baidu.com/link?url=8v9IdWg0i_ptrTfz0APh32-SbvNUAWvXrcZM5vuJ8BrjCR2oylrieOXJ3vkSuRAq3kQV ...

  10. 如何用shell脚本执行或关闭jar包服务?

    现在springboot很流行,但是大家都知道springboot是以jar包的方式进行打包的,那样就少不了开启或关闭服务的操作了,但是命令方式未免过于繁琐. 下面记录shell脚本的方式启动或关闭服 ...