引导顺序
当你按下开机的电源键直到屏幕显示登录的页面,这中间系统做的一些开机的过程
1、开机自检(BLOS)
服务器开机后,根据主板的blos设置,对cpu,内存,显卡,键盘等等设备进行初步的检测。检测成功后根据预设 的启动顺序(默认的启动顺序,第二个就是硬盘,要么是手工设置的u盘。)系统的控制权转到硬盘(大多数的时候转移给本机的硬盘)
总结:初步的检测硬件工作是否正常,检测成功后,把系统的引导控制权交给硬盘或者或者光驱或者u盘
2、MBR引导
MBR是硬盘的分区记录表,在这个表里面记录硬盘的分区,以及系统的启动盘的位置在哪。
系统的控制权到了硬盘,根据mbr记录表来找,系统的启动盘,找到了之后将系统的控制权限传递给包含操作系统引导文件的分区,以及mbr记录中系统的启动菜单(grub)
3、grub菜单
硬盘启动后,找到系统分区,也找到了操作系统所在的位置,grub就会显示启动菜单,包含所有当前可选地操作系统
选择了其中一个操作系统后,系统转移控制权,转移到操作系统的内核文件。
centos7使用的都是grub2启动引导器
4、加载内核文件
操作系统的内核文件是一个预先编译好的特殊的二进制代码(可执行文件),介于硬件资质和系统程序之间,负责分配资源,调度资源。只是分配和调度,并没有真正运行。预加载到内存当中,系统程序等待启动。
5、inti/systemd启动方式
/sbin/init 进程是系统当中第一个进程,是所有其他的进程的父进程 。init进程在系统中的进程号永远是一
inti 是串行 一个一个启动。速度慢
lib/systemd/system 他是系统的第一个进程,进程号也是1
systemd是并行 加载在内存当中的程序,一起启动 速度快,
systemd 单元类型
systemd 是centos7 之后管理系统服务进程的管理。使用单元模式 (unit)来描述和控制系统服务和资源
特点
1、支持并行服务,提高系统的启动速度
2、可以自动重启
3、可以再进程运行期间动态的控制他的资源和相关的服务参数
4、自动解决服务启动过程过程中的依赖关系
5、支持多种管理方式,命令行,也可以使用图像化工具。命令行操作*
单元类型

| 单元类型 | 扩展名 | 描述 |
|---|---|---|
| service | .service | 描述一个系统进程 |
| target | .target | 描述一组systemd的单元、进程在不同级别下运行的状态 |
| socket | .socket | 进程启动根据其配置,分配系统端口 监听端口状态。如果有请求,维护端口通信(提供网络服务) |
| device | .device | 管理硬件设备,驱动程序,设备文件,设备属性 |
| mount | .mount | 管理文件系统的挂载,以及挂载选项,以及挂载后的数据管理 |
| Automount | .automount | 根据配置,自动的实现设备和文件之间的挂载 |
系统的运行级别
| 运行级别 | systemd对应的target | 说明 |
|---|---|---|
| 0 | target | 关机 |
| 1 | rescue.target | 单用户模式,系统维护时使用 |
| 2 | multi-user.target | 字符模式和三一样 |
| 3 | multi-user.target | 字符模式,完整的字符模式 3模式可以支持多用户,在工作中,遇到的都是三 |
| 4 | multi-user.target | 字符模式和三一样 |
| 5 | graphical.target | 图像化多用户模式(工作中没有) |
| 6 | reboot.target | 重启 |
切换系统级别:init +级别=切换系统级别的命令
查看运行级别:runlevel
如何对服务进程进行控制:systemctl 控制类型 服务名称(进程)
控制类型
start 启动
stop 停止
restart 重启 先关闭再重启 先stop在start (修改服务的配置文件,必须要重启服务才能生效)
reload 重新加载 重新加载单元状态
status 查看服务状态
running 正常运行
dead 服务失败
fail 启动失败 查找启动失败的原因 exit -code 真正启动失败了
Result:signal表明有人强制终止了该进程,不一定是报错
实验
1、mbr引导 :mbr分区表被删除 如何恢复
在虚拟机创建新磁盘

lsblk 查看磁盘情况
fdisk /dev/sbd 设置新增磁盘sdb
n三次回车 完成默认配置
lsblk 查看磁盘配置 查看此时的20g文件是否分配给了sdb1
查看新新创建的磁盘
mkdir /backup 创建备份目录
mkfs .xfs /dev /sbd1 创建文件系统
mout /dev/sdb1 /backup/ 将磁盘信息挂载进备份目录
df -h 查看磁盘挂载情况
mbr分区表在第一硬盘当中的第一个分区,大小512字节 把这个分区表从第一个硬盘中提取出来,保存在sdb的硬盘中(相当于mbr分区表做了一个备份)
dd if=/dev /sda of =/backup/mbr.bak bs=521 count=1
模拟删除分区表,用空文件覆盖mbr分区表
dd if =/dev/zero of =/dev/sda bs=512 count =1
重启
init 6
进入虚拟机 j进入急救模式 troubleeshoot ing Rescue a CentOS system


进入急救模式后
创建一个新的目录,将原先的备份信息放入到 backupir 这个新目录当中
mkdir /backupdir
mount /dev/sdb1 /backupdir/
显示磁盘挂载信息
df -h
进入到backupdir这个目录中查看信息
cd backupdir/
发现是否获得了之前在mbr表中的备份信息 mbr.bak
ls
这是将backupdir的备份信息传到sda
dd if=/backupdir/mbr.bak of =/dev/sda
exit 退出 自动重启
这里是先备份在恢复
2、gup引导菜单故障
进入到boot 里面找到centos7的grub2
# cd /boot/
# ls
config-3.10.0-957.el7.x86_64
efi
grub
grub2
进入到这个目录 找到 grup.cfg 这个文件进行删除 rm -rf grup .cf 然后进行重启
# cd grub2/
# ls
device.map fonts grub.cfg grubenv i386-pc locale
# rm -rf grub.cfg
# init 6
进入虚拟机
重启虚拟机时进入急救模式
在这里点击重置后摁 esc键进入急救模式(要快)

进入光盘镜像
chroot /mnt/sysimage 进入光盘的根目录
这里是把grub 重新安装到第一块硬盘
grub2-install /dev/sda
重新构建grub的信息
grub2-mkconfig -o /boot/grub2/grub.cfg
重启
reboot
chroot /mut/sysimage 进入系统的根环境
3、忘记密码
root密码忘记了
在xshll中关闭安全机制
setenforce 0 安全机制
进入系统根目录
chroot /mnt/sysimage/
修改密码
passwd root
两次确认新密码
exit退出
reboot 重启

475

被折叠的 条评论
为什么被折叠?



