linux启动流程分析

 

           开机后主板通电读取bios程序(硬件自检,2T以上硬盘必须使用IEF图形化界面)—boot device (启动设备)硬盘,读取硬盘MBR,物理第一硬盘的{0,0,1} 0柱面0磁道1扇区,被称为主引导记录;MBR(446字节bootload,64字节分区表,2字节55AA校验码),446字节包含stage1_5,stage2文件,读取MBR后找到/boot/grub/grub.conf配置文件。
 

grub配置文件如下

        default=0

  timeout=10

  splashimage=(hd0,0)/boot/grub/splash.xpm.gz  #指定我们选择kernel或操作系统菜单后面那张图片。

        password --md5 $1$UrprW0$UzN7oze   #表示要想进入kernel的编辑菜单,需要输入密码。

  title RHEL6U3

        password --md5 $1$UrprW0$UzN7oze  #启动对应的kernel或操作系统需要密码。

  root(hd0,0)   # mount   /dev/sda  /

  kernel  /boot/vmlinuz-2.4.20-8 ro root=LABEL=/ 

  initrd   /boot/initrd-2.4.20-8.img

以只读方式挂载根, 然后启动init进程,读取/etc/inittab文件,定义运行级别(而不是先启动服务),而是读取第一个启动脚本/etc/rc.d/rc.sysinit(设置好主机运行环境,驱动加载,挂载分区/etc/fstab)   , 接下来就是启动系统服务了/etc/rc.d/rc3.d,然后读取自定义环境/etc/rc.local。

经过一番长途跋涉后,系统终于可以安心的开启shell了,读取login进程(password shadow文件),读取/etc/profile — /etc/profile.d

                             — ~/.bash-profile— ~/.bashrc—/etc/bashrc  最后获得登陆界面。

 

 

 

 

你可能感兴趣的:(linux,启动流程)