Linux 系统启动流程及其介绍
熟悉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 系统启动流程及其介绍相关推荐
- arm linux系统启动流程
===================================================== arm linux系统启动相关文章列表: arm linux系统启动流程 http://bl ...
- linux 系统重启过程,linux 系统启动流程
linux系统启动流程可以简单总结为以下几步 1)开机BIOS自检 2)读取MBR,进行MBR引导 3)启动bootloader 4)加载内核kernel 5)启动init进程,依据inittab文件 ...
- Arm linux系统启动流程简介
文章目录 介绍 一.Bootloader 1.总体流程 二.Linux内核 1.总体流程 2.具体流程 总结 介绍 Arm Linux 系统启动流程可分为四个部分: 1.引导加载程序(bootload ...
- Linux系统启动流程(4)制作自定义linux之一
Linux系统启动流程(4)制作自定义linux之一 平时使用的服务器类型的linux系统一般都会装载各种软件与服务,而在某些情况下,并不能一直直接使用公司管理的系统,一是可能会出现故障,二是在处理一 ...
- linux 打开设备 流程,Linux系统启动流程
1.linux系统启动流程 1.加载BIOS的硬件信息,获取第一个启动设备 Power-On-Self-Test,加电自检,是BIOS功能的一个主要部分.负责完成对CPU.主板.内存.硬盘子系统.显示 ...
- ac3165 linux驱动_一文读懂Linux系统启动流程
Linux启动管理 11.1 CentOS 6.x系统启动过程详解 CentOS 6.x系统启动过程发生了较大的变化,使用Upstart启动服务取代了原先的System V init启动服务.Upst ...
- linux系统启动的第一个进程是,linux系统启动流程及常见问题解决
运行环境:centos6 Vmware 一.系统启动流程介绍 linux系统启动时我们可以看到很多启动信息,整体来说系统启动分为以下几个过程:加电自荐:power on system test 选择启 ...
- linux系统启动流程详解
系统启动流程(CentOS6) Post加电自检: 开机检查cpu.内存.磁盘等是否存在 Boot Sequence: BIOS:Basic Input and Output System 按照BIO ...
- 图解Linux系统启动流程
废话不多说,先上图 说明1:上图是Linux系统启动时的详细流程,其中黑色部分为主流程分支,蓝色部分为详细流程分支,绿色部分是注释部分.大家可点击查看大图. 说明2:增加了kernel和initrd间 ...
最新文章
- 〖Linux〗使用Qt5.2.0开发Android的NDK应用程序
- 漫画:程序教你寻找股票买入卖出的最佳时机(动态规划)
- 发现错误(Core Data 应用程序实践指南)
- MyEclipse-7.5.0版注册码破解及激活操作
- Aarch64汇编语言
- 关于COMMIT WORK and COMMIT WORK AND WAIT在SAT中的讨论
- HDLBits答案(3)_Verilog模块的例化与调用
- Incorporating Lexical Priors into Topic Models(即交互式主题模型的应用)论文阅读
- 【SQL Server备份恢复】维护计划实现备份:每周数据库完整备份、每天差异备份、每小时日志备份...
- python支持什么循环_Python的循环
- 如何删除mysql系统服务_如何彻底删除mysql服务(清理注册表)详解
- 萤火虫小程序_玩转跨界营销,《狐妖小红娘》都使上了哪些神仙操作?
- 解决win 7拷贝共享文件很慢
- 怎么让图片铺满手机屏幕_手机版Photoshop怎么把图片铺满屏幕?
- 详细图解,一眼就能看懂!卷帘快门(Rolling Shutter)与全局快门(Global Shutter)的区别
- Gephi可视化人物关系图
- SSM | SpringMVC
- Decoder原理和浅解
- 第三方支付宝API应用流程
- 实验二+070+胡阳洋