Linux引导过程与服务控制

引导过程

  • linux系统的开机过程:

  • 开机自检(BIOS):linux主机开机之后,根据主板BIOS中的设备,对CPU内存显卡键盘等等设备进行初步检测。检测成功之后,根据预设的启动柜顺序进行系统控制权的移交。

    一般情况下,转交给本机的硬盘

启动方式

        U启

        光驱

        需要在Bios中更改设置,默认的都是从硬盘开始。

  1. 开机自检 服务器主机开机以后,将根据主板BIOS中的设置对CPU、内存、显卡、键盘等设备进行初步检测, 检测成功后根据预设的启动顺序移交系统控制权,大多时候会移交给本机硬盘。 总结:检测出第一个能够引导系统的设备,比如硬盘或者光驱

  2. MBR引导

    1. win:磁盘分区表,记录了系统当中磁盘分区的索引,找到磁盘的分区位置。

    2. linux:硬盘当中的第一个硬盘的第一个扇区,识别系统的版本和操作系统的个数。

      总结:运行放在MBR扇区里的启动GRUB引导程序

  3. GRUB菜单

    移动控制权的移交,根据引导信息交给启动菜单,grub2 grub菜单

    grub:统一启动加载器,是一个使用最为广泛的多系统引导器程序。显示出当前有几个系统,可供用户选择。根据用户的选择,进行系统控制权的移交,移交到选择系统的内核文件。系统的制空权到了内核

    总结:GRUB引导程序通过读取GRUB配置文件 /boot/grub2/grub.cfg , 来获取内核和镜像文件系统的设置和路径位置。

4.加载内核文件

        预先编译好的特质二进制可执行文件。介于各种硬件资源和系统程序之间。

        内核接过系统控制权以后,将完全掌控整个Linux操作系统的运行过程。

        资源分配与调度。调度完之后,资源和程序加载到内存之中。

        Centos 7系统中,默认的内核文件位于 “/boot/vmlinuz-3.10.0-514.e17.x8664”

        总结:把内核和镜像文件系统加载到内存中

5.init进程初始化

        系统控制权移交到systemd(centos7的初始化,ini初始化)

        systemd进程初始化:将系统中的 “/sbin/init” 加载到内存当中程序,已并行的方式加载运行。 最终等待用户登录。

systemd现在变成centos7的初始化方式,就是因为执行方式,并行打开。

        init:串行。一个一个执行,速度慢。

总结:加载硬件驱动程序,内核把init进程加载到内存中运行

systemd的管理方式

管理linux系统的进程和系统服务的管理器

  • 支持并行启动服务,提高系统启动速度;

  • 可以设置开机自启,自动重启服务,确保服务的可靠性和稳定性;

  • 可以在进程运行期间动态的调整进程参数和资源限制,提高系统的灵活性和可管理性;

  • 解决启动程序的依赖关系,确保服务的正确启动和运行;

  • 支持多种服务管理方式,例如命令行工具、图形界面、Web 界面等。

对服务的状态进行管理:

控制单元:

systemd 按照单元进行控制unit

单元类型

service对进程进行控制#主要使用的控制方式。

socket通信套接字端口号服务,对进程间的端口号进行控制。

例子
systemctl start firewalld//开启防火墙
systemctl status firewalld//查看防火墙状态
systemctl stop firewalld//关闭防火墙

行动的运行级别

runlevel 命令:只能查看切换运行级别与当前运行级别

[root@localhost ~]# runlevel

N 5

N 表示之前没有切换过运行级别,5表示的是图形模式,3表示命令行

systemctl 工具:能查看默认的运行级别

systemctl get-default

systemctl set-default 模式名 改默认的运行级别


MBR扇区故障

故障原因:

        病毒、木马等造成的破坏

        不正确的分区操作、磁盘读写误操作

故障现象:

        找不到引导程序,启动中断

        无法加载操作系统,开机后黑屏

解决思路:

        应提前做好备份文件

        以安装光盘引导进入急救模式

        从备份文件中恢复


修复MBR扇区故障 MBR位于第一块硬盘(/dev/sda) 的第一个物理扇区处,总共512字节

格式化 mkfs.xfs /dev/sdb1

1、备份MBR扇区数据到其它磁盘( /dev/sdb1 )

        mkdir /backup

        mount /dev/sdb1 /backup

        cd /backup dd if=/dev/sda of=/backup/mbr.bak bs=512 count=1

2、模拟破坏MBR引导扇区

        hexdump -C -n 512 /dev/sda

        -C 二进制显示

        -n 查看字节数

        dd if=/dev/zero of=/dev/sda bs=512 count=1

3、引导界面进入急救模式,从备份文件中恢复MBR扇区数据

         先加载好光盘镜像,重启操作系统,

         当出现安装向导界面时,选择“Troubleshooting"选项,

         再选择"Rescue a Centos Linux system" 选项,进入急救模式

        选择“1"选择Continue并按Enter键继续

        再次按Enter键后将进入带“sh-4.2#"提示符的Bash Shell环境

        sh-4.2# mkdir /backupdir

        sh-4.2# mount /dev/sdb1 /backupdir

        挂载带有备份文件的分区

                cd /backupdir ls sh-4.2# dd if=/backupdir/mbr.bak of=/dev/sda

        恢复备份数据

                sh-4.2# exit

修复GRUB引导故障

故障原因

        MRB中的GRUB引导程序遭到破坏

        grub.conf文件丢失、引导配置有误

故障现象

        系统引导停滞,显示“grub>”提示符

解决思路

        尝试手动进入引导命令

进入急救模式,重写或者弄备份中恢复grub.conf

向MBR扇区中重建grub程序

引导界而进入急救模式,重建GRUB菜单配置文件

rm -rf /boot/grub2/grub.cfg

按esc然后选择cdrom

进入急救模式,加载光盘镜像,切换到系统根环境

        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

grub2-mkconfig 用于生成 Grub2 配置文件的命令,

参数 -o 或 --output 指定生成的配置文件的路径和文件名

生成的 Grub2 配置文件默认路径为 /boot/grub2/grub.cfg

bash-4.2# exit

sh-4.2# reboot

遗忘root用户密码

[root@192 ~]# setenforce 0

#做这个实验之前,最好setenforce 0,关闭selinux的安全机制

root密码忘记的解决思路

进入急救模式,重设密码

进入急救模式,加载系统镜像,切换到系统根环境

sh-4.2# chroot /mnt/sysimage

重设root 用户密码

bash-4.2# passwd root

启动时任意键暂停启动 按e键进入编辑模式 将光标移动linux 开始的行,改为 rw init=/sysroot/bin/sh 按ctrl-x启动 chroot /sysroot passwd root

如果SELinux是启用的,才需要执行下面操作,如查没有启动,不需要执行

touch /.autorelabel

exit

reboot

[root@localhost ~]# vim /etc/selinux/config

运行命令getenforce,验证SELinux状态。

返回状态应为enforcing或者permissive

enforcing:凡是违反selinux的安全机制的禁止一切

permissive:宽容模式,允许通过,但是会记录日志

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值