第7周笔记整理

1、CentOS6的启动流程
POST加电自检:此过程是开机后,BIOS或UEFI进行硬件检查的阶段

2、MBR引导:BIOS去找硬盘的第一个扇区的前446个字节,将MBR加载到内存中,MBR将告诉程序下一阶段去哪里找系统grub引导,此阶段为grub第一阶段

3、GRUB引导:grub的第1.5和2阶段。为了加载内核系统,不得不加载/boot分区,而加载/boot分区需要/boot分区的驱动。/boot分区的驱动是放在/boot分区中的,因此Linux依靠放在1.5阶段中的数据来启动

stage1阶段:保存在MBR中的前446字节。

stage1.5阶段:保存在MBR之后的扇区。目的是为了让boot loader能识别stage2阶段所在的分区上的文件系统。

stage2阶段:保存在磁盘分区/boot/grub/目录里,其中包含了内核文件、虚拟磁盘映像文件等系统启动时需要
用到的重要文件。

4.读取grub.conf文件:确定内核启动的参数

5.启动内核:
加载内核,核心开始解压缩。启动一些最核心的程序
使用initramfs-2.6.32-754.el6.x86_64.img来驱动硬件

6.加载伪文件系统(ramdisk):内核已经启动起来了,再调用ramdisk(initramfs-2.6.32-754.el6.x86_64.img)文件,尝试驱动所有硬件设备,到这一步,内核起来了,所有的驱动也装上了,后面的启动就能交给程序了
制作ramdisk文件:mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)

7.启动init进程:
grub中指定的init=/sbin/init程序
(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开头是关机要执行的任务。#代表数字
(4)/etc/rc.d/rc.local文件
这里面可以自定义开机启动的命令

8、执行/bin/login
执行/bin/login程序,等待用户登录

grub安装
grub-install --root-directory=DIR /dev/DISK
例:grub-install --root-directory=/mnt /dev/sdb

错题整理:

1、linux系统查看当前加载的模块?查看⼀个模块信息和相关参数的⽅法?加载⼀个模块?

(1)查看已加载模块
lsmod命令

(2)显示kernel模块的信息
modinfo 命令

(3)加载某个模块
modprobe命令

2、如何在linux系统上查看BIOS版本、机器型号、序列号?查看⽹卡驱动版本?

biosdecode命令 BIOS版本

查看服务器型号: dmidecode | grep 'Product Name'

查看主板的序列号: dmidecode |grep 'Serial Number'
ethtool -i ens33 网卡驱动版本

猜你喜欢

转载自www.cnblogs.com/yorkzhy/p/11443662.html