Linux引导过程与服务控制

Linux操作系统的引导过程

引导过程总览

Linux 操作系统的引导过程一般包括以下几个阶段:开机自检、MBR 引导、GRUB 菜单、加载 Linux 内核、init 进程初始化。

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

排除系统启动类故障

Linux 操作系统的启动过程涉及 MBR(Main Boot Record,主引导记录)、GRUB 启动菜单、系统初始化配置文件等各方面,其中任何一个环节出现故障都可能导致系统启动失常,因此一定要注意做好相关文件的备份工作。

MBR扇区故障

MBR 位于物理硬盘的第一个扇区(512 字节),该扇区又称为主引导扇区(MBR扇区)除了包含系统引导程序的部分数据外,还包含整个硬盘的分区表记录。当主引导扇区发生故障时,将可能无法进入引导菜单,或者因无法找到正确的分区位置而无法加载系统,通过该硬盘引导主机时很可能进入黑屏状态。
1.备份 MBR 扇区数据
由于 MBR 扇区中包含了整个硬盘的分区表记录,因此该扇区的备份文件必须存放到其他的存储设备中,否则在恢复时将无法读取到备份文件。例如,执行以下操作可以将第一块硬盘(sda)的 MBR 扇区备份到第二块硬盘的 sdb1 分区中(挂载到/backup 目录)。

模拟mbr扇区故障

这里仍然使用 dd 命令,人为地将 MBR 扇区的记录覆盖,以便模拟出 MBR 扇区被破坏的故障情况(切记要先做好备份,并且将备份文件存放到其他硬盘)。例如,执行以下操作可以从设备文件 zero 中读取 512 字节的数据,并将其覆盖到第一块硬盘(sda),从而破坏 MBR 扇区中的数据。

从备份文件中恢复mbr扇区数据

由于 MBR 扇区被破坏以后,就无法再从该硬盘启动系统,所以需要使用其他硬盘中的操作系统进行引导,或者直接使用CentOS系统的安装光盘进行引导。不管使用哪种方式,目的都是相同的--获得一个可以执行命令的 Shel 环境,以便从备份文件中恢复 MBR 扇区中的数据。
以使用 CentOS 安装光盘引导为例,当出现安装向导界面时,选择“Troubleshooting选项,如图8.1所示,进入修复故障页面。

再选择“Rescue aCentOS Linux system”选项,如图8.2所示,将以“救援模式”引导Linux操作系统。

grub引导故障

GRUB 是大多数 Linux 操作系统默认使用的引导程序,可以通过启动菜单的方式选择进入不同的操作系统(如果有)。当配置文件/boot/grub2/grub.cfg 丢失,或者关键配置出现错误,或者 MBR 中的引导程序遭到破坏时,Linux 主机启动后可能只出现“grub>"的提示符,无法完成进一步的系统启动过程,

遗忘root用户密码

当忘记 root用户的密码时,将无法登录 Linux操作系统执行管理、维护等任务,而只能通过其他用户(普通用户)登录使用一些受限制的功能。当然,如果操作系统中还有其他具有 root 权限的用户(uid 为0),或者拥有修改root账号密码权限的用户,也可以使用这些用户登录操作系统,然后重新设置root用户的密码。
然而,大多数时候 Linux 主机中具有 root 权限的用户只有一个,因此需要通过其他途径来重设 root账号的密码。最简便的途径是使用 CentOS 的安装光盘进入急救模式。
若使用 CentOS 的安装光盘进入急救模式的 Shel 环境,则只需切换到待修复 Linux 操作系统的根目录环境,直接执行“passwd root"命令重设root 用户的密码即可;或者修改/etc/shadow 文件,将 root用户的密码字段清空,重启后以空密码可登录系统。以下操作即为进入急救模式重设 root 用户密码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值