CentOS 7引导过程及服务管理
1.1引导过程
Linux操作系统的引导过程:开机自检→MBR引导→GRUB菜单→加载Linux内核与内存文件系统→加载硬盘驱动以及初始化进程。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wVdKJpzp-1592477148268)(C:\Users\liu\AppData\Local\YNote\data\weixinobU7VjjiLb-onZTKVi-VzPH05GQQ\5bf7ba7fbe894074a445e44b0612f56c\clipboard.png)]
1.2启动详解
①.开机自检
服务器主机开机以后,将根据主板BIOS中的设置对CPU、内存、显卡、键盘等设备进行初步检测,检测成功后根据预设的启动顺序移交系统控制权,大多数时候会移交给本机硬盘。
②. MBR 引导
当从本机硬盘中启动系统时,首先根据硬盘第1个扇区中MBR(Master Boot Record主引导记录)的设置,将系统控制权传递给包含操作系统引导文件的分区;或者直接根据MBR记录中的引导信息调用启动菜单(GRUB) 。
③. GRUM菜单
对于Linux系统来说,GRUB算是使用最为广泛的多系统引导器程序了。系统控制权传递给GRUB以后,将会显示启动菜单提供给用户选择,并根据所选项(或采用默认值)加载Linux内核文件,然后将系统控制权转交给内核。
④.加裁Linux内核
Linux内核是一个预先编译好的特殊二进制文件,介于各种硬件资源与系统程序之间,负责资源分配与调度。内核接过系统控制权以后,将完全掌控整个Linux操作系统的运行过程。
⑤.INIT进程初始化
为了完成进一步的系统引导过程,Linux内核首先将系统中的“/sbin/init”程序加载到内存中运行(运行中的程序称为进程) ,init进程负责完成一系列的系统初始化过程
⑥init进程
与使用数字标记用户账号、组账号类似,Linux系统中的进程(运行中的程序)也使用数字进行标记,每个进程的身份标记号称为PID。在引导Linux系统的过程中,init进程是系统中第一个进程,PID(进程标记)号永远为1
init进程运行以后将陆续执行系统中的其他程序,不断生成新的进程,这些进程称为init进程的子进程,反过来说init进程是这些进程的父进程。当然,这些子进程也可以进一步生成各自的子进程,依次不断繁衍下去,最终构成一棵枝繁叶茂的进程树,共同为用户提供服务。
从以上描述可以看出,init进程正是维持整个Linux系统运行的所有进程的"始祖",因此init进程是不允许被轻易终止的。需要切换不同的系统运行状态时,可以向init进程发送正确的执行参数,由init自身来完成相关操作。
1.3 Systemd 概述
Systemd是Linux操作系统的一-种init 软件,CentOS 7系统中采用了全新的Systemd
启动方式,取代了传统的SysVinit。Systemd启动方式使系统初始化时诸多服务并行启动,.
大大提高了开机效率。CentOS 7系统中“/sbin/init是“/lib/systemd/systemd"的链接文件。换.
言之,CentOS 7系统中运行的第一个init 进程是“/lib/systemd/systemd"。systemd 守护进
程负责Linux的系统和服务,systemctl 用于控制Systemd管理的系统和服务状态。
Systemd将其管理的资源组织成各种类型的单元(Unit)
systemctl命令用于管理各种类型的systemd单元,以下列出最常见的单元.
大家都知道Windows有安全模式,它是Windows的最小模式,和普通模式相比,安全模可以让用户更好地进行系统检测以及错误修复。Linux的运行级别是个类似的机制,不同的运行级别有不同的作用.
我们通常使用的是级别是3(多用户字符模式)和5(多用户图形界面模式),它们分别对应的目标是multi-use.target和graphical.target。
思路:
修复MBR(另一种是GPT)扇区故障
一个扇区512字节
MBR中存有文件元信息(属性,位置)还有系统的引导文件;文件数据信息(具体内容)存放在磁盘的别的位置
步骤:
打开虚拟机我们添加一块100G的磁盘,做好备份,挂载,格式化,挂载
[root@localhost ~]# init 6 进行重启
[root@localhost ~]# fdisk -l 列出磁盘列表
磁盘 /dev/sdb:107.4 GB, 107374182400 字节,209715200 个扇区 ##sdb是刚刚新加的100G磁盘
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘 /dev/sda:322.1 GB, 322122547200 字节,629145600 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000a0b1b
设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 629145599 313523200 8e Linux LVM
磁盘 /dev/mapper/centos-root:57.9 GB, 57852035072 字节,112992256 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘 /dev/mapper/centos-home:263.2 GB, 263192576000 字节,514048000 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
mkfs -t ext4 /dev/sdb ###格式化sdb
[root@localhost boot]# mkfs -t ext4 /dev/sdb
mke2fs 1.42.9 (28-Dec-2013)
/dev/sdb is entire device, not just one partition!
无论如何也要继续? (y,n) y ####这边确定y
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
6553600 inodes, 26214400 blocks
1310720 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=2174746624
800 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872
Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
[root@localhost boot]# mount /dev/sdb /opt ###挂载到opt
[root@localhost boot]# df -Th ###查看挂载
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root xfs 54G 4.1G 50G 8% /
devtmpfs devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs tmpfs 1.9G 13M 1.9G 1% /run
tmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 179M 836M 18% /boot
/dev/mapper/centos-home xfs 245G 33M 245G 1% /home
tmpfs tmpfs 378M 4.0K 378M 1% /run/user/42
tmpfs tmpfs 378M 32K 378M 1% /run/user/0
/dev/sr0 iso9660 4.3G 4.3G 0 100% /run/media/root/CentOS 7 x86_64
/dev/sdb ext4 99G 61M 94G 1% /opt
[root@localhost boot]# dd if=/dev/sda of=/opt/mbr.bak bs=512 count=1 ##备份MBR扇区故障
记录了1+0 的读入
记录了1+0 的写出
512字节(512 B)已复制,0.00013523 秒,3.8 MB/秒
[root@localhost boot]# dd if=/dev/sda of=/opt/mbr.bak bs=512 count=1 模拟MBR扇区故障数据
记录了1+0 的读入
记录了1+0 的写出
512字节(512 B)已复制,0.00013523 秒,3.8 MB/秒
[root@localhost boot]# dd if=/dev/zero of=/dev/sda bs=512 count=1
记录了1+0 的读入
记录了1+0 的写出
512字节(512 B)已复制,0.000186754 秒,2.7 MB/秒
[root@localhost ~]# init 6
上面就是模拟MBP扇区故障
光盘引导→进入急救模式→提示操作→从备份文件中恢复MBR散区
init 6重启
装入光盘,在光盘引导界面选择troubleshooting 进入急救模式
选择第二个,进入救援系统
问题2:centos 7.4进入系统测试
[root@localhost /]# cd /boot/grub2 ##进入grup 2
[root@localhost grub2]# mv grub.cfg grub.cfg.bak 修改grub2.cfg 模拟故障
[root@localhost grub2]# init 6 重启
3.grub故障修复
1.虚拟机打开设置把光盘连接勾选一下
2.启动虚拟机界面,点击F2进入bols设置CD启动项
重启
exit
reboot ###主要改启动项,否认还是进光盘模式
3.修改启动项
恢复成功
修复过程实验
.装入光盘,在光盘引导界面选择troubleshooting:
2、进入troubleshooting菜单 选择Rescue a centos system
3、进入引导可以按回车,或者等待
按1 在按会车进入sh-4.2#
4.进入救援模式后切根
chroot /mnt/sysimage/
5、修改密码
passwd root
输入密码:Abc123 ###第一次
输入密码:Abc123 ###第二次
6、重启
exit
reboot ###主要改启动项,否认还是进光盘模式
验证
登录:root
密码:。。。。。
3、进入引导可以按回车,或者等待
按1 在按会车进入sh-4.2#
4.进入救援模式后切根
chroot /mnt/sysimage/
5、修改密码
passwd root
输入密码:Abc123 ###第一次
输入密码:Abc123 ###第二次
6、重启
exit
reboot ###主要改启动项,否认还是进光盘模式
[外链图片转存中…(img-wXJPuIt2-1592477148281)]
验证
登录:root
密码:。。。。。
本次实验结束