CentOS6启动流程及破解root口令

wKiom1fRSCOyjaV2AAIASTC03xw720.png

1.加载BIOS的硬件信息,获取一个启动设备。

2.读取第一个启动设备MBR的引导加载程序(grub)的启动信息

3.加载核心操作系统的核心信息,核心开始解压缩,并尝试驱动所有的硬件设备。

4.核型执行init程序并获取运行信息。

5.Init执行/etc/rc.d/rc.sysinit文件

6.启动核心的外挂模块(/etc/modprobe.conf)。

7.Init执行运行的各个批处理文件(scripts).

8.Init执行/etc/rc.d/rc.local.

9.执行/bin/login程序,等待用户登录

10.登录之后开始以Shell控制主机。

POST:Power-On-Self-Test,加电自检,是BIOS功能一个主要部分。负责完成对cpu、主板、内存、硬盘子系统、显示子系统、串并行接口、键盘、CD-ROM光驱等硬件情况的检测。

ROM:BIOS,Basic Input and Output System,保存着有关计算机系统最重要的基本输入输出程序,系统信息设置、开机加电自检程序和系统启动自举程序等。

RAM:CMOS互补金属氧化物半导体,保存各项参数的设定

按次序查找引导设备,第一个有引导程序的设备为本次启动设备

bootloader: 引导加载器,引导程序

windows: ntloader,仅是启动OS

Linux:功能丰富,提供菜单,允许用户选择要启动系统或不同的内核版本;把用户选定的内核装载到内存中的特定空间中,解压、展开,并把系统控制权移交给内核

LILO:LInuxLOader

GRUB: GRandUnified Bootloader

GRUB 0.X: GRUB Legacy,GRUB2

MBR:

446: bootloader,64: 分区表,2: 55AA

GRUB:

primary boot loader : 1st stage,1.5 stage

secondary boot loader :2nd stage,分区文件

kernel:

自身初始化:

探测可识别到的所有硬件设备

加载硬件驱动程序(可能借助于ramdisk加载驱动)

以只读方式挂载根文件系统

运行用户间的一个应用程序:/sbin/init

init程序的类型:

SysV: init,CentOS 5之前

配置文件:/etc/inittab

Upstart: init,CentOS6

配置文件:/etc/inittab,/etc/init/*.conf

Systemd:systemd,CentOS 7

配置文件:/usr/lib/systemd/system

/etc/systemd/system

ramdisk:

内核中的特性之一:使用缓冲和缓存来加速对磁盘上的文件访问

ramdisk--> ramfs提高速度

CentOS 5: initrd,工具程序:mkinitrd

CentOS 6: initramfs,工具程序:mkinitrd,dracut

系统初始化:

POST --> BootSequence(BIOS) --> Bootloader(MBR) --> kernel(ramdisk) --> rootfs(只读) --> init(systemd)

/sbin/initCentOS6之前

运行级别:为系统运行或维护等目的而设定;0-6:7个级别

0:关机

1:单用户模式(root自动登录),single,维护模式

2: 多用户模式,启动网络功能,但不会启动NFS;维护模式

3:多用户模式,正常模式;文本界面

4:预留级别;可同3级别

5:多用户模式,正常模式;图形界面

6:重启

认级别:3,5

切换级别:init #

查看级别:runlevel; who -r

服务脚本示例:

[root@centos6 init.d]# cat testsrv

#!/bin/bash

# chkconfig: 35 88 22 #35: 运行级别;88:系统启动时此服务的运行顺序,最大99;22:系统关闭时的运行顺序,值越大优先级越低!

# description: testsrv script#描述-----此两行是固定格式!!!

case $1 in

start)

echo testsrv start

;;

stop)

echo testsrv stop

;;

status)

echo testsrv status

;;

*)

echo 'testsrv start | stop | status'

;;

esac

以下为命令行操作:

chkconfig --add /etc/rc.d/init.d/testsrv#添加此服务至服务列表

chkconfig --list#查看服务列表

chkconfig --del testsrv#从服务列表中删除此服务

chkconfig --level 35 testsrv off#3或者5级别,开机时不启动此服务

chkconfig --level 345 testsrv on#3,4或5级别,开机时启动此服务

ntsysv #也可以设置开机启动项

chkconfig testsrv on#不指定级别时,模式是2345

chkconfig |grep testsrv

testsrv 0:off1:off2:on3:on4:on5:on6:off

centos6破解root口令---即单用户模式(前提是没设置grub密码,否则需输入grub的密码才能进入)

1、重启机器,当出现以下界面时按任意键

wKioL1fRSgyxzya8AAAGmhzeTSI573.png

按“e”

wKiom1fRSg3DUWxGAAAUiVZr0LQ697.png

按上下箭头选择第二行,再按“e”

wKioL1fRSg2iHx3SAAAcmup8Av4506.png

在quit的后面先空格,再输入1,回车

wKiom1fRSg3jxJG6AAAP6dxaU34886.png

按“b”启动系统

wKioL1fRSg2iAUyPAAAcodl-xus543.png

2、如下图说明系统已经启动了,在命令行输入runlevel,查看系统当前运行级别,显示为1 S,即单用户模式,此时就可以修改root密码了,在命令行输入passwd,回车,输入两次密码,然后重启机器即可。

wKiom1fRSg6zfqa2AAAUi_Sh9iM026.png

相关文章

Centos下搭建性能监控Spotlight
CentOS 6.3下Strongswan搭建IPSec VPN
在CentOS6.5上安装Skype与QQ
阿里云基于centos6.5主机VPN配置
CentOS 6.3下配置multipah
CentOS安装、配置APR和tomcat-native