1.加载BIOS的硬件信息,获取第一个启动设备。@H_301_1@
2.读取第一个启动设备MBR的引导加载程序(grub)的启动信息@H_301_1@
3.加载核心操作系统的核心信息,核心开始解压缩,并尝试驱动所有的硬件设备。@H_301_1@
5.Init执行/etc/rc.d/rc.sysinit文件。@H_301_1@
6.启动核心的外挂模块(/etc/modprobe.conf)。@H_301_1@
7.Init执行运行的各个批处理文件(scripts).@H_301_1@
8.Init执行/etc/rc.d/rc.local.@H_301_1@
9.执行/bin/login程序,等待用户登录。@H_301_1@
POST:Power-On-Self-Test,加电自检,是BIOS功能的一个主要部分。负责完成对cpu、主板、内存、硬盘子系统、显示子系统、串并行接口、键盘、CD-ROM光驱等硬件情况的检测。@H_301_1@
ROM:BIOS,Basic Input and Output System,保存着有关计算机系统最重要的基本输入输出程序,系统信息设置、开机加电自检程序和系统启动自举程序等。@H_301_1@
RAM:CMOS互补金属氧化物半导体,保存各项参数的设定@H_301_1@
按次序查找引导设备,第一个有引导程序的设备为本次启动设备@H_301_1@
bootloader: 引导加载器,引导程序@H_301_1@
windows: ntloader,仅是启动OS@H_301_1@
Linux:功能丰富,提供菜单,允许用户选择要启动系统或不同的内核版本;把用户选定的内核装载到内存中的特定空间中,解压、展开,并把系统控制权移交给内核@H_301_1@
LILO:LInuxLOader@H_301_1@
GRUB: GRandUnified Bootloader@H_301_1@
GRUB 0.X: GRUB Legacy,GRUB2@H_301_1@
MBR:@H_301_1@
446: bootloader,64: 分区表,2: 55AA@H_301_1@
GRUB:@H_301_1@
primary boot loader : 1st stage,1.5 stage@H_301_1@
secondary boot loader :2nd stage,分区文件@H_301_1@
kernel:@H_301_1@
自身初始化:@H_301_1@
探测可识别到的所有硬件设备@H_301_1@
加载硬件驱动程序(可能借助于ramdisk加载驱动)@H_301_1@
运行用户空间的第一个应用程序:/sbin/init@H_301_1@
init程序的类型:@H_301_1@
SysV: init,CentOS 5之前@H_301_1@
Upstart: init,CentOS6@H_301_1@
配置文件:/etc/inittab,/etc/init/*.conf@H_301_1@
Systemd:systemd,CentOS 7@H_301_1@
配置文件:/usr/lib/systemd/system@H_301_1@
/etc/systemd/system@H_301_1@
ramdisk:@H_301_1@
内核中的特性之一:使用缓冲和缓存来加速对磁盘上的文件访问@H_301_1@
ramdisk--> ramfs提高速度@H_301_1@
CentOS 5: initrd,工具程序:mkinitrd@H_301_1@
CentOS 6: initramfs,工具程序:mkinitrd,dracut@H_301_1@
系统初始化:@H_301_1@
POST --> BootSequence(BIOS) --> Bootloader(MBR) --> kernel(ramdisk) --> rootfs(只读) --> init(systemd)@H_301_1@
/sbin/initCentOS6之前@H_301_1@
运行级别:为系统运行或维护等目的而设定;0-6:7个级别@H_301_1@
0:关机@H_301_1@
1:单用户模式(root自动登录),single,维护模式@H_301_1@
2: 多用户模式,启动网络功能,但不会启动NFS;维护模式@H_301_1@
4:预留级别;可同3级别@H_301_1@
6:重启@H_301_1@
默认级别:3,5@H_301_1@
切换级别:init #@H_301_1@
查看级别:runlevel; who -r@H_301_1@
服务脚本示例:@H_301_1@
[root@centos6 init.d]# cat testsrv
@H_301_1@
#!/bin/bash@H_301_1@
# chkconfig: 35 88 22 #35: 运行级别;88:系统启动时此服务的运行顺序,最大99;22:系统关闭时的运行顺序,值越大优先级越低!@H_301_1@
# description: testsrv script#描述-----此两行是固定格式!!!@H_301_1@
case $1 in@H_301_1@
start)@H_301_1@
echo testsrv start@H_301_1@
;;@H_301_1@
stop)@H_301_1@
echo testsrv stop@H_301_1@
;;@H_301_1@
status)@H_301_1@
echo testsrv status@H_301_1@
;;@H_301_1@
*)@H_301_1@
echo 'testsrv start | stop | status'@H_301_1@
;;@H_301_1@
esac@H_301_1@
以下为命令行操作:@H_301_1@
chkconfig --add /etc/rc.d/init.d/testsrv#添加此服务至服务列表@H_301_1@
chkconfig --list#查看服务列表@H_301_1@
chkconfig --del testsrv#从服务列表中删除此服务@H_301_1@
chkconfig --level 35 testsrv off#3或者5级别,开机时不启动此服务@H_301_1@
chkconfig --level 345 testsrv on#3,4或5级别,开机时启动此服务@H_301_1@
ntsysv #也可以设置开机启动项@H_301_1@
chkconfig testsrv on#不指定级别时,模式是2345@H_301_1@
chkconfig |grep testsrv @H_301_1@
testsrv 0:off1:off2:on3:on4:on5:on6:off@H_301_1@
centos6破解root口令---即单用户模式(前提是没设置grub密码,否则需输入grub的密码才能进入)@H_301_1@
1、重启机器,当出现以下界面时按任意键@H_301_1@
按“e”@H_301_1@
按上下箭头选择第二行,再按“e”@H_301_1@
在quit的后面先空格,再输入1,回车@H_301_1@
按“b”启动系统@H_301_1@
2、如下图说明系统已经启动了,在命令行输入runlevel,查看系统当前运行级别,显示为1 S,即单用户模式,此时就可以修改root密码了,在命令行输入passwd,回车,输入两次密码,然后重启机器即可。@H_301_1@