Linux 开机启动流程

1.加电自检


       我们知道整个主机在开机的时候,第一个被读取的地方, 就是 BIOS ( Basic Input Output System ) 啦,这个 BIOS 里面记录了主机板的芯片组与相关的设定, 例如 CPU 与接口设备的沟通频率啊、开机装置的搜 寻顺序啊、硬盘的大小与类型啊、 系统时间啊、各周边总线的是否启动 Plug and Play (PnP, 随插即用装置) 啊 、 各接口设备的 I/O 地址啊、以及与 CPU 沟通的 IRQ 岔断等等的信息都记录在此, 所以 啰,系统要顺利的开机,首先就是要去读取 BIOS 的相关设定值了。 读取了 BIOS  设定值之后,系统会根据 BIOS 的数据,进行开机自我测试 (power on self test, POST),  然后开始执行硬件侦测的初始化,并设定 PnP 装置,之后再定义出可开机的装置, 之后就会开始进行开机装置的数据读取了 (MBR 相关的任务开始。
 
 2.bootloader:引导加载器       (windows下用fisk /mbr)
      早期的Linux 用的引导加载器叫LILO(Linux loader)只能加载1024柱面以内的磁盘分区对大硬盘支持不好,多用于嵌入式。现在被性能更强的GRUB(GRand Unified Bootloader)代替。     
    GRUB 分为两段式引导
    一个段是MBR上前446byte 第一段找到第二段/boot/grub/stage2  还有一点五段用于表示不同的分区类型grub.conf
   
    内核一定在/boot 中

系统启动第三步 
内核初始化
  1.硬件设备探测
  2.initrd文件,从中加载额外的设备驱动。
  3.以只读的方式挂载根文件系统
  4.装载init进程 进程号1,在/sbin/init
 以上内核初始化信息,都会保存在/var/log/dmesg
 
 
 /etc/inittab:主要包括一下几个步骤
  1.设定默认运行级别
  2.启动系统初始化脚本 /etc/rc.d/rc.sysinit
  3.执行指定运行级别下的每一个启动脚本 etc/rc.d  /etc/rc.d/rc  /etc/rc.d/rcN.d 
  4.设定ctrl+alt+del组合键功能 
  5.设定电源故障时要执行的脚本
  6.设定要启动的虚拟控制台 /dev/tty[0-6]
  7.设定当指定运行级别为5时做gui的初始化脚本
 

inittab分四段 简介14:55  /etc/rc.d/rc.sysinit
1段.设置项目
2段  运行级别
3init的操作行为
4段.命令项目执行的命令或脚本




/etc/rc.d/rc.sysinit

1.激活udev和selinux
2.设置内核参数,会读取/etc/sysctl.conf
3.设置系统时钟
4.装载键盘映射
5.启用交换分区(虚拟内存)
6.设置主机名称,
7.根文件系统检查(检查文件的一致性状态),以读写方式挂载根文件系统
8.激活RAID和LVM设备
9.启用磁盘配额
10.检查并挂载其他的文件系统 /etc/fstab
11.清除不再使用的文件锁和PID文件




/etc/rc.local   在启动系统过程的最后定义一些自己想启动的服务

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值