Linux操作系统引导过程和服务控制及启动故障类排查

本文详细介绍了Linux操作系统的引导过程,包括开机自检、MBR引导、GRUB菜单、内核加载和init进程初始化。同时,针对启动类故障,如MBR扇区故障、GRUB引导故障和忘记root密码,提供了详细的排除方法。通过实验步骤,读者可以学习如何修复这些故障,并掌握使用systemd管理服务、hostnamectl、journal日志系统等工具。
摘要由CSDN通过智能技术生成

一、引导过程

Linux操作系统的引导过程一般包括以下几个阶段:开机自检、MBR引导、GRUB菜单、加载Linux内核、init进程初始化。
在这里插入图片描述
1.开机自检
服务器开机后,对CPU、内存、显卡等设备进行检测,检测成功后移交系统控制权,大多数时候移交给硬盘。
2.MBR引导
当从本机硬盘中启动系统时,根据硬盘第一个扇区的中的MBR引导记录,将系统控制权交给含有操作系统的引导文件的分区或调用引导信息调用启动菜单GRUB菜单。
3.GRUB菜单
GRUB是系统引导程序,根据菜单所选项,加载Linux系统内核,将控制权交给Linux系统内核。
4.加载Linux内核
Linux内核是一个预先编译好的特殊的二进制文件,介于各种硬件资源和系统程序之间,负责资源的分配和调度。
5.init进程初始化
Linux内核将系统中的/sbin/init程序加载到内存中去运行,完成一系列系统初始化。

二、排除启动类故障

详细实验见下文的实验部分
1.MBR扇区故障
2.GRUB引导故障
3.遗忘root用户密码

三、服务控制

1.使用systemd管理系统
systemd是一个命令的集合体,包括:systemctl、hostnamectl等
systemctl是管理系统的主要命令
启动、停止服务和查看服务状态
在这里插入图片描述
设置开机自动启动
systemctl enable 服务
systemctl enable httpd
设置服务开机不启动
systemctl disable 服务
systemctl disable httpd
2.hostnamectl用来查看和修改当前主机信息的命令
永久修改主机名
hostnamectl set-hostname 主机名
查看主机名状态
hostnamectl status
3.journal日志系统
输出本次启动后的所有日志信息
journalctl -b
输出固定时间段的日志信息
journalctl --since=”2020-6-18 12:00:00”
4.localectl语言设置
列出当前系统支持的语言
localectl list-locales
localectl set-locale LANG=zh_CN.UTF8设置语言为中文
5.timedatectl时间相关设置
6.loginctl登录系统的用户信息

四、排除启动类故障实验

实验环境

centos 7.6

实验内容及步骤

MBR扇区故障

修复思路:加硬盘做备份;BIOS启动开启光盘引导进入急救模式;从备份数据中恢复。
1.在虚拟机加一块物理硬盘做备份
在这里插入图片描述
2.格式化硬盘,挂载到/opt下
mkfs.ext4 /dev/sdb
mount /dev/sdb /opt
df -Th
在这里插入图片描述
3.备份MBR扇区数据和模拟扇区故障
dd if=/dev/sda of=/opt/sda.mbr.bak bs=512 count=1 //将sda扇区数据备份到新加硬盘的挂载目录下
dd if=/dev/zero of=/dev/sda bs=512 count=1 //覆盖sda扇区记录
在这里插入图片描述
先把虚拟机设备状态的两个√去掉,重启虚拟机
在这里插入图片描述
出现如下界面“Operating System not find”表示MBR引导故障
在这里插入图片描述
4.修复MBR扇区
将刚刚在虚拟机里的去掉的√补上,重启虚拟机,按F2进入BIOS系统,可能不太好进,要试很多次,将CD-ROM Drive移到最上面(选择后用+可以移动),进入光盘引导来修复。
选择Troubleshooting
在这里插入图片描述
选择Rescue a CentOS system
在这里插入图片描述
等待一会儿,敲1,敲回车
在这里插入图片描述
再敲回车,进入到sh-4.2#界面
在这里插入图片描述
mount /dev/sdb /mnt //将备份的数据挂到/mnt目录下
dd if=/mnt/sda.mbr.bak of=/dev/sda count=1 bs=512 //将备份数据导入sda
在这里插入图片描述
reroot 重启,恢复正常
在这里插入图片描述

修复GRUB引导故障

1.破坏文件,模拟故障
cd /boot/grub2
mv grub.cfg grub.cfg.bak //破坏文件
在这里插入图片描述
init 6 重启,出现故障界面“grub>”如下
在这里插入图片描述
2.光盘引导,进入急救模式进行故障修复
再次重启,按F2进入BIOS系统,可能不太好进,要试很多次,将CD-ROM Drive移到最上面(选择后用+可以移动),进入光盘引导。
在这里插入图片描述
保存退出
在这里插入图片描述
选择Troubleshooting
在这里插入图片描述
选择Rescure a CentOS system
在这里插入图片描述
等待一会,输入1,回车
在这里插入图片描述
再次回车,进到sh-4.2#界面
输入
chroot /mnt/sysimage
grub2-install /dev/sda
cd /boot/grub2
ls //查看是否有grub2.cfg文件,没有
继续输入
grub2-mkconfig -o /boot/grub2/grub.cfg
cd /boot/grub2/
ls //查看grub.cfg文件以存在
在这里插入图片描述
重启系统,F2进入BIOS系统,将Hard Drive移到第一,否则还是进入Install centos 7的光盘引导界面
在这里插入图片描述
重启,完成故障排除
在这里插入图片描述

忘记root密码

1.光盘引导进入急救模式
重启,F2进入BIOS系统,将CD-ROM Driver调到最上面,这样就可以调出光盘引导的界面
在这里插入图片描述
保存退出
在这里插入图片描述
Toubleshooting
在这里插入图片描述
Rescure a CentOS system
在这里插入图片描述
等待一会,输入1,回车
在这里插入图片描述
再回车,进入sh-4.2
2.修改密码
输入
chroot /mnt/sysimage
passwd root
输入密码即可
在这里插入图片描述
重新在BIOS系统里把Hard Drive,调到最上面保存退出,即可登录

五、总结

大家在进入BIOS系统时,使用重启虚拟机,点击F2之前把鼠标点进虚拟机,手速要快,这样容易进BIOS系统;在虚拟机和其他快捷键操作时要注意,要把鼠标切出虚拟机,再进行一些如截图之类的快捷键,不然在虚拟机里容易误操作,如果出现失误就得重来。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值