(System rescue)系统拯救or系统恢复

本文详细介绍了Linux系统恢复的过程,包括忘记root密码、硬盘分区表破坏、引导文件缺失、内核文件丢失等常见问题的解决方法。涉及到MBR恢复、GRUB修复、系统引导文件及内核的重建,以及如何处理系统/boot分区损坏的情况。
摘要由CSDN通过智能技术生成

今天为什么会有系统恢复这样一个专题呢?因为一不小心,系统坏掉了,至于怎么坏的,或者哪部分坏了,谁知道呢。。

在介绍 Linux 灾难恢复方法之前,我们先来了解下 MBR,其全称为 Master Boot Record,即硬盘的主引导记录。它由三个部分组成,主引导程序、硬盘分区表和硬盘有效标志。在总共 512 字节的主引导扇区里主引导程序(Bootloader)占 446 个字节,第二部分是硬盘分区表,占 64 个字节,硬盘有多少分区以及每一分区的大小都记录在其中。第三部分是硬盘有效标志,占 2 个字节。还是看图清楚一点,虽然是盗的图
这里写图片描述

Linux 灾难恢复开始了

1. root用户密码忘了怎么办(也算是灾难吧)?

如果出现这种情况不知道怎么办那么看官请看我的这篇博客 Linux如何找回或者重置root用户密码

如果问题再严重一点,分区表没了或者系统硬盘分区表破坏,或者内核被删、或者系统引导文件没了、或者系统 GRUB 损坏、系统镜像文件丢失、又或者系统 /boot 分区损坏等等等不知道的情况,怎么办呢?看官请接着往下看 :

2. 系统硬盘分区表破坏怎么办?

生产环境中的 Linux 服务器可能会因为病毒或者意外断电而引起硬盘分区表被破坏,通常恢复硬盘分区表需要之前我们先备份其分区表的信息,一般我们使用 USB 外接设备来备份主机硬盘的分区表。

在主机上挂载 USB 设备后我们查看系统当前磁盘设备 :

 [root@localhost ~]# fdisk -l 

现在我们在 sdb 这个设备上创建一个新的分区 vdb1:

 [root@localhost ~]# fdisk /dev/vdb 

如何创建新分区看官请看Linux磁盘分区fdisk命令用法

在新分区 vdb1 上创建文件系统(各系统文件系统有差,不要完全照搬):

 [root@FCoE ~]# mkfs.xfs /dev/vdb1 

挂载新的文件系统:

 [root@localhost ~]# mount /dev/vdb1 /mnt/ 

通常我们通过备份硬盘的 MBR 来备份硬盘分区表:

 [root@localhost~]# dd if=/dev/vda of=/mnt/vda.mbr bs=512 count=1 
 1+0 records in 
 1+0 records out 
 512 bytes (512 B) copied, 0.000777948 s, 658 kB/s 

我们可以在虚拟机中通过以下命令模拟分区表被破坏的结果(先备份分区表!!!):

 [root@localhost ~]# dd if=/dev/zero of=/dev/vda bs=1 count=64 skip=446 seek=446 
 64+0 records in 
 64+0 records out 
 64 bytes (64 B) copied, 0.00160668 s, 39.8 kB/s 

查询硬盘 vda 上的分区信息,发现其已不包含任何分区:

[root@localhost ~]# fdisk -l 

当主机硬盘分区表丢失了之后,再次启动后 GRUB 会因找不到配置文件而进入命令行模式

3.分区表丢失怎么办?

接下来我们挂载 RHEL7.2 的安装盘,选择 CD-ROM 为第一引导设备,各步骤如下(虚拟机中),然后重启主机,一步步接下来:

选择或者添加CD-ROM引导和镜像
这里写图片描述

选择 CD-ROM 为第一引导设备

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值