RedHat/Centos

关注公众号 jb51net

关闭
操作系统 > RedHat/Centos >

简单了解CentOS的开机启动过程以及设置启动时间

lanyizheng

CentOs开启启动的流程主要有以下几个步骤:

一.POST加电自检

POST(POST ON SELF TEST)首先对每一个设备进行检查,完成后悔寻找存有引导记录的设备,找到读入操作系统的引导记录,将系统控制权交给引导记录。

二、MBR引导

MBR(Master Boot Record),MBR记录一般是在磁盘0磁道1扇区,共512字节,前446个字节是BootLoader,后面的4*16个字节是存放分区信息的,最后两个字节是校验信息的 。

三、GRUB加载内核

GRUB(GRand Unified Bootloader)就是MBR前446个字节,是Booloader的一种,它的作用是选择要启动的内核。

四、启动init进程

init进程是系统启动的第一个进程,其他的进程都是此进程控制fork出来的,PID=1.

1读取/etc/inittab,选择默认级别

在我的机器上,文件内容如下:
id:5:initdefault:
表示多用户模式,支持图形模式

2执行初始化系统脚本

这个脚本在/etc/rc.d/rc.sysinit中

3执行/etc/rc.d/rcX.d/下的脚本

因为这里我选择的默认级别是5,则会读取rc5.d下的所有脚本,来控制系统启动的时候启动或关闭那些服务。
这里的脚本大致分为两类,以S开头的和以K开头的。
S:代表开机启动的
K:表示开机时不启动的
文件命令格式,例如:
S01sysstat S 开机启动 01 启动次序 sysstat 启动脚本名
可以通过chkconfig 来关系脚本的开机自启动

chkconfig –add SRC_SCRIPT
添加服务

chkconfig –del SRC_SCRIPT
删除服务

chkconfig SRC_SCRIPT {on|off}
设置服务开机是否自启动
–level 2345 指定默认级别

4执行/etc/rc.d/rc.local脚本

这是启动过程中最后启动的一个脚本,然后会执行/bin/login 登陆用户。

CentOS设置开机等待时间
Centos6.x操作系统每次开机时,都会有系统等待时间,此选项最常用到的地方就是修改密码,如果不需要修改密码的话,通常需要快速进入系统。因为可以修改系统等待时间。
开机等待时间默认为5秒,将之设置为0秒后,保存后重新启动服务器,就会迅速跳过开机选项进入系统,不过建议设置为1秒,这样忘记密码时,可以及时按下重新设置密码的选项。


[root@rac1 grub]# cat /boot/grub/menu.lst
# 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/mapper/vg_rac1-lv_root
# initrd /initrd-[generic-]version.img
#boot=/dev/sda
default=0
timeout=5 //设置开机选项描述,默认为5秒
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Red Hat Enterprise Linux (2.6.32-358.el6.x86_64)
root (hd0,0)
kernel /vmlinuz-2.6.32-358.el6.x86_64 ro root=/dev/mapper/vg_rac1-lv_root rd_LVM_LV=vg_rac1/lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=128M rd_LVM_LV=vg_rac1/lv_swap KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet
initrd /initramfs-2.6.32-358.el6.x86_64.img