Linux终端镜像数据丢失后的恢复案例

Posted EbowTang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux终端镜像数据丢失后的恢复案例相关的知识,希望对你有一定的参考价值。

问题背景:

在Linux终端上,/vms分区下存放有vhd镜像,由于误操作或者版本BUG等问题,VHD镜像数据被异常删除,本章节描述了如何将已经删除的vhd文件找回

注意:

一旦出现linux终端的镜像数据丢失情况,请暂时不要使用,防止数据在本地被二次擦写而导致已删除数据无法恢复。

具体的操作步骤:

以下描述的磁盘目录和实际的业务有关系,仅供参考

1. 工具下载
zanix_toolkit: http://atmgnd.cn/dl/tools/zanix_toolkit.iso

rufus: https://github.com/pbatard/rufus/releases/download/v3.17/rufus-3.17.exe
上述两工具也可以在下列百度网盘链接下载获取

链接:https://pan.baidu.com/s/1Cm9ZGmHCySxqXYcOa3t3xA ,提取码:jhg5


2. 安装rufus并打开, 刻录zanix_toolkit.iso 到优盘
注意: rufus 格式化选项文件系统处只能选择fat32

3. 使用刚才的U盘启动插入到终端并开机按f12选择从U盘启动, 启动后用户名为root, 密码为z12345

4. 插入一大容量移动硬盘, 并将其挂载成目录, U盘格式需要为ntfs, exfat 或ext4,根据自己的U盘文件系统格式挂载:
ntfs 格式挂载命令为: mount.ntfs-3g /dev/xxx /mnt/usb

exfat 格式挂载命令为: mount -t exfat /dev/xxx /mnt/usb

ext4 格式挂载命令为: mount /dev/xxx /mnt/usb



5. 键入命令blkid 找到 voidata(丢失数据的分区) 所对应的分区设备, 如/dev/sda1

确认voidata对应分区没有处在挂载中, 如有, 则使用umount 命令取消挂载

6. 键入以下命令搜索可恢复文件, 只有age列为100%(如果不是100%,则表示该已删除文件原占有磁盘部分被重新擦写过,数据损坏是必然的)的文件是可恢复的, 同一文件名可能会出现多次,如果有多次删除同一文件的话

 ntfsundelete /dev/sda1 --percent 100

7. 找到想要恢复的文件, 并在上面的输出中找到对应的inode列的值, 键入如下命令恢复, indoes 进行替换相应

ntfsundelete /dev/sda1 --undelete --truncate --inodes 64 --output /mnt/usb/out.bin

8. 如果7中操作成功, 则上述/mnt/usb/out.bin则为恢复出的文件(我们将其自定义命名为了out.bin)

下图是进入最小系统后的一系列关键操作

以上是关于Linux终端镜像数据丢失后的恢复案例的主要内容,如果未能解决你的问题,请参考以下文章

服务器数据恢复Linux操作系统环境下重装系统导致XFS文件系统分区丢失,无法访问的数据恢复案例

服务器数据恢复哪些故障会导致服务器数据丢失?多块硬盘离线导致服务器崩溃的数据恢复案例

数据库数据恢复Sql Server数据库文件丢失的数据恢复案例

Linux/Centos Mondo 一键部署镜像恢复,快速部署

服务器数据恢复案例之xfs数据丢失数据恢复方法

服务器数据恢复服务器迁移数据时数据丢失的数据恢复案例