侧边栏壁纸
博主头像
Eoser's page!博主等级

@学习@生活@自己

  • 累计撰写 113 篇文章
  • 累计创建 29 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

Linux记录一次TestDisk恢复数据的流程

eoser
2023-10-20 / 0 评论 / 0 点赞 / 2 阅读 / 4065 字

Linux记录一次TestDisk恢复数据的流程

起因

手抖,输入错误的路径,把资料目录删掉了

讲解设定

目标磁盘:/dev/sdb1

挂载目录:/data

磁盘格式:ntfs

误删除文件夹:/data/myfiles

文件恢复流程

1.查看磁盘信息,找到挂载目录对应的磁盘信息

root@server: df -alh
......
/dev/sdb1       299G   16G  283G    6% /data
......

2.卸载磁盘挂载,防止文件被程序覆写

# 直接卸载大概率不行
root@server: umount /data 
umount : /data:  device is busy
# 查看占用进程
root@server: fuser -av /data/ 
# 杀掉占用磁盘的进程
root@server: fuser -km /data/ 
# 理论上面基本上就搞定了,但是我磁盘的挂载方式有些奇怪,上面的方式还没完全搞定,继续干掉程序,先过滤出占用的进程
root@server: ps -aux | grep /data/
......
# 根据上面的信息,找出需要干掉的进程kill
root@server: kill -9 找到的PID
# 再次卸载磁盘 
root@server: umount /data

3.进入文件要恢复到的位置,testdisk使用磁盘

root@server: cd /root/myfile
root@server /root/myfile: testdisk /dev/sdb1

4.输入上面的命令后会进入一个如下终端界面,当高亮在 Proceed 回车

......
Select a media (use Arrow keys, then press Enter):
>Disk /dev/sdb1 - 320 GB / 298 GiB - JMicron Tech

>[Proceed ]  [  Quit  ]
......

5.进入 None

Disk /dev/sdb1 - 320 GB / 298 GiB - JMicron Tech

Please select the partition table type, press Enter when done.
 [Intel  ] Intel/PC partition
 [EFI GPT] EFI GPT partition map (Mac i386, some x86_64...)
 [Humax  ] Humax partition table
 [Mac    ] Apple partition map (legacy)
>[None   ] Non partitioned media
 [Sun    ] Sun Solaris partition
 [XBox   ] XBox partition
 [Return ] Return to disk selection

5.磁盘格式选择与恢复,我的是Ntfs格式的磁盘,高亮进入Type 可以选择磁盘格式,我这个自动识别OK的,高亮进入 Undelete 开始恢复文件

Disk /dev/sdb1 - 320 GB / 298 GiB - CHS 38909 255 63

     Partition                  Start        End    Size in sectors
>   P NTFS                     0   0  1 38909  27 38  625074824 [Ventoy]


 [  Type  ] >[  Boot  ]  [  List  ]  [Undelete]  [Image Creation]  [  Quit  ]

6.恢复文件,不得不吐槽一下,我网上找了半天资料都没找到恢复文件过滤方法,一大堆文件,只能全恢复了;按下 a 全选,按下C 拷贝文件到目标目录,注意大小写!!!

   P NTFS                     0   0  1 38909  27 38  625074824 [Ventoy]
Deleted files
......                                                                                                              1-Oct-2023 06:37       38763 .auto-changelog                                                                                                                1-Oct-2023 06:37         113 .bin/color-support                                                                                                             1-Oct-2023 06:37          54 .bin/escodegen
......                                                                                                                 Next
Use : to select the current file, a to select/deselect all files,
    C to copy the selected files, c to copy the current file, q to quit

7.开始我们已经进入了目标文件夹,不用选了,直接开始恢复,按下 C,接下来就是漫长的等待时间

Please select a destination where the marked files will be copied.
Keys: Arrow keys to select another directory
      C when the destination is correct
      Q to quit
Directory /root/myfile
>drwxr-x---     0     0      4096 19-Oct-2023 23:20 .
 drwxr-xr-x     0     0      4096 22-Mar-2023 04:13 ..

8.等过一段时间后可以看看目标文件夹下是否已经恢复了需要的文件,已经恢复了就中断恢复,将已经恢复的文件保存好。我让软件恢复后就没管了,差点系统盘被占满!!!

文件恢复的一些想法
  1. 发现文件误删也没那么可怕,恢复其实也没那么难,关键是及时卸载磁盘使用,避免覆写

  2. 如果磁盘中有重要文件,遇到误删这种事情,我觉得最快最有效保留数据的办法就是物理断电,把磁盘拆下来到另外的机器恢复文件

  3. 数据存储不要和系统盘放在一起,影响系统稳定的程序也不要从非系统盘加载数据,这次就是因为我数据盘程序比较纯净,我在不关机不拆盘的情况下才顺利恢复了文件

  4. 数据恢复成本太低了,以后处理存储文件一定要通过覆写软件多次覆写干掉里面的数据再处理,不然里面埋藏的小姐姐要被挖坟了

0

评论区