Linux启动过程
Posted xiaojing-
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux启动过程相关的知识,希望对你有一定的参考价值。
1. 简单描述(口头)
(1).开机Bios自检
检查硬件:CPU、内存、主板....
检查完毕将启动任务交给相应的设备(BIOS设置的启动顺序)
(2). MBR引导(读硬盘的那个地方)
硬盘0柱面0磁道1扇区的前446byte
(3)grub引导菜单 (控制了Linux的启动)
[[email protected] ~]# cat /etc/grub.conf
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/sda3
# initrd /initrd-[generic-]version.img
#boot=/dev/sda
default=0 #启动那一个内核文件
timeout=5 #超时
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS 6 (2.6.32-754.el6.x86_64)
root (hd0,0)
kernel /vmlinuz-2.6.32-754.el6.x86_64 ro root=UUID=ad36a095-56bf-4e0f-a120-6a8fb7420cfc rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet
initrd /initramfs-2.6.32-754.el6.x86_64.img
(4).加载内核文件
(5).启动init进程
[[email protected] ~]# ps -ef|grep init
root 1 0 0 18:53 ? 00:00:01 /sbin/init
root 24716 1816 0 19:26 pts/0 00:00:00 grep init
(6).读取inittab文件,执行rc,sysinit,rc等脚本
/etc/inittab #设置运行级别
/etc/rc.d/rc.sysinit #对系统进行基本设置,如设置主机名,设备自动挂载
/etc/rc.d/rc3.d/ #运行级别为3,文本模式
[[email protected] ~]# chkconfig --list sshd
sshd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
(7).启动mingetty进程,进入系统登录界面
2.简单图解表示(画图)
以上是关于Linux启动过程的主要内容,如果未能解决你的问题,请参考以下文章
LINUX PID 1和SYSTEMD PID 0 是内核的一部分,主要用于内进换页,内核初始化的最后一步就是启动 init 进程。这个进程是系统的第一个进程,PID 为 1,又叫超级进程(代码片段