Linux系统的启动过程

系统启动过程?

POST->BIOS(boot sequence)->GRUB Stage1(MBR-bootloader)->GRUB Stage2(/boot/grub/grub.conf)->kernel, initramfs->/sbin/init->/etc/inittab->/etc/rc.d/rc.sysinit->/etc/rc.d/rc(/etc/rc.d/rcN.d/{K* S*})

1. 第一步 加电自检,检查硬件是否正常工作,如果正常,就会根据预先定义好的启动次序去指定的设备上依次查找MBR
2. 第二步 通过设备中的MBR中的前446字节可以获取到bootloader程序
	bootloader有两种类型
		早期LILO
		流行GRUB 0.X 1.X
	这里找到并执行bootloader,其实运行grub的第一阶段,通过grub state1可以找到磁盘上的一个特定分区中的grub stage2,在stage2的配置文件中就指定了内核和临时文件系统的位置,这样就通过bootloader找到了内核
3. 第三步 将找到的内核装载入内存中,并运行,同时将临时文件系统在内存中展开,将一部分内存空间临时作为磁盘来使用,这样在内存中就有一个完整的、临时的文件系统,内核可从这个临时文件系统中获取到所需要的驱动程序,那么内核就可以尝试执行/sbin/init发起第一个用户空间进程
4. 第四步 通过init生成第一个用户空间进程,同时会去读取配置文件/etc/inittab 以及 /etc/rc.d/rc.sysinit 来完成设置系统运行级别,以及其他的系统初始化功能
	运行级别有

C5\C6:运行级别

	0:关机
	1:单用户模式级别:通常用于进行系统的修复
	2:不带网络的字符级别
	3:字符级别
	4:保留级别
	5:图形级别
	6:重启


查看级别:
	runlevel
	who -r

临时切换级别
	init NUM

	1. 关机 init 0
	2. 重启 init 6
	3. 切换到图形界面 init 5
	4. 切换到字符界面 init 3

修改系统的默认级别
	修改init的配置文件/etc/inittab

init–/etc/inittab

	1. 定义系统的默认运行级别
	2. 定义系统初始化脚本(rc.sysinit)
	3. 实现程序的开机自动启动

rc.sysinit的功能

	设置主机名
	设置系统时钟
	设置键盘映射
	激活swap
	激活selinux/iptables
	挂载 /etc/fstab中所定义的外部设备
	激活raid、lvm
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值