在修复数据前,您必须先对分区丢失的数据盘创建快照,在快照创建完成后再尝试修复。如果在修复过程中出现问题,您可以通过快照回滚将数据盘还原到修复之前的状态。

前提条件

在修复数据前,您必须先对分区丢失的数据盘创建快照,在快照创建完成后再尝试修复。如果在修复过程中出现问题,您可以通过快照回滚将数据盘还原到修复之前的状态。

工具说明

在Linux实例里,您可以选择以下任一种工具修复磁盘分区并恢复数据:

  • fdisk:Linux系统默认安装的分区工具。
  • testdisk:主要用恢复Linux系统的磁盘分区或者数据。Linux系统默认不安装,您需要自行安装这个软件,比如,在CentOS系统里,您可以运行 yum install -y testdisk 在线安装。
  • partprobe:Linux系统默认安装的工具。主要用于不重启系统时让kernel重新读取分区。

Linux系统下数据盘分区丢失和数据恢复处理办法

在Linux实例里,您重启系统后,可能会出现数据盘分区丢失或者数据丢失的问题。这可能是因为您未在 etc/fstab 文件里设置自动挂载。此时,您可以先手动挂载数据盘分区。如果手动挂载时报分区表丢失,您可以通过如下三种办法尝试进行处理:通过fdisk恢复分区通过testdisk恢复分区 或者 通过testdisk直接恢复数据

    • 通过fdisk恢复分区

      对数据盘分区时,分区磁盘的起止扇区一般使用默认的值,所以可以先尝试直接使用 fdisk 新建分区进行恢复。具体操作,请参考 Linux 格式化和挂载数据盘

      如果上述操作无效,您可以使用 testdisk 工具尝试修复。

    • 通过 testdisk 恢复分区

      这里假设云盘的设备名为 /dev/xvdb。按以下步骤使用 testdisk 恢复分区:

      1. 运行 testdisk /dev/xvdb(根据实际情况替换设备名),再选择 Proceed(默认值)后按回车键。

      2. 选择分区表类型进行扫描:一般选择 Intel(默认)。如果您的数据盘采用GPT分区,选择 EFI GPT
      3. 选择 Analyse 后按回车键。
      4. 如果您没有看到没有任何分区信息,选择 Quick Search 后按回车键快速搜索。

        在返回结果中会显示分区信息,如下图所示。

      5. 选中分区后,按回车键。
      6. 选择 Write 保存分区。
         
        说明 如果不是您需要的分区,可以选择 Deeper Search 继续搜索。
      7. 按 Y 键确认保存分区。
      8. 运行 partprobe /dev/xvdb(根据实际情况替换设备名)手动刷新分区表。
      9. 重新挂载分区,查看数据盘里的数据情况。
    • 通过testdisk直接恢复数据

      在某些情况下,您可以用testdisk扫描出磁盘分区,但是无法保存分区,此时,您可以尝试直接恢复文件。具体操作步骤如下所示:

      1. 按 通过testdisk恢复分区 的第1步到第4步描述找到分区。
      2. 按 P 键列出文件。 返回结果如下图。
      3. 选中要恢复的文件,再按 C 键。
      4. 选择目标目录。本示例中以恢复到 /home 为例。

        如果您看到 Copy done! 1 ok, 0 failed 说明复制成功。如下图所示。

      5. 切换到 /home 目录查看。如果您能看到文件,说明文件恢复成功。

Linux系统下常见的数据盘分区丢失的问题以及对应的处理方法的更多相关文章

  1. Linux 系统挂载阿里云数据盘

    适用系统:Linux(Redhat , CentOS,Debian,Ubuntu) *  Linux的云服务器数据盘未做分区和格式化,可以根据以下步骤进行分区以及格式化操作. 下面的操作将会把数据盘划 ...

  2. 【Linux】扩展阿里云数据盘分区和文件系统

    扩容云盘只是扩大存储容量,不会扩容文件系统 一.准备工作 在扩展数据盘扩展分区和文件系统前,请提前完成以下工作. 创建快照以备份数据,防止操作失误导致数据丢失. 通过ECS控制台或者API扩容云盘容量 ...

  3. Linux系统下如何设置IP地址?

    Linux系统下如何设置IP地址?我们可以通过命令设定IP的方法,不过此方法的前提条件是用户需root权限.在linux系统的 /etc/sysconfig/network-script/ifcfg- ...

  4. linux系统下,11款常见远程桌面控制软件(转载)

    远程控制能够给人们带来很多便利,本文介绍了11款常见的Linux系统下的远程桌面控制工具,总有一款能适合您. 一. Grdc 它是一个用GTK+编写的,适用于gnome桌面环境的远程桌面访问软件.看图 ...

  5. linux系统下,11款常见远程桌面控制软件

    linux系统下,11款常见远程桌面控制软件 一. Grdc 它是一个用GTK+编写的,适用于gnome桌面环境的远程桌面访问软件.看图: 常见功能: 1.提供全屏,窗口化的远程控制.支持高分辨率下的 ...

  6. linux数据盘分区以及格式化

    首先切换到root账户下  sudo -i 手动格式化 请根据以下步骤对数据盘进行分区以及格式化,并挂载分区使数据盘可用. 注:执行以下命令时,请注意修改数据盘符,可以使用”fdisk -l”查看盘符 ...

  7. 05 Linux系统下的用户以及用户权限管理(权限管理介绍、用户管理、常见命令介绍)

    这一节我们介绍Linux的用户以及权限管理的前半段,包括:1.权限管理介绍: 2.用户管理: 3.常见命令 权限管理介绍 权限管理: 为了访问计算机资源,我们需要对其进行授权才能访问,根据什么东西来进 ...

  8. rsync Linux系统下的数据镜像备份工具

    rsync是Linux系统下的数据镜像备份工具,从软件的命名上就可以看出来了——remote sync.rsync支持大多数的类Unix系统,无论是Linux.Solaris还是BSD上都经过了良好的 ...

  9. 在Linux系统下制作系统启动盘(Ubuntu Linux)

    在Linux系统下制作系统启动盘有两种方法: 1.用dd命令 2.用Linux自带的图形界面工具 Startup Disk Creator 本教程使用第2种方式,用Linux自带的图形界面工具制作系统 ...

随机推荐

  1. poi解析excel(含有公式)

    /** * Jun 25, 2012 */ import java.io.File; import java.io.FileInputStream; import java.io.IOExceptio ...

  2. Java入门 - 语言基础 - 03.基础语法

    原文地址:http://www.work100.net/training/java-basic-syntax.html 更多教程:光束云 - 免费课程 基础语法 序号 文内章节 视频 1 第一个Jav ...

  3. linux运行tomcat报错SEVERE: Unable to process Jar entry [avassist xxxx.class]

    tomcat的版本过低换成apache-tomcat-7.0.56以上的高版本的就可以了

  4. Sublime Text 3 部分安装过程记录

    概览: Sublime Text 3下载网址 Package Control的安装 Install Package报错(There are no packages availabel for inst ...

  5. Vim学习之路1

    与之前的随笔一样,这个也是记录Vim常用命令以供日后查找所用.对于Vim,简介而又功能强大,学习之后代码书写相当愉快. 1. 保存并退出 :wq 2. 进入标准插入模式退出命令模式 i 3. 退出标准 ...

  6. 团队项目——Alpha1版本

    团队项目-Alpha版本发布1 一.格式描述 这个作业属于哪个课程 https://edu.cnblogs.com/campus/xnsy/GeographicInformationScience/ ...

  7. Python3中的__new__方法以及继承不可变类型类的问题

    最近在学到Python中的__new__方法时被弄懵逼了,一开始实在是很难理解,有很多地方想不通(本人强迫症).最近自己慢慢思索得出了能说服自己的理解: 说__new__方法之前要先提到__init_ ...

  8. mybatis入门案例分析

    mybatis入门案例分析 一.设计模式分析 public class MybatisTest { public static void main(String[] args) throws Exce ...

  9. C++ 对TXT 的串并行读写

    任务说明:有36篇文档,现在要读入,并统计词频,字典长度25,希望能够比较串并行读写操作的时间差距. 串行读入并统计词频 // LoadDocsInUbuntu.cpp // #include < ...

  10. Jquery 替换全部字符

    item.replace('P','')   只会替换第一个'P'字符 item.replace(/P/gm,'') 替换全部'P'字符