linux启动过程
首页->学习资料->linux教程->linux引导流程 关键词: 发布时间:2014-10-26 14:39:47 浏览次数:1818

linux的启动过程如下:

第一步检查硬件是否正确,第二步读取硬盘引导区,第三步载入内核,第四步启动init文件中的相关进程,第五步读取系统配置

这个过程可能比较抽象,我们可以打个比方来理解,以基于mvc的thinkphp框架为例,上面

第一步相当于:检查系统硬件是否正确

第二步相当于:启动webserver服务器,并自动找到首页(index.php或其它)

第三步相当于:载入thinkphp框架类文件

第四步相当于:运行thinkphp框架并new()一个thinkphp类

第五步相当于:读取config.php配置,并最终display(),显示页面效果;

这个比如可能不太恰当,但是可以方便理解

下面这图过程更详细一些:

/etc/profile 里面是全局环境配置

/home/用户名/.bashe_profice是当前登录用户的环境配置

[root@localhost hurong]# ls -al
total 18080
drwx------. 29 hurong hurong     4096 Feb 27 03:49 .
drwxr-xr-x.  3 root   root       4096 Feb 25 13:02 ..
-rw-------.  1 hurong hurong      593 Feb 27 05:22 .bash_history
-rw-r--r--.  1 hurong hurong       18 Feb 21  2013 .bash_logout
-rw-r--r--.  1 hurong hurong      176 Feb 21  2013 .bash_profile


有兴趣的可以打开这些配置文件看看,里面都是用shell编写的程序,在不了解的情况下不要轻易修改,否则可能出大问题;

打开.bash_profile看看:

[root@localhost hurong]# cat /home/hurong/.bash_profile
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH
[root@localhost hurong]#



第二步grub的配置可以用 vi /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/sda2
#          initrd /initrd-[generic-]version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title centos (2.6.32-71.el6.i686)
        root (hd0,0)
        kernel /vmlinuz-2.6.32-71.el6.i686 ro root=UUID=c5cb6d94-66c6-47d6-8670-ec529df6a14a rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us crashkernel=auto rhgb quiet
        initrd /initramfs-2.6.32-71.el6.i686.img


其中红色部分为内核的版本号,linuz最后一个z表示压缩包的意思,2.6.32表示版本号,2表示主版本号,6表示次版本号,32表示末版本号;其中次版本号为偶数表示正式版,为奇数表示测试版,如果要更换内核的话,下载的时候要注意。


第三步:启动init进程


第4步,可以用vi /etc/inittab查看init配置,主经用来指定运行级别;相当于windows中按启动后按f8选启动模式;

# inittab is only used by upstart for the default runlevel.
#
# ADDING OTHER CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.
#
# System initialization is started by /etc/init/rcS.conf
#
# Individual runlevels are started by /etc/init/rc.conf
#
# Ctrl-Alt-Delete is handled by /etc/init/control-alt-delete.conf
#
# Terminal gettys are handled by /etc/init/tty.conf and /etc/init/serial.conf,
# with configuration in /etc/sysconfig/init.
#
# For information on how to write upstart event handlers, or how
# upstart works, see init(5), init(8), and initctl(8).
#
# Default runlevel. The runlevels used are:
#   0 - halt (Do NOT set initdefault to this)
#   1 - Single user mode
#   2 - Multiuser, without NFS (The same as 3, if you do not have networking)
#   3 - Full multiuser mode
#   4 - unused
#   5 - X11
#   6 - reboot (Do NOT set initdefault to this)
#
id:5:initdefault:

0表示关机,设置成0表示启动完后就关机了

1单用户模式,类似于windows的安全模式,只有root可以登录,无图形界面,只有最小化功能

2多用户模式,无nfs(用于linux与unix之间的文件共享,很少用,安全性差),无图形界面

3多用户模式,无图形界面

4没用了,可以由用户自定义

5系统默认级别,图形化的多用户模式

6重启,设置成此项将进入无限重启状态。


查看当前运行模式:runlevel

[root@localhost hurong]# runlevel
N 5
[root@localhost hurong]#
修改运行级别:init 上面某数字


赞:(0)
踩:(0)
相关文章
linux硬件时钟与软件时钟同步
热门文章
win7中将文件拷贝到虚拟机linux下
phpexcel设置行高及列宽,背景颜色,
rabbitmq无法启动
intellij idea不显示git push按钮
php7中使用mongodb的aggregate进行
centos7.4 64位下swoole安装及配置
laravel页面静态化的方法
navicate连接mycat报1184错误
单点登录sso原理及php实现方式及de
devops-jenkins容器为pending状态
好评文章
phpexcel设置行高及列宽,背景颜色,
php7中使用mongodb的aggregate进行
intellij idea打开文件所在文件夹
windows下使用MongoDB Compass Com
win7中将文件拷贝到虚拟机linux下
laravel 中悲观锁 & 乐观锁的使用
单点登录sso原理及php实现方式及de
navicate连接mycat报1184错误
rabbitmq无法启动
laravel整合dingo/api方法步骤:jwt
标签
rabbitmq mysql备份 elasticsearch golang swoole
我的项目
【github】www.github.com/hurong241
【码云】gitee.com/hu_rong/projects
【docker hub】hub.docker.com/repositories/hurong241
【packagist】packagist.org/users/hurong241/packages
站点信息
建站时间:2011年
文章数:607篇
浏览数:940840
粤ICP备18028092号-1  微信:hurong241