磁盘分区误删除后,再没有重启云服务器的情况下,使用 TestDisk 工具恢复分区。

故障复现

  1. 磁盘分区

    faq linux restore partition 1
  2. 删除分区

    faq linux restore partition 2

    如图,当前 /dev/vdc 磁盘只剩下 vdc3 分区,现在按照下面的步骤进行恢复。

操作步骤

使用 TestDisk 工具修复

安装

  • Ubuntu:

    apt-get install testdisk
  • CentOS 6,7

    yum install -y epel-release
    yum install -y testdisk

恢复

  1. 输入需要恢复分区的磁盘,开始修复

    testdisk /dev/vdc
  2. 选择修复磁盘,如下图为 /dev/vdc,选择下面的 Proceed,回车;

    faq linux restore partition 3
  3. 选择分区表类型,这里是 ntel,回车;

    faq linux restore partition 4
  4. 选择 Analyse,回车;

    faq linux restore partition 5
  5. 此时只有第三个分区,选择 Quick Search ,回车。这里可以先选择 Backup 备份,避免操作失误;

    faq linux restore partition 6

    可能会弹出一个确认信息, Continue 回车确认。

  6. TestDisk 分析出磁盘的分区开始块、结束块等信息,选择第一个分区,回车;

    faq linux restore partition 7
  7. 选择 Write 回车,将原有的分区信息再写回到磁盘中;

    faq linux restore partition 8

    之后输入 Y 确认,然后会弹出提示信息,重启生效,回车确认。

  8. Q 或者选择 Quit 退出,`lsblk`命令查看当前磁盘分区信息。

    faq linux restore partition 9

    可以看到被删除的分区都恢复了。