ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

CentOS 7引导过程与服务控制(一)

2019-08-23 22:55:47  阅读:157  来源: 互联网

标签:引导 服务 操作系统 CentOS 扇区 命令 Linux 执行


一、引导过程总览

CentOS 7引导过程与服务控制(一)
1.开机自检
服务器主机开机以后,将根据主板 BIOS 中的设置对 CPU、内存、显卡、键盘等设备进行初步检测,检测成功后根据预设的启动顺序移交系统控制权,大多时候会移交给本机硬盘。
2.MBR 引导
当从本机硬盘中启动系统时,首先根据硬盘第一个扇区中MBR(Master Boot Record主引导记录)的设置,将系统控制权传递给包含操作系统引导文件的分区;或者直接根MBR 记录中的引导信息调用启动菜单。
3.GRUB 菜单
对于 Linux 操作系统来说,GRUB(GRand Unified Bootloader,统一启动加载器)是使用最为广泛的多系统引导器程序。系统控制权传递给 GRUB 以后,将会显示启动菜单给用户选择,并根据所选项加载 Linux 内核文件,然后将系统控制权转交给内核。 (CentOS 7 采用的是 GRUB2 启动引导器)。
4.加载内核
Linux 内核是一个预先编译好的特殊二进制文件,介于各种硬件资源与系统程序之间,负责资源分配与调度。内核接过系统控制权以后,将完全掌控整个 Linux 操作系统的运行过 程。
5.init 进程初始化
为了完成进一步的系统引导过程,Linux 内核首先将系统中的“/sbin/init”程序加载到内存中运行,init 进程负责完成一系列的系统初始化过程,最后等待用户进行登录。

二、init 进程

Linux 操作系统中的进程使用数字进行标记,每个进程的身份标记号称为 PID。在引导Linux 操作系统的过程中,“/sbin/init”是内核第一个加载的程序,因此 init 进程对应的PID 号总是为 1。

三、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的单元类型。
CentOS 7引导过程与服务控制(一)
早期 Linux 操作系统中的 SysVinit 机制,默认包括七种不同的服务搭配方式,为了向下兼容 SysVinit 系统,Systemd 使用了相应的 target(目标)模拟了 SysVinit 的运行级别,如图。
CentOS 7引导过程与服务控制(一)

四、排除系统启动故障

1、修复MBR扇区故障
MBR 位于物理硬盘的第一个扇区(512 字节),该扇区又称为主引导扇区,除了包含系统引导程序的部分数据外,还包含整个硬盘的分区表记录。当主引导扇区发生故障时,将可能无法加载系统,通过该硬盘引导主机时很可能进入黑屏状态。
扇区故障实验:
(1)首先我们添加一块硬盘,然后(1)执行“fdisk /dev/sdb”命令将硬盘分区。
CentOS 7引导过程与服务控制(一)
(2)执行“mkfs.xfs /dev/sdb1”命令对硬盘分区进行格式化。
CentOS 7引导过程与服务控制(一)
(3)执行“mkdir /data”命令创建目录作为挂载点,再执行“mount /dev/sdb1 /data”将硬盘设备挂载到目录上。
CentOS 7引导过程与服务控制(一)
(4)执行“dd if=/dev/sda of=/data/sda.mbr.bak bs=512 count=1”命令将主硬盘的第一扇区的内容备份到“/data”目录中。
CentOS 7引导过程与服务控制(一)
(5)执行“dd if=/dev/zero of=/dev/sda bs=512 count=1”命令来模拟主分区故障。
CentOS 7引导过程与服务控制(一)
(6)执行“init 6”命令重启来看一下,显示无法找到系统。
CentOS 7引导过程与服务控制(一)
(7)我们重启设备,在加载读条的时候及时按下Esc键进入“Boot Menu”界面,并将系统镜像放入驱动中然后使用方向键选择“CD-ROM Drive”选项进入驱动引导。
CentOS 7引导过程与服务控制(一)
(8)在向导界面使用方向键选择“Troubleshooting”进入故障修复页面,再选择“Rescue a CentOS Linux system”选项,将以“救援模式”引导 Linux 操作系统。
CentOS 7引导过程与服务控制(一)
CentOS 7引导过程与服务控制(一)
(9)然后选择 “1”确认并按 Enter 键继续,接下来会出现字符界面。
CentOS 7引导过程与服务控制(一)
(10)按 Enter 键后将进入Bash Shell 环境。
CentOS 7引导过程与服务控制(一)
(11)执行“mkdir /bak”命令创建目录,并执行“mount /dev/sdb1 /bak”命令将硬盘设备挂载到该目录上。
CentOS 7引导过程与服务控制(一)
(12)执行“dd if=/bak/sda.mbr.bak of=/dev/sda”命令将备份的主扇区内容放入到主扇区里。
CentOS 7引导过程与服务控制(一)
(13)最后执行“reboot”命令重启设备即可。
CentOS 7引导过程与服务控制(一)
2、GRUB引导故障
GRUB 是大多数 Linux 操作系统默认使用的引导程序,可以通过启动菜单的方式选择进入不同的操作系统。
故障模拟实验:
(1)执行“cd /boot/”命令再执行“ls”命令可以看到“grub2”目录。
CentOS 7引导过程与服务控制(一)
(2)执行“cd grub2”命令再执行“ls”命令可以看到“grub.cfg”配置文件(CentOS 7 采用的是 GRUB2 启动引导器)。 。
CentOS 7引导过程与服务控制(一)
(3)执行“rm -rf grub.cfg”删除掉配置文件,然后执行“init 6”命令重启设备。
CentOS 7引导过程与服务控制(一)
(4)重启可以发现系统让我们手写启动菜单界面。
CentOS 7引导过程与服务控制(一)
(5)重启设备并导入镜像到驱动中,在加载读条时及时按下Esc键进入“Boot Menu”界面。使用方向键选择“CD-ROM Drive”选项进入驱动引导。
CentOS 7引导过程与服务控制(一)
(6)在向导界面使用方向键选择“Troubleshooting”进入故障修复页面,再选择“Rescue a CentOS Linux system”选项,将以“救援模式”引导 Linux 操作系统。
CentOS 7引导过程与服务控制(一)
CentOS 7引导过程与服务控制(一)
(7)然后选择 “1”确认并按 Enter 键继续,接下来会出现字符界面。
CentOS 7引导过程与服务控制(一)
(8)按 Enter 键后将进入Bash Shell 环境。
CentOS 7引导过程与服务控制(一)
(9)执行“chroot /mnt/sysimage/”命令加载系统镜像,再执行“grub2-install /dev/sda”命令重新建立加载sda分区。
CentOS 7引导过程与服务控制(一)
(10)执行“grub2-mkconfig -o /boot/grub2/grub.cfg”命令选择构建grub菜单配置文件。
CentOS 7引导过程与服务控制(一)
(11)执行“exit”命令退出bash环境,再执行“reboot”命令重启即可。
CentOS 7引导过程与服务控制(一)

五、重置root用户密码

当忘记 root 用户的密码时,将无法登录 Linux 操作系统执行管理、维护等任务,而只能通过其他用户(普通用户)登录使用一些受限制的功能。当然,如果操作系统中还有其他具有 root 权限的用户(uid 为 0),或者拥有修改 root 账号密码权限的用户,也可以使用这些用户登录操作系统,然后重新设置 root 用户的密码。
模拟实验:
1、将镜像放入驱动并重启设备。
CentOS 7引导过程与服务控制(一)
2、在加载读条时及时按下Esc键进入“Boot Menu”界面。使用方向键选择“CD-ROM Drive”选项进入驱动引导。
CentOS 7引导过程与服务控制(一)
3、在向导界面使用方向键选择“Troubleshooting”进入故障修复页面,再选择“Rescue a CentOS Linux system”选项,将以“救援模式”引导 Linux 操作系统。
CentOS 7引导过程与服务控制(一)
CentOS 7引导过程与服务控制(一)
4、然后选择 “1”确认并按 Enter 键继续,接下来会出现字符界面。
CentOS 7引导过程与服务控制(一)
5、按 Enter 键后将进入Bash Shell 环境。
CentOS 7引导过程与服务控制(一)
6、执行“chroot /mnt/sysimage/”命令加载系统镜像, 在执行“passwd root”命令即可重置。
CentOS 7引导过程与服务控制(一)

下一篇幅我们将学习CentOS 7 的服务控制与优化启动过程。尽请期待,谢谢!

标签:引导,服务,操作系统,CentOS,扇区,命令,Linux,执行
来源: https://blog.51cto.com/14449521/2432149

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有