CentOS 系统修复
Centos6 grub损坏恢复操作
说明:
/boot目录中,保存系统内核及开机引导文件,如果文件被删除,将导致系统无法启动,下面是误删/boot文件后的恢复步骤(本实验模拟/boot下的全部文件被删除)
1、删除/boot/下的全部文件
2、重启系统
3、此时开机后会直接进入grub命令行中
因为我们删除了/boot下的全部文件,包括内核和开机引导文件,所以在grub命令行中没办法修复,必须进入救援模式
一:进入救援模式
1、从光盘启动系统
选择Rescue installed system,进入安全模式,回车
2、选择语言类型及键盘布局,保持默认即可,回车
3、询问是否启用网络,选择no,不启用网络(如果需要远程,则选择yes,并配置网络)
4、提示挂载到了/mnt/sysimages目录下
选择Continue,继续进行下一步,提示需切换磁盘根目录到/mnt//sysimages,回车选择OK
5、选择启动shell模式,回车,进入shell模式
二:安装内核及grub引导程序
1、切换磁盘根目录
# choot /mnt/sysimages
2、挂载光盘到/media
# mout /dev/sr0 /media
3、安装kernel软件包
# rpm -ivh /media/Packages/kernel-2.6.32-696.el6.x86_64.rpm --force
注意:安装kernel软件时,会提示软件已经安装,所有我们应该使用--force选项,强制安装
4、切换到/boot目录下,查看文件
# cd /boot ; ls
可以看见,内核文件已经还原,但是还缺少grub引导文件
5、安装grub文件
# grub-install --root-directory=/ /dev/sda
--root-directory <<<指定root目录所在的父目录,即根目录
/dev/sda <<<指定在哪个设备上安装grub,因为我们的boot分区在/dev/sda中,所有安装在/dev/sda上
# ls /boot/grub/
可以看见grub文件已经基本安装完毕,但是还缺少grub.conf,该文件可以从其他的服务器导入或者手动编辑
手动编辑grub.cfg文件:
# vim /boot/grub/grub.conf
说明:root (hd0,0) <<<指的是内核所在的磁盘分区,(hd0,0)表示0号磁盘的第一个分区,即/dev/sda1,(hd0,1)表示第二个分区。
6、exit退出,并重新启动系统
因boot分区损坏而无法启动系统
说明:按上述方法从光盘启动进入救援模式,选择shell模式并切换系统根目录,到此为止此步骤与上述步骤相同
1、判断原因
# df -h
可以看见boot并没有成功挂载
# mount -a
重新尝试挂载/boot分区
分区挂载失败
# lsblk && blkid
可以看见lsblk分区存在,但是无法识别文件系统,所有可以初步判断是文件系统损坏导致boot分区无法挂载
2、修复文件系统
执行命令,修复文件系统
# fsck -y /dev/sda1
查看文件系统是否修复成功
# blkid
可以看见/dev/sda1分区的文件系统已经成功被识别
# mount -a
# df -h
再次重新挂载,并查看分区是否挂载成功
可以看见分区已经成功挂载,boot分区文件系统成功修复,接下来查看boot分区的文件是否完整,如果boot分区的文件出现丢失,则可以按照第一部分的内容重新生成,进行修复。
系统盘MBR损坏修复
进入救援模式,切换系统根目录,进入gurb
grub> root (hd0,0)
grub> setup (hd0)
grub> exit
重启系统
CentOS 7 grub损坏及fstab文件丢失
删除fstab文件和/boot/所有文件
重新启动,进入安全模式
选择1继续,系统会自动读取/etc/fstab文件中的内容,自动挂载分区
此时出现下图报错信息,提示没有任何的Linux分区,那么需要我们手动进行挂载,在此之前,也没办法切换根目录
按回车继续
进入shell之后,先判断分区是标准分区还是LVM逻辑卷
如上图所示,系统盘是基于LVM逻辑卷进行安装的,那么就可以判断一定会有一个基于标准分区的/boot/分区,且boot分区大小一般为200M~1G,则我们大致可以判读sda1是boot分区,sda2里面则是逻辑卷
挂载boot分区,发现里面内容为空,则说明该分区文件已经丢失,重新安装grub和内核文件(可以先尝试修复文件系统,看是否可以恢复)
# vgchange -ay <<<激活逻辑卷
# fdisk -l
可以看到两个逻辑卷,根据名称和大小判断,一个为交换分区,一个为根分区,尝试挂载/dev/mapper/centos-root目录到/mnt
# mount /dev/mapper/centos-root /mnt
# ls /mnt
可以看见上述文件,可以确定是根分区
切换根目录
# chroot /mnt
查看/etc/fstab(应该是不存在或为空)
# vim /etc/fstab <<<写入下面的内容
/dev/mapper/centos-root / xfs defaults 0 0
保存并退出
# exit
# exit
然后重新进入安全模式
可以看到,报错已经消失,分区已经成功挂载。
接下来我们需要按照上面的提示,切换根目录
# chroot /mnt/sysimage
查看boot目录,发现里面内容为空,我们需要重新生成boot目录下的文件
# ls /boot
挂载光盘镜像到/mnt
# mount /dev/sr0 /mnt
重新安装centos内核
# rpm -ivh /mnt/Packages/kernel-3.10.0-327.el7.x86_64.rpm --froce
注:不使用--force选项,会提示内核已经安装,安装不会进行
可以看到内核文件已经生成,但是缺少grub
安装grub
# grub2-install --root-directory / /dev/sda
# ls /boot/grub2
Grub安装完成,但是还缺少grub配置文件,生成grub的配置文件
# grub2-mkconfig -o /boot/grub2/grub.cfg
查看配置文件是否生成,退出,重启系统
# sync
# exit
# exit
现在系统应该可以正常启动了,但是我们在/etc/fstab中只写了挂载根目录的命令,所以接下来还需要找到分区,将分区挂载到对应的目录中,并写入fstab文件
CentOS 系统修复相关推荐
- centos linux引导修复_【Linux 运维】 Centos7.x 系统修复模式
一.linux的运行级别: 运行级别就是来确定系统启动时到底启动那个服务. linux默认有7个运行级别: 0 关机 1 单用户模式,用于系统修复 2 不完全的命令模式,不含NFS服务 3 完全的命令 ...
- bash问题引起的centos系统不能启动
这次遇见一个很棘手的问题,系统启动不起来,在命令模式(单用户模式)下只能看到出错,如图所示 出错的文件在系统中也是存在的,是什么原因呢?最后实在是想不出来了,就刻了ubuntu的启动盘,准备把硬盘里面 ...
- Linux(centos)系统各个目录的作用详解
转自:Linux(centos)系统各个目录的作用详解 现在公司的服务器使用CentOS系统,在网上找到了这篇介绍linux各个目录的文章,觉得十分不错,所以拿来存个档. 整理之后如下: 文件系统的类 ...
- linux centos数据备份,centOS系统的备份与还原
第一章.准备工作 一.镜像备份与还原 U盘一个(※镜像备份通道) 要备份的centos系统 系统镜像备份的目的机器(※centos系统,根据要备份的系统大小,决定目的机器空间大小.备份机器–>镜 ...
- centos光盘修复引导_CentOs7 修复 引导启动
一.修复MBR: MBR(Master Boot Record主引导记录): 硬盘的0柱面.0磁头.1扇区称为主引导扇区.其中446Byte是bootloader,64Byte为Partition t ...
- linux 系统修复模式
系统修复模式 1 单用户模式 Linux 的单用户模式有些类似 Windows 的安全模式, 只启动最少的程序用于系统修复.在单用户模式(运行级别为 1)中,Linux 引导进入根 shell,网络被 ...
- 跟我学,你的服务器安全吗?第一篇----centos系统安全篇
目录 前言 本文主要为centos的系统安全 常规基础操作 服务器使用密钥对登陆,相对密码登录更加安全 配置ECS自动快照策略 linux系统登陆弱口令检查-------系统登陆弱口令 重要软件OPE ...
- centos 硬盘 修复
xfs_repair -n /dev/sdb centos 硬盘 修复 sudo parted -l sudo parted -l [localhost home]$ sudo parted -l M ...
- 安装Linux Centos系统硬盘分区方法
一.硬盘回顾 无论是安装Windows还是Linux操作系统,硬盘分区都是整个系统安装过程中最为棘手的环节.硬盘一般分为IDE硬盘.SCSI硬盘和SATA硬盘三种,在Linux系统中,IDE接口的硬盘 ...
- linux 系统崩溃完全没有操作空间的系统修复
linux 系统崩溃完全没有操作空间的系统修复 1.通过U盘系统启动 2.修复文件系统 https://editor.csdn.net/md/?articleId=106213788 此时硬盘会被挂在 ...
最新文章
- JQ实现导航效果(附效果图)
- python模块datetime将字符串转换为日期
- makefile讲义(1)——makefile基础(概述)
- 甘肃宕昌山货“触网”外销:山民乐衷创业“等客来”
- eclipse更新time out的问题
- JVM从入门到精通(六):JVM调优必备理论知识 - 3种垃圾清除算法,常见的垃圾回收器
- WINCE字体动态加载
- python selenium模拟键盘_SELENIUM自动化模拟键盘快捷键操作实现解析
- 针对IE的CSS hack 全面 实用
- 深度相机---(4)三种方案对比
- php webwxuploadmedia_PHP Web实现文件上传下载功能实例解析
- Java 获取昨天、当前、明天的时间
- @程序员,你的 996,可能是给公司无能的管理背锅
- 我的 Visual C++ 6.0学习网站
- Python 中文变量名 用中文写 Python
- java.exe 0xc000012d_应用程序无法正常启动0xc000012d,此情况要怎么解决,望大神交一交...
- Unity显示FPS帧率
- TIME_WAIT状态(2MSL)的作用
- 合成大西瓜漏洞作弊详解,教你如何生成三个大西瓜
- 讴 mysql 首字母_MYSQL索引