博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux 系统启动
阅读量:6412 次
发布时间:2019-06-23

本文共 977 字,大约阅读时间需要 3 分钟。

    系统启动流程

    

    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可用以改变当前运行级别。

    

转载于:https://www.cnblogs.com/tomcatx/p/4473919.html

你可能感兴趣的文章
谈2017年高考对编程人生的思索
查看>>
关于 Dubbo Failed to save registry store file, cause: Can not lock the registry cache file
查看>>
spring事务管理
查看>>
【腾讯开源】iOS爆内存问题解决方案-OOMDetector组件
查看>>
Linux TTY、PTS、PTY详解
查看>>
java泛型中T、E、K、V、?等含义
查看>>
UITableView中使用reloadRowsAtIndexPaths会出现闪退的解决办法
查看>>
Banner无限轮播图
查看>>
Java 静态代理、Java动态代理、CGLIB动态代理
查看>>
zabbix监控memcached模板
查看>>
JavaScript中的对象
查看>>
asp判断接受的参数是否为纯数字
查看>>
Lua中的table函数库
查看>>
阿斯顿发生点
查看>>
Android 图片倒影效果源码
查看>>
HADOOP2.0,Exception java.lang.NoClassDefFoundError: org/apache/hadoop/mapreduce/v2/app/MRAppMaster
查看>>
Planning, Deploying, and Monitoring Mobility
查看>>
Win7 + VS2010 + Python2.7.5 安装 gevent
查看>>
pd 数据类型对照表
查看>>
@Transactional
查看>>