centos6:
开机自检,硬件自检
MBR磁盘分区是一种使用最为广泛的分区结构,它也被称为DOS分区结构,但它并不仅仅应用于 Windows系统平台,也应用于Linux,基于X86的UNIX等系统平台。它位于磁盘的0号扇区(一扇 区等于512字节),是一个重要的扇区(简称MBR扇区)。
1、MBR只支持2TB的硬盘
1、只支持4个主分区
MBR:(master boot loade)主引导记录 446B
DPT:(disk partition table)磁盘分区表 64B
Magic:魔术字55AA 2B
磁盘扇区:0-0-1扇区 引导扇区
磁盘有三个逻辑概念:磁道,柱面,扇区,512B
1、grub第1.5和2阶段,信息默认存放在扇区中,如果使用grub-install生成的2阶段的文件是存放在/boot分区中的。
2、为了加载内核系统,不得不加载/boot分区,而加载/boot分区,需要有/boot分区的驱动,/boot分区驱动是放在/boot分区中 的。
3、stage1.5:
mbr之后的扇区,识别stage2所在的分区上的文件系统
4、stage2:
开机启动的时候看到的Grub选项、信息,还有修改GRUB背景等功能都是stage2提供的,stage2会去读入 /boot/grub/grub.conf 或者menu.lst等配置文件
操作系统引导菜单
windows:msconfig
linux:GRUB
注意:windows和linux双系统的时候,默认GRUB来引导
注意:这里,centos6是GRUB Legacy (+efibootmgr),而centos7是 GRUB2
读取grub.conf文件以确定内核的参数,准备启动内核
1、读取/etc/inittab文件
inittab文件里面定义了系统默认运行级别,这一步做了一些工作如下:
a)初始运行级别(RUN LEVEL)
b)系统初始化脚本
c)对应运行级别的脚本目录
d)定义UPS电源终端/恢复脚本
e)在虚拟控制台生成getty,以生成终端
f)在运行级别5初始化X
2、执行/etc/rc.d/rc.sysinit程序
系统初始化一些脚本,主要完成以下工作
a)设置主机名
b)设置欢迎信息
c)激活udev和selinux可以在grub.conf中,kernel行添加selinux=0以关闭selinux
d)挂载/etc/fstab文件中定义的文件系统
e)检测根文件系统,并以读写方式重新挂载根文件系统
f)设置系统时钟
g)激活swap设备
h)根据/etc/sysctl.conf文件设置内核参数
i)激活lvm及software raid设备
j)加载额外设备的驱动程序
k)清理操作
3、/etc/rc#.d/文件(各种服务)
里面定义的是各种服务的启动脚本,可以ls查看,S开头代表开机启动的服务,K开头的是关机要执行的任务。#代表数字, 一个数字代表一个运行级别,共7个运行级别,这里就不多说了
4、/etc/rc.d/rc.local文件
这里面可以自定义开机启动的命令。
centos7:
Sysvinit就是 system V 风格的 init 系统,Sysvinit 用术语 runlevel 来定义"预订的运行模式"。Sysvinit 检查 '/etc/inittab' 文件中是否含有 'initdefault' 项。 这告诉 init 系统是否有一个默认运行模式。Sysvinit 使用脚本,文件命名规则和软链接来实现不同的 runlevel,串行启动各个进程及服务。
Systemd 是 Linux 系统中最新的初始化系统(init),它主要的设计目标是克服 sysvinit 固有的缺点,提高系统的启动速度。systemd 和 ubuntu 的 upstart 是竞争对手,预计会取代 UpStart。Systemd的目标就是尽可能启动更少的进程,尽可能将更多进程并行启动。
从gnome2.x----->gnome3.x
[CentOS6] GNOME 2.x
[CentOS7] GNOME 3.x(GNOME Shell)
从ext4----->xfs
[CentOS6] ext4
[CentOS7] xfs
EXT4是第四代文件系统,是Linux下的日志文件系统。
xfs是一个64位文件系统,对于一个32位Linuix系统,文件和文件系统的大小被限制在16TB。
从2.6.x--------->3.10.x
[CentOS6] 2.6.x-x
[CentOS7] 3.10.x-x
从iptables---->firewalld
[CentOS6] iptables
[CentOS7] firewalld
从Mysql---->MariaDB
[CentOS6] MySQL
[CentOS7] MariaDB
其他还有一些设置主机名,时间同步等等的区别,主要是配置文件和命令的差异在这里就不详细介绍了。