Linux启动过程

1、启动流程(BIOS->MBR:Boot Code->引导GRUB->载入内核->运行init->runlevel)

2、/boot/grub/下有多个文件   当中stage1为MBR镜像(512字节) stage2为引导程序

3、/boot/grub/grub.conf为引导的配置文件

default=0#默认载入下边哪个系统
timeout=3#引导等待时间
splashimage=(hd0,1)/boot/grub/splash.xpm.gz#引导界面的背景图
hiddenmenu#隐藏菜单
title CentOS(2.6.32.279.el6.i686)#系统名称
root(hd0,1)#系统位置
kernel /boot/vmlimuz-2.6.32.279.el6.i686 ro root=UUID=** LANG=en_US.UTF-8 #内核及參数
initrd /boot/initramfs-2.6.32.279.el6.i686.img#镜像文件

4、Linux为保持kernel精简将一些不经常使用的驱动、功能编译为模块,在须要的时候动态载入。而这些



模块被打包保存为一个initramfs文件

早期版本号Linux使用initrd文件,initramfs是initrd的替代优化版本号,比曾经更加节省空间、更加灵活

5、dmesg查看内核的输出信息(查看内核级故障、设备驱动不起来时须要看内核信息)、信息终于保

存在/var/log/dmesg文件里

6、init为linux系统中的第一个进程(top中PID为1的)。为全部进程的父进程

系统启动时调用/etc/rc.d/rc.sysinit负责对系统进行初始化。挂载文件系统。而且依据执行基本启动对应服务

执行级别:

0:关机

1:单用户模式

2:不带网络的多用户模式

3:纯文本多用户模式

4:未使用

5:XLL图形化多用户模式

6:又一次启动

通过/etc/inittab 改动默认级别

每一个级别保存在/etc/rc.d下(rc0.d、rc1.d、rc2.d。。

。)

/etc/init 里边的文件为系统初始化配置文件(如启动ctrl alt del组合按键)



runlevel显示当前及上一个执行级别

N 5 (N表示没有上一个,5表示图形)



init 3表示切换到3级别下

单用户改动ROOTpassword

引导时为内核传递參数"1"(数字1)或"single"可系统进入单用户模式(在引导模式下按e,选择内核后再按e,追加"1"启动)

单用户模式下不启用不论什么服务

单用户模式直接以root用户登录,而且不须要password

能够使用passwd改动rootpassword

GRUB加密

通过在grub.conf中的启动配置中增加例如以下參数就可以对grub进行加密:

password --md5 $1$ao---这里是密码

加密后的password能够通过grub-md5-crypt命令生成,将生成后的password替换上边的password

rc.local文件解说

非常多人不知道rc.local和rc?.d的差别,rc.local是在系统初始化级别脚本运行之后再运行的,因此能够安全地在里面加入你想在系统启动之后运行的脚本。常见的情况是你能够再里面加入nfs挂载/mount脚本。

此外,你也能够在里面加入一些调试用的脚本命令。比如。我就碰到过这样的情况:samba服务总是无法正常运行。而检查发现,samba是在系统启动过程中就该启动运行的。也就是说,samba守护程序配置保证了这样的功能本应该正确运行。

碰到这样的类似情况。一般我也懒得花大量时间去查为什么,我仅仅须要简单的在/etc/rc.local脚本里加上这么一行:

          /etc/init.d/samba start

这样就成功的攻克了samba服务异常的问题。

最新文章

  1. Emacs 常用快捷键
  2. oracle分区提高篇
  3. Codeforces Round #167 (Div. 2) D. Dima and Two Sequences 排列组合
  4. Codeforces 745C:Hongcow Builds A Nation(并查集)
  5. memcached 学习笔记
  6. Android中ListView异步加载数据
  7. jQuery效果---隐藏与显示
  8. C语言之函数的介绍
  9. FR javascript 时间设置上个月最后一天后当月最后一天
  10. MyBatis之TypeHandler
  11. ios扫雷
  12. Spring Boot 系列(八)@ControllerAdvice 拦截异常并统一处理
  13. Maven使用本地jar包(两种方式)
  14. spark1.3.x与spark2.x启动executor不同的cpu core分配方式
  15. git关联了无用的,取消关联,并重置gitignore
  16. GitHub用法
  17. go语言入门(Hello World)
  18. MySQL中文参考手册
  19. System Generator 使用离散资源
  20. PHP中的static的理解

热门文章

  1. 大数据学习——sqoop导出数据
  2. div的显示隐藏方法汇总
  3. ubuntu14.04 Cannot find OpenSSL's <evp.h>
  4. TOJ 2596: Music Notes
  5. HDU-4417 Super Mario,划分树+二分!
  6. [Istio]Web应用出现upstream connect error or disconnect/reset before headers
  7. Oracle spool 用法小结
  8. spring配置tomcat jdbc pool数据库连接池
  9. Ceph纠删码编码机制
  10. Centos 安装Python3的方法