centos 6,7系统常见故障排错及修复方法

96
千纸鹤V
2018.05.13 19:29* 字数 1246

情景一:

centos7上 vmlinuz-3.10.0-693.el7.x86_64 内核文件损坏

1,故障状态


2,修复方法,挂载光盘进入救援模式。


选择:Troubleshootimg ——>Rescue a Centos system——>1 (注意查看光盘挂载路径)

3,开启一个子shell 查看光盘是否挂载(centos6光盘需要手动挂载)找到光盘下的vmlinuz文件复制到根目录下。在利用uname-r生成版本号。


确认新的文件生成后记得要输入sync同步磁盘读写,然后输入exit退出重启,即修复完成。


情景二,

centos6 ,/boot/initramfs-2.6.32-696.el6.x85_64.img   内核文件损坏

一,故障状态

(加载完菜单后续不显示)

二,修复方法

挂载光盘进入救援模式


选择Rescue installed system ——>OK——>OK——NO——continue——OK——OK

1,开启一个子shell

切根到当前系统正在的根目录

使用mkinitrd /boot/initramfs-`uname -r`.img `uname -r`生成该文件(过程比较缓慢,不能终止。生成之后不要忘记sync同步读写磁盘,)exit退出之后重启即修复成功。

情景三,

grub下的1.0阶段被损坏

故障状态:认为系统以无启动功能,硬盘无法加载,直接进入下一级可引导界面

1,修复方法,光盘引导,进入救援模式。


选择Rescue installed system ——>OK——>OK——NO——continue——OK——OK

开启一个子shell (注意查看当前系统根在所在分区)

1,先切根至硬盘目录下,执行grub-install 命令使其生成文件。最后sync同步读写磁盘。退出即修复成功)


2,grub下stage1.5阶段损坏

故障状态 :从此硬盘启动黑屏,在第一行有一个光标,但是无法进入系统,也不会去读取下一个可引导设备


得找到boot分区所存在的位置,下图的位置为第一个硬盘的第一个分区

退出救援模式重启即修复成功


情景四:

误删了整个/boot分区的修复方法及故障状态

grub无法读取配置文件,在开机的时候会默认进入grub的命令行界面


1,修复方法:光盘引导,进入救援模式

选择Rescue installed system ——>OK——>OK——NO——continue——OK——OK

开启子shell

1,我们首先切根至硬盘所在的根,在手动将光盘挂载,光盘挂载后将光盘目录下的vmlinuz文件拷贝至/boot分区下。

2,此时我们看到/boot分区中还只有一个文件,接下来要一个个生成/boot下的文件

  initramfs.ing ·umame-r` 用此命令可以生成丢失的initramfs文件

grub-install  /dev/sda       此命令用于生成grub下的文件夹

3,此时我们可以看到grub里面的文件差不多得修复了,唯独缺少了一个和启动页面相关的grub.conf。文件。(注此文件需要手动建)


4,使用vi创建一个grub.conf文件,格式如下。


保存后面sync同步磁盘读写。退出shell重启修复成功


情景五。

/etc/下fstab文件损坏及故障状态,修复方法

故障状态:因为无法挂载分区,启动故障


1,解决方案,此时因为fstab文件丢失系统会出现以下提示查不到根文件系统



2,使用fdisk -l 命令可以查看哪个分区是根


3,新建文件夹,如果不知道根分区所在位置可以一个一个进行挂载测试


4,将根分区挂载后编辑被损坏的/etc/fstab文件

使用vi /mnt/rootfs/etc/fstab 进行编辑 【注:此处文件系统格式写文件时最好使用blkid命令查看]


重启进入系统,然后再把其他的分区找到,然后写入fatab文件,修复成功。

注意:如果根和boot分区是用的lvm管理的,那么在救援模式下不可以直接使用,得需要使用以下命令激活vg,然后操作就和以上步骤一样了。

vgchange -ay vgname 激活卷组。


情景六,

init程序被误删的故障状态及修复方法

故障状态:内核可以初始化但是无法进入登陆页面,出现一个sh的命令行

修复方法,进入救援模式,安装upstart包,并查看init程序是否重新生成


完结。  个人学习笔记仅供参考。

linux笔记
Web note ad 1