图文操作Linux系统之排除启动类故障

目录

1、Linux系统的引导过程:

2、Linux系统有7个运行级别(runlevel):

3、系统初始化进程:

4、Systemd单元类型:

 5、修复MBR扇区实验:

 6、修复GRUB 引导故障实验:

7、系统服务控制:

8、优化启动过程:

总结:


1、Linux系统的引导过程:

开机自检(BIOS)-->MBR引导-->GRUB菜单-->加载内核(kernel)-->init初始化

(1)BIOS:是一组固化到计算机内主板上一个ROM芯片上的程序,它保存着计算机最重要的基本输入输出的程序、开机后自检程序和系统自启动程序,它可从CMOS中读写系统设置的具体信息。

其主要功能是为计算机提供最底层的、最直接的硬件设置和控制。此外,BIOS还向作业系统提供一些系统参数。

(2)主引导记录(MBR)位于硬盘的第一物理扇区,是计算机开机以后访问硬盘时所必须要读取的第一个扇区;

由于历史原因,硬盘的一个扇区大小是512字节,包含最多446字节的启动代码、4个硬盘分区表项(每个表项16字节,共64字节)、2个签名字节(0x55,0xAA)。

(3)GRUB(统一启动加载器)是使用最为广泛的多系统引导器程序;CentOS 7 采用的是 GRUB2 启动引导器。

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

(4)Linux 内核是一个预先编译好的特殊二进制文件,介于各种硬件资源与系统程序之间,负责资源分配与调度。

在 CentOS 系统中,默认的内核文件位于“/boot/vmlinuz-3.10.0-514.el7.x86_64”;

(5)init 进程是系统所有进程的起点,你可以把它比拟成系统所有进程的老祖宗,没有这个进程,系统中任何进程都不会启动。init 程序首先是需要读取配置文件 /etc/inittab。

进程(process):一段程序的执行过程;

运维的作用:保证服务正常运行,整合和优化资源;


2、Linux系统有7个运行级别(runlevel):

运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动;

运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆;

运行级别2:多用户状态(没有NFS);

运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式;

运行级别4:系统未使用,保留;

运行级别5:X11控制台,登陆后进入图形GUI模式;

运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动;


3、系统初始化进程:

Init进程:(centOS6用init进程)

●由Linux内核加载运行/sbin/init程序;

●init进程是系统中第一个进程;

●init进程的PID (进程标记)号永远为1;

Systemd:(centOS7用systemd进程)

●Systemd是Linux操作系统的一种init软件;

●CentOS7中采用全新的Systemd启动方式,取代传统的SysVinit;

●CentOS7中运行的第一个init进程 是/lib/systemd/systemd;


4、Systemd单元类型:

 5、修复MBR扇区实验:

(1)故障原因

●病毒、木马等造成的破坏

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

(2)故障现象

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

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

(3)解决思路

●应提前作好备份文件

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

●从备份文件中恢复

实验操作:

(1)将selinux 关闭:# setenforce 0

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

# fdisk  /dev/sdb    //创建/dev/sdb1分区
# mkdir  /data   //创建挂载点
# mkfs.xfs /dev/sdb1   //格式化分区
# mount /dev/sdb1 /data/        //挂载/dev/sdb1到/data目录下
# dd if=/dev/sda of=/data/tp.bak bs=512 count=1
复制  if=你要复制的文件  of=复制后的存放位置  bs=复制的大小  count=复制的次数
[root@localhost ~]# hexdump -C -n 512 /dev/sda    //查看硬盘sda的前512个字节

(3)模拟破坏MBR引导扇区:

dd if=/dev/zero of=/dev/sda bs=512 count=1
hexdump -C -n 512 /dev/sda    //查看硬盘sda的前512个字节
# init 6   //重启设备

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

当出现安装向导界面时,选择"Troubleshooting"选项,再选择"Rescue a CentOS Linux system"选项,进入急救模式;

 选择“1"选择Continue并按Enter 键继续
再次按Enter 键后将进入带“sh-4.2#"提示符的Bash Shell环境
sh-4.2# mkdir /data   //创建挂载点
sh-4.2# mount /dev/sdb1 /data     //挂载带有备份文件的分区
sh-4.2# ls /data   //查看挂载文件
sh-4.2# dd if=/data/tp.bak of=/dev/sda    //恢复MBR中512个字节引导文件
sh-4.2# exit   //执行exit命令退出临时Shell环境,系统将会自动重启

 

 (5)重启之后就能再次进入到登入界面了,代表修复成功;

 6、修复GRUB 引导故障实验:

(1)故障原因

●MBR中的GRUB弓导程序遭到破坏

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

(2)故障现象

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

(3)解决思路

●尝试手动输入引导命令

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

●向MBR扇区中重建grub程序

 (1)我们这里采用向MBR扇区中重建grub程序的方法,因为方法二的做法跟上面修复MBR故障用的方法是类似的,所以我们这里采用第三种方式;

将selinux 关闭:# setenforce 0     //这个要关闭,以免带来不必要的麻烦;

(2)故障模拟,我们移走或删除/boot/grub2/grub.cfg这个文件,但这里不建议删除,推荐移走,以免数据的丢失;

mv /boot/grub2/grub.cfg /opt    或    rm -rf /boot/grub2/grub.cfg

 (3)重启后进入电脑固件模式,将CD-ROM光驱调为第一项;

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

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
退出chroot环境,并重启
bash-4.2# exit
sh-4.2# reboot

 (5)重启后还要进入固件模式,将硬件驱动Hard-Drvie调至第一项,用于启动;

7、系统服务控制:

(1)系统服务控制

systemctl    控制类型服务名称

(2)控制类型

●start:启动

●stop:停止

●restart:重新启动

●reload:重新加载

●status:查看服务状态 

 chkconfig工具:
格式: chkconfig --list  [服务名称]
chkconfig --add  服务名称
chkconfig --level  级别列表服务名 on/off
chkconfig --add httpd
chkconfig --level 35 httpd on

查看系统默认的运行级别
systemctl get -default


8、优化启动过程:

(1)ntsysv工具
●提供一个交互式、可视化窗口
●可以在字符终端运行
●便于集中管理多个服务

 (2)systemctl工具:

不提供交互式、可视化窗口;

管理单个服务效率高;

 ##查看所有开机自启动的服务器
 systemctl list-unit-files |grep enabled


总结:

(1)Linux操作系统的引导过程:

开机自检(BIOS)-->MBR引导-->GRUB菜单-->加载内核(kernel)-->init初始化

(2)排除启动类故障:如MBR故障,GRUB故障,忘记root密码等;

(3)服务控制及切换运行级别:init和systemctl;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值