IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 免费拯救你误删的文件(Windows Linux Mac) -> 正文阅读

[系统运维]免费拯救你误删的文件(Windows Linux Mac)

简介

如果你的文件被误删了, 别着急, 做好如下准备:

  • 首先, 不要往被删除文件所在的磁盘分区创建/复制新文件
  • 如果是Windows系统, 那么你基本上可以在回收站里找到
  • 如果是Linux系统, 如果是右击删除的, 也可以到回收站里看看. 但是如果是用 rm 命令删除的, 那么你在回收站里找不到哦, 可以试试本文方法.

简介有点长, 不感兴趣, 可以略过…

今天在使用vscode时,手残点了Discard All Changes 按钮, 在点击该按钮前,还特意复制了一份数据. 然而!!! 点击之后发现: 这几天辛辛苦苦编写的代码和造的数据全都不见了, 连同刚刚复制的副本!!!.

为何副本也会被一起删掉, 都不在一个目录下. 由于很长一段时间没有改过该代码,也没注意哪个文件夹在用Git管理. 仔细查看后发现, 副本与原始数据文件夹在同一个Git目录下, vscode 那个功能是取消自上次git 提交之后的所有的改变, 自然就将副本也删除了. 手残!!! 手残!!! 手残!!!

无奈之下, 只能寻找数据恢复软件, 期望能恢复出来(此处抱有侥幸心里, 实在恢复不出来就只能重写了). 由于是Linux系统, 之前用的Windows上的恢复软件用不了. 也不知道重启进Windows系统再恢复可靠不. 不过还是不愿冒这个险.

于是寻找Linux下的数据恢复软件, 首先试了 extundelete, 结果很抱歉, 报如下错误

Bad magic number in super-block when trying to open filesystem

原来是不支持该分区的格式, 经查证发现是支持Linux下的ext3, ext4 这些. 而我的刚好是 NTFS 格式 (因为当时是在Windows下进行分区, 选择了次格式). 运气好像就是那么差!

无奈之下, 继续寻找, OK, 主角登场.

使用TestDisk恢复数据

首先看下官网介绍, 如TestDisk官网所述, 使用TestDisk可以实现以下功能 (对照翻译了一下):

  • Fix partition table, recover deleted partition (修复分区表, 恢复删除的分区)
  • Recover FAT32 boot sector from its backup (从备份中恢复FAT32引导/启动扇区)
  • Rebuild FAT12/FAT16/FAT32 boot sector (重建FAT12/FAT16/FAT32 引导/启动扇区)
  • Fix FAT tables (修复FAT表)
  • Rebuild NTFS boot sector (重建 NTFS 引导/启动扇区)
  • Recover NTFS boot sector from its backup (从备份中恢复NTFS引导扇区)
  • Fix MFT using MFT mirror (使用MFT镜像修复MFT)
  • Locate ext2/ext3/ext4 Backup SuperBlock (定位 ext2/ext3/ext4 备份 超级块)
  • Undelete files from FAT, exFAT, NTFS and ext2 filesystem (从FAT, exFAT, NTFS and ext2文件系统中恢复删除的文件)
  • Copy files from deleted FAT, exFAT, NTFS and ext2/ext3/ext4 partitions. (从删除的FAT, exFAT, NTFS and ext2/ext3/ext4 分区中复制文件)

`功能好全啊!!! 而且支持多系统, 特别是后两个, 是我现在想要的. 再定睛一看: TestDisk is powerful free data recovery software!, 没错 功能强大的免费数据恢复软件 ! 此处省略1000字.

此外, 如官网所述, 如果testdisk不能恢复文件, 可以用它的 photorec 尝试恢复.

好的, 废话说完了, 下面以: Linux (Ubuntu) 下恢复误删的 NTFS 格式分区下的文件为例说明. 从官网上找到了类似的说明文档 Undelete files from NTFS with TestDisk, 简要列举步骤如下.

  1. 首先, 需要下载并解压软件(如 testdisk-7.2-WIP.linux26-x86_64.tar.bz2) 得到(testdisk-7.2). 注意不要将其放到想恢复的文件所在磁盘分区.

  2. 执行 sudo testdisk-7.2/testdisk_static 启动软件, 如下图所示, 选择创建日志文件
    在这里插入图片描述

  3. 接下来选择被删除文件所在磁盘
    在这里插入图片描述

  4. 择磁盘分区表类型并回车
    在这里插入图片描述

  5. 选择功能并回车, 此处务必选择正确!
    在这里插入图片描述

  6. 进一步选择被删除文件所在分区, 然后选择 undelete 扫描待恢复文件
    在这里插入图片描述

  7. 出现扫描结果, 浏览查看是否有想恢复的文件
    在这里插入图片描述

  8. 根据提示操作选择复制你想恢复的文件
    在这里插入图片描述

  9. 为待拷贝文件选择目的地路径, 此处未截图, 按照提示选择即可. 然后你应该可以在目的路径下看到复制的文件.

  10. 恢复的文件只有管理员能读取, 可以修改其归属于你的用户. Linux下执行 sudo chown -R user 即可, 注意替换 user 为你的用户名.

OK, 至此完毕, 其它功能, 请参阅管阀文档TestDisk.

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-06-01 15:29:48  更:2022-06-01 15:30:36 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/30 1:36:15-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码