熟悉Linux系统启动流程可以更好的排除Linux系统在启动的过程中所遇到的错误,下面介绍Linux系统在启动过程。

开机,BIOS自检:检测外置设备,目的是为了把外围设备的信息提供给操作系统使用
寻找启动磁盘(boot disk) ,然后寻找寻找硬盘的第一个扇区(MBR  master boot record  主引导记录),如果主启动扇区没有存储操作系统,则寻找磁盘中标记被启动分区的第一个扇区中的操作系统,若在找不到则会/boot 目录下进行寻找,存储操作系统信息的空间只有446字节。

找到操作系统内核之后载入内核,内核需要做的是检测硬件,驱动硬件,之后将以只读的方式挂载根文件系统(以只读的方式挂载最主要的目的就是为了安全),挂载的根文件系统至少包括以只读形式挂载根文件系统:/etc /bin /sbin /lib /dev,,然后挂载在根目录下的init服务,启动init服务系统寻找的过程:/sbin/init   /etc/init   /bin/init   若上述目录中没有找到则会给出一个/bin/sh  让我们自己手动输入init程序的位置,若没有找到导致系统启动不起来则会出现类似kernel......kill init这样的字样,这说明init程序没有找到。对应init的介绍下面将会详细介绍。

然后分别启动初始化系统环境:/etc/rc.d/rc.sysinit   /etc/rc.d/rc   /etc/rc.d/rc.local

rc.sysinit 是系统初始化脚本,位于"/etc/rc.d/rc.sysinit",这是在inittab(下面将会说到)配置文件中预先设置好的。

rc.sysinit主要完成的工作如下:

启动udev和selinux子系统:udev负责管理 /dev中的设备文件,selinux可增强linux系统的安全性,selinux的配置文件位于 /etc/selinux/config  虽然可以增加安全性,但是不建议开启,开启selinux后会占用20%的系统资源。
设置内核参数:sysctl -p 可以重新加载内核,从/etc/sysctl.conf中加载内核参数
设置系统时间:将硬件时间设置为linux系统时间
加载键盘对应表:保证输入正确的字符
启动swap:swapon -a -e根据/etc/fstab的设置启动所有交换空间
设置主机名:/etc/sysconfig/network的HOSTNAME                                                       
检查挂载文件系统:以读写的形式挂载所有文件系统,以便写入数据
初始化硬件设备:试着驱动剩余的硬件设备
加载模块:根据/etc/modprobe.conf中的信息加载模块
ISA PnP硬件设备:ISA(总线) PnP(即插即用)
USB设备
启动软件磁盘阵列与LVM
卸载/initrd:节省系统资源
初始化串行端口设备:
清除过期的锁定文件:锁定文件的作用是为了保证只有一个实例运行。
重设磁盘参数:根据/etc/sysconfig/harddisk来设置磁盘参数

rc:同样由init进程进行调用,文件位于"/etc/rc.d/rc" rc脚本通过指定不同的级别参数分别加载及终止不同的系统服务,进入相应的系统运行级别。

rc.local

建立用户接口
建立虚拟控制台:/bin/login
建立图形接口:启动图形界面

管理init服务

管理init服务:建立系统使用环境 确保系统运行 监控周边设备 处理ctrl+alt+del PID恒为1 只能被重启不能被停止,重启命令如下

重启init服务
init q
kill -HUP 1
telinit q

配置init服务
/etc/inittab

ID:RUNLEVELS:ACTIONS:PROCESS
ID:init服务参数识别名称,由1-4个字符组成
RUNLEVELS:在哪个运行级别调用
ACTIONS:init服务执行程序的方法
PROCESS:执行文件的位置,必须为绝对路径

ID字段内容
id:定义linux默认运行级别
si:系统初始化要执行的程序
l0-l6:进入到不同的运行级别时,要执行的动作
ca:拦截到ctrl+alt+del事件系统要执行的工作
pf:电源失效的时候要执行的工作
pr:电源恢复的时候要执行的工作
N:如何启动第N个控制台
x:启动图

管理启动加载器
启动加载器的作用是用加载操作系统内核,并传递一些参数给内核
GRUB   LILO

grub的特性
修改配置文件后,不需要重新安装
可加密

e 编辑选择的项目
a 在启动操作系统前,修改启动参数
c 进入到grub的命令行模式
p 输入grub密码
enter 确认
esc 返回/不保存退出
o 新增一行设置
d 删除选择的设置
配置文件
/boot/grub/grub.conf
安装grub
grub-install /dev/hda   /dev/sda

第二种方法:

grub--root (hd0,0)-- setup(hd0)

转载于:https://blog.51cto.com/wangbenwen/1094404

Linux 系统启动流程及其介绍相关推荐

  1. arm linux系统启动流程

    ===================================================== arm linux系统启动相关文章列表: arm linux系统启动流程 http://bl ...

  2. linux 系统重启过程,linux 系统启动流程

    linux系统启动流程可以简单总结为以下几步 1)开机BIOS自检 2)读取MBR,进行MBR引导 3)启动bootloader 4)加载内核kernel 5)启动init进程,依据inittab文件 ...

  3. Arm linux系统启动流程简介

    文章目录 介绍 一.Bootloader 1.总体流程 二.Linux内核 1.总体流程 2.具体流程 总结 介绍 Arm Linux 系统启动流程可分为四个部分: 1.引导加载程序(bootload ...

  4. Linux系统启动流程(4)制作自定义linux之一

    Linux系统启动流程(4)制作自定义linux之一 平时使用的服务器类型的linux系统一般都会装载各种软件与服务,而在某些情况下,并不能一直直接使用公司管理的系统,一是可能会出现故障,二是在处理一 ...

  5. linux 打开设备 流程,Linux系统启动流程

    1.linux系统启动流程 1.加载BIOS的硬件信息,获取第一个启动设备 Power-On-Self-Test,加电自检,是BIOS功能的一个主要部分.负责完成对CPU.主板.内存.硬盘子系统.显示 ...

  6. ac3165 linux驱动_一文读懂Linux系统启动流程

    Linux启动管理 11.1 CentOS 6.x系统启动过程详解 CentOS 6.x系统启动过程发生了较大的变化,使用Upstart启动服务取代了原先的System V init启动服务.Upst ...

  7. linux系统启动的第一个进程是,linux系统启动流程及常见问题解决

    运行环境:centos6 Vmware 一.系统启动流程介绍 linux系统启动时我们可以看到很多启动信息,整体来说系统启动分为以下几个过程:加电自荐:power on system test 选择启 ...

  8. linux系统启动流程详解

    系统启动流程(CentOS6) Post加电自检: 开机检查cpu.内存.磁盘等是否存在 Boot Sequence: BIOS:Basic Input and Output System 按照BIO ...

  9. 图解Linux系统启动流程

    废话不多说,先上图 说明1:上图是Linux系统启动时的详细流程,其中黑色部分为主流程分支,蓝色部分为详细流程分支,绿色部分是注释部分.大家可点击查看大图. 说明2:增加了kernel和initrd间 ...

最新文章

  1. 〖Linux〗使用Qt5.2.0开发Android的NDK应用程序
  2. 漫画:程序教你寻找股票买入卖出的最佳时机(动态规划)
  3. 发现错误(Core Data 应用程序实践指南)
  4. MyEclipse-7.5.0版注册码破解及激活操作
  5. Aarch64汇编语言
  6. 关于COMMIT WORK and COMMIT WORK AND WAIT在SAT中的讨论
  7. HDLBits答案(3)_Verilog模块的例化与调用
  8. Incorporating Lexical Priors into Topic Models(即交互式主题模型的应用)论文阅读
  9. 【SQL Server备份恢复】维护计划实现备份:每周数据库完整备份、每天差异备份、每小时日志备份...
  10. python支持什么循环_Python的循环
  11. 如何删除mysql系统服务_如何彻底删除mysql服务(清理注册表)详解
  12. 萤火虫小程序_玩转跨界营销,《狐妖小红娘》都使上了哪些神仙操作?
  13. 解决win 7拷贝共享文件很慢
  14. 怎么让图片铺满手机屏幕_手机版Photoshop怎么把图片铺满屏幕?
  15. 详细图解,一眼就能看懂!卷帘快门(Rolling Shutter)与全局快门(Global Shutter)的区别
  16. Gephi可视化人物关系图
  17. SSM | SpringMVC
  18. Decoder原理和浅解
  19. 第三方支付宝API应用流程
  20. 实验二+070+胡阳洋

热门文章

  1. Idea-LifecycleException when deploying
  2. maven scala plugin 实现jvmArgs,执行过程原理解析笔记
  3. 在sql server中建存储过程,如果需要参数是一个可变集合怎么处理?
  4. 负载均衡集群LVS模式之DR模型
  5. Amcharts绑定新数据后不会刷新图表的解决办法
  6. 在Win7中安装Oracle 10g时检测报错的解决办法
  7. linux开机启动脚本的顺序
  8. 大成郡亮相乐居春季房展精装户型16500元
  9. mysql装一次后再装_MySQL再安装
  10. Tungsten Fabric SDN — DCI