博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux系统中的故障修复
阅读量:3935 次
发布时间:2019-05-23

本文共 2143 字,大约阅读时间需要 7 分钟。

bios初始化

对硬件检测

初始化硬件时钟

磁盘引导

mbr=主引导记录=0磁道1扇区446(其中只存放了c盘的位置)

作用: 记录grub2引导文件的位置,找到系统的启动分区

当mbr数据丢失系统会因为找不到启动分区而停止启动

问题模拟方式

fdisk -l 查看系统磁盘所在位置
在这里插入图片描述

系统磁盘/dev/sda

dd if=/dev/zero of=/dev/sda bs=446 count=1 清空系统/dev/sda上的mbr数据
在这里插入图片描述
在这里插入图片描述
恢复方式
进入bios设定为光盘驱动:
在这里插入图片描述
进入挽救模式:
在这里插入图片描述

在这里插入图片描述

注意:挽救模式下的 / 是光盘的 /,硬盘的 / 会被挂载到当前环境光盘/mnt/sysimages上

在这里插入图片描述

chroot /mnt/sysimage

grub2-install /dev/sda 重新安装grub2到系统硬盘上
exit
exit
在这里插入图片描述
完成后挽救成功!

grub2文件引导

rhel8

/boot/grub2/grub.cfg
/boot/loader/entries/xxxxxxxxx.conf
在这里插入图片描述

指定/boot位置

指定系统启动时加载文件成名

模拟问题

rhel8中
rm -fr /boot/loader/entries/xxxxxxxxx.conf
在这里插入图片描述

修复

kerne-install add
内核版本号 内核镜像
kernel-install add ( u n a m e − r ) / l i b / m o d u l e s / (uname -r) /lib/modules/ (unamer)/lib/modules/(uname -r)/vmlinuz

手动引导

set root=‘hd0,msdos1’
linux16 /vmlinuz-3.10.0-957.el7.x86_64 ro root=/dev/sda3
initrd16 /initramfs-4.18.0-80.el8.x86_64.img
boot
在这里插入图片描述
kernel-install add 4.18.0-80.el8.x86_64 /boot/vmlinuz-4.18.0-80.el8.x86_64 重新生成config文件
在这里插入图片描述

内核加载

加载内核作用:

/boot/vmlinuz-$(uname -r)
系统初始化硬件设备
只读挂在/设备

问题模拟

rm -fr /boot/vmlinuz-$(uname -r)
在这里插入图片描述
恢复
拆解内核文安装包并复制内核压缩镜像到/boot

进入到挽救模式

chroot /mnt/sysimage
mount /dev/cdrom /media
cd /media/BaseOS/Packages
cp kernel-core-4.18.0-80.el8.x86_64.rpm /mnt/
cd /mnt
rpm2cpio kernel-core-4.18.0-80.el8.x86_64.rpm | cpio -id
cp /mnt/lib/modules/4.18.0-80.el8.x86_64/vmlinuz /boot/vmlinuz-$(uname -r)
exit
exit
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
引导成功

系统初始化镜像

/boot/initramfs-4.18.0-80.el8.x86_64.img

加载系统时钟
加载selinux
加载系统主机信息
加载/etc/fstab文件中磁盘挂在策略
加载磁盘配额
初始化系统程序开启开机启动服务
开启虚拟控制台
开启图形

问题模拟

rm -fr /boot/initramfs-xxxxx.img
在这里插入图片描述

出现问题

在这里插入图片描述

恢复

进入挽救模式
mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)
在这里插入图片描述

系统启动级别

0 关机

1 单用户
2 无图形网络模式
3 无图形网络模式
4 无图形网络模式
5 有图形网络模式
6 重启

问题出现

systemctl set-default reboot.target 进入无限重启模式
在这里插入图片描述

恢复

在开机选择界面按进入到引导文件编辑模式
在这里插入图片描述

在内核加载选项最后加入启动级别5 按ctrl+x

systemctl set-default graphical.target

在这里插入图片描述

超级用户密码忘记

恢复

在开机选择界面按进入到引导文件编辑模式

在内核加载选项最后删除到ro选项,更改ro---->rw,加入rd.break参数终止系统启动进入单用户模式,ctrl+x启动在这里插入图片描述

chroot /sysroot
echo daddy| passwd --stdin root 将root用户密码改为daddy
touch /.autorelabel 当/.autorelabel文件存在selinux会重新初始化
在这里插入图片描述

终极实验

rm -fr /boot/*

在这里插入图片描述

恢复步骤

grub2-install /dev/sda
grub2-mkconfig > /boot/grub2/grub.cfg
mount /dev/cdrom /media/
cd /media/BaseOS/Packages/
rpm -ivh kernel-core-xxxx.rpm
exit
exit
在这里插入图片描述
在这里插入图片描述

转载地址:http://gaegn.baihongyu.com/

你可能感兴趣的文章
Java中的左移时的负数问题
查看>>
从数组形式创建一棵树(用于leetcode测试)
查看>>
线程进阶:多任务处理(17)——Java中的锁(Unsafe基础)
查看>>
Spring/Boot/Cloud系列知识(1)——开篇
查看>>
线程基础:多任务处理(15)——Fork/Join框架(要点2)
查看>>
线程基础:多任务处理(16)——Fork/Join框架(排序算法性能补充)
查看>>
线程基础:多任务处理(14)——Fork/Join框架(要点1)
查看>>
架构设计:系统存储(13)——MySQL横向拆分与业务透明化(1)
查看>>
架构设计:系统存储(14)——MySQL横向拆分与业务透明化(2)
查看>>
架构设计:系统存储(5)——MySQL数据库性能优化(1)
查看>>
架构设计:系统存储(2)——块存储方案(2)
查看>>
架构设计:系统间通信(45)——阶段性问题记录
查看>>
架构设计:系统间通信(44)——自己动手设计ESB(5)
查看>>
架构设计:系统存储(1)——块存储方案(1)
查看>>
架构设计:系统间通信(42)——自己动手设计ESB(3)
查看>>
在工作时走神的闪光
查看>>
Ajax使用注意事项
查看>>
使用FileChannel下载本地文件及扩展
查看>>
linux文件权限与目录配置问题与解答(整理篇)
查看>>
linux文件与目录管理问题与回答(整理篇)
查看>>