您现在的位置:电脑故障首页 > 硬盘故障 > 分析:一次误操作引起分区表恢复记 > 正文

分析:一次误操作引起分区表恢复记

电脑故障提供关于分析:一次误操作引起分区表恢复记的解决办法


  今天要做个单分区的RAID0,开始在机器上开始执行(我本机用的是RHEL5,测试环境也是RHEL5,并且分区表的信息差不多)。几步下来,RAID建好了,但系统死活要重启才能生效,使用partprobe刷了多次都不行。算了,那就重启吧。

  当我输入init 6 的时候,我的物理机居然重启了;我才发现原来之前建RAID我是在本机上操作的,理论上是要在虚拟机上操作,但因为是使用SSH连接过去,并且开了好几个终端,误在物理机上操作了,导致以下问题;不禁冷吸一口气,我在建RAID的时候 在物理机上执行了以下操作:

  1、我有6个分区,/dev/sda6空间有151G,其他分区略下,并且这个分区是我在数据的地方。数据大小约为114G,这东西要丢了,我都不知道从哪儿找去.......

  2、使用fdisk /dev/sda ,通过p查看/dev/sda这么大,我就把/dev/sda6给删了,然后重新建立了一个/dev/sda6大小为30G,并将分区格式改为raid

  3、保存退出后,使用partprobe刷新分区表

  4、使用mdadm -C /dev/md0 -l 0 -l 1 /dev/sda6 -f 提示一长串,一下子想不起来了,不过提示跟分区有关,于是我继续刷新了两次分区表,无果。

  5、重启计算机

  重启计算时,我的物理机也重启了,我第一反应是我把自己的物理机的分区给删了,并且改了文件系统格式。计算机启动后,我发现我之前的/dev/sda6里的所有资料都不见了。

  具体现象:

  1、到之前的挂载目录,发现该目录里仍然有之前的文件夹,但进不去,也打不开。

  2、使用df -h 看到/dev/sda6数据大小,没有变。

  解救方法:

  因为我没有把/dev/md0给格式化,所以在分区表里,还能看到/dev/sda6的数据占用大小,所以,我觉得重建分区表,还是可以将分区表恢复回来的。

  解救步骤:

  1、fdisk /dev/sda 删除/dev/sda6的分区,并且新建一个分区(还是/dev/sda6),将其用完剩下的所有的扇区(这个要跟出问题之前是一样的)

  2、文件系统默认为ext3

  3、保存完毕后,使用partprobe 刷新分区表

  4、重新挂载该分区。进入目录,仍然无法打开目录。

  我觉得自己的思路是正确的,但是为何不能打开/dev/sda6里的目录呢。

  于是突然试着想重新启动一次PC试试,启动之后,/dev/sda6里的数据又恢复了。