1、引导过程总览
1.开机自检
服务器主机开机以后,将根据主板BIOS中的设置对CPU (Central Processing Unit,
中央处理器)、内存、显卡、键盘等设备进行初步检测,检测成功后根据预设的启动顺序移交系统控制剖权,大多时候会移交给本机硬盘。
总结:检测出第一个能够引导系统的设备比如硬盘或光驱、U盘
2.MBR引导
当从本机硬盘中启动系统时,首先根据硬盘第一个扇区中 MBR (Master Boot Record,
主引导记录)的设置,将系统控制权传递给包含操作系统引导文件的分区;或者直接根据MBR记录中的引导信息调用启动菜单(如GRUB)。
总结:运行放在MBR扇区里的启动GRUB引导程序
3.GRUB菜单
对于Linux操作系统来说,GRUB (GRand Unified Bootloader,统一启动加载器)是使用最为广泛的多系统引导器程序。系统控制权传递给GRUB 以后,将会显示启动菜单给用户选择,并根据所选项(或采用默认值)加载 Linux内核文件,然后将系统控制权转交给内核。需要注意的是,Centos 7 采用的是 GRUB2启动引导器。
4.加载内核:将内核与镜像加载到内存中
5.init初始化:开启pid=1的进程,进程就是init加载的程序是systemd
2、系统初始化进程
init进程
Linux内核加载运行lsbin/init程序
init进程是系统中第一个进程
init进程的PID(进程标记)号永远为1
Systemd
Systemd是Linux操作系统的一种init软件
CentOS7中采用全新的Systemd启动方式,取代传统的SysVinit
CentOS7中运行的第一个init进程是/lib/systemd/systemd
查看当前系统下的活跃进程:ps aux
Systemd单元类型
单元类型:0service 扩展名: .service 说明:描述一个系统服务
运行级别所对应的Systemd目标
运行级别:6 Systemd的target:reboottarget 说明:重新启动,使用该级别时将会重启主机
3、修复MBR扇区故障
1、思路:
MBR 512字节
MBR 是在sda盘的第一个物理扇区中
解决MBR引导程序故障问题,前提要先进行备份
备份:
首先在/sda中,我只要将512的MB内容,备份到其他盘/sdb
2、问题:
MBR引导文件异常了,重启后无法正常进入
3、解决:
进入急救模式,然后选择进入“安全模式”
创建挂载点,r将之前备份在/sdb中的mbr文件挂载到这个临时挂载点上
dd复制512字节的数据到/ sda中
exit退出重启,检测
4、步骤
1.备份MBR扇区数据到其它磁盘( /dev/sdb1)
mkdir /backup
mount /dev/sdb1 /backup
dd if=/dev/sda of=/backup/ mbr.bak bs=512 count=1
2.模拟破坏MBR引导扇区
dd if=/dev/zero of=/dev/sda bs=512 count=1
3.引导界面进入急救模式,从备份文件中恢复MBR扇区数据
先加教好光盘镜像,重启操作系统
当出现安装向导界面时,选择"Troubleshooting"选项,
再选择"Rescue a centos Linux system"选项,进入急救模式
选择“1"选择cContinue并按Enter键继续
再次按Enter键后将进入带"sh-4.2#"提示符的Bash Shell环境
sh-4.2#mkdir /backupdir
sh-4.2#mount /dev/sdb1/backupdir
#挂载带有备份文件的分区
sh-4.2#dd if=/backupdir/mbr.bak of=/dev/sda#恢复备份数据.
sh-4.2#exit
#执行exit命令退出临时shell环境,系统将会自动重启
4、修复GRUB引导故障
1、故障原因
MBR中的RGU引导程序遭到破坏
grub.conf文件丢失,引导配置有误
2、故障现象
系统引导停滞,显示grub>提示符
3,解决思路
尝试手动输入引导命令
进入急救模式,重写或者从备份中恢复
向MBR扇区中重建grub程序
4、步骤
引导界面进入急救模式,重建GRUB菜单配置文件
rm -rf /boot/ grub2l grub.cfg
#进入急救模式,加载光盘镜像切换到系统根环境
sh-4.2#chroot /mnt / sysimage
#重新将GRUB引导程序安装到第一块硬盘(/dev/sda)的MRB扇区,如果有多个分区可省略
bash-4.2#grub2-install / dev / sda
#重新构建GRUB菜单的配置文件
bash-4.2# grub2-mkconfig -o / boot/grub2/grub.cfg
#退出chroot环境,并重启
bash-4.2#exit
sh-4.2# reboot
5、CentOS遗忘root用户的密码或是重置
进入急救模式,加载系统镜像,c切换到系统根环境 exit选择troubleshooting然后选择急救模式
sh-4.2# chroot /mnt/sysimage
#重设root用户密码
bash-4.2# passwd root
6、优化启动过程
ntsysv工具
提供一个交互式、可视化窗口
可以在字符终端运行
便于集中管理多个服务
systemctl工具
不提供交互式、可视化窗口
管理单个服务效率更高
7、Linux系统的运行级别
查看运行级别
rulevel命令
systemctl工具
临时切换运行级别
init命令
systemctl工具
设置永久运行级别
8、系统服务控制
系统服务控制
systemctl 控制类型 服务名称
控制类型
start:启动
stop:停止
restart:重新启动
reload:重新加载
status:查看服务状态