背景信息

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

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

数据恢复方法

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

通过fdisk恢复分区

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

linux恢复sybase数据库 linux数据恢复教程_数据盘

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

通过testdisk恢复分区

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

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

    linux恢复sybase数据库 linux数据恢复教程_x系统_02

  2. 选择分区表类型进行扫描:一般选择Intel(默认)。如果您的数据盘采用GPT分区,选择EFI GPT。

    linux恢复sybase数据库 linux数据恢复教程_linux恢复sybase数据库_03

  3. 选择Analyse后按回车键。

    linux恢复sybase数据库 linux数据恢复教程_回车键_04

  4. 如果您没有看到任何分区信息,选择Quick Search后按回车键快速搜索。

    linux恢复sybase数据库 linux数据恢复教程_x系统_05

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

    linux恢复sybase数据库 linux数据恢复教程_x系统_06

  5. 选中分区后,按回车键。
  6. 选择Write保存分区。

    说明 如果不是您需要的分区,可以选择Deeper Search继续搜索。

    linux恢复sybase数据库 linux数据恢复教程_x系统_07

  7. 按Y键确认保存分区。

    linux恢复sybase数据库 linux数据恢复教程_回车键_08

  8. 运行partprobe /dev/xvdb(根据实际情况替换设备名)手动刷新分区表。
  9. 重新挂载分区,查看数据盘里的数据情况。

    linux恢复sybase数据库 linux数据恢复教程_linux恢复sybase数据库_09

通过testdisk直接恢复数据

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

  1. 用testdisk扫描出磁盘分区。具体操作,请参见通过testdisk恢复分区的第1步到第4步。
  2. 按P键列出文件。 返回结果如下图。

    linux恢复sybase数据库 linux数据恢复教程_数据盘_10

  3. 选中要恢复的文件,再按C键。
  4. 选择目标目录。本示例中以恢复到/home为例。

    linux恢复sybase数据库 linux数据恢复教程_回车键_11

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

    linux恢复sybase数据库 linux数据恢复教程_数据盘_12

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

    linux恢复sybase数据库 linux数据恢复教程_回车键_13