![402b39b529a1799b2d7d1617578b145c.png](https://i-blog.csdnimg.cn/blog_migrate/34080ead13b6f06ee8aaff95eb48647d.jpeg)
没错, 我整理东西时候 tm 把自己高中三年教科书似得笔记给 Shift-Delete Enter
给都删了. 怪我打字太快咯~ 555 所以说文件备份很重要!
如果你刚刚丢失了你的文件, 停! 不要继续使用此计算机. 马上拔电源强制关机并在另一台电脑上看此攻略. 任何写入磁盘的操作都会导致信息永久丢失!
如果你的系统盘分区和丢失的文件所在分区不同, 请 sudo umount /dev/[所在分区]
后再阅读此文章. 并且务必修改 /etc/fstab
取消开机自动 mount 所在分区. (就把关于分区所在的一行 comment 掉就行. (umount 不成功请用任务管理器强制关闭进程)
然后使用以下命令 mount 成只读分区以免信息被破坏
sudo mount -o ro /dev/[所在分区] [想要mount的地址]
0x01 - 声明[1]
我的硬盘为 HDD, 分区为 /dev/sda1
, ext4
file system. 使用的 Linux distribution 为 Ubuntu 18.04 LTS. 如果硬盘的种类或者 file system 不同, 也许恢复效果会有所不同. 不过大几率都能使用此方法
0x02 - 恢复inode未损坏的文件与目录信息
两种方法都可以尝试:
方法1: extundelete[2][3]
sudo apt install extundelete
sudo extundelete /dev/sda1 --restore-all
之后会把文件存在 RECOVERED_FILES
的文件夹里. 具体存放位置取决于你命令行执行的位置. 推荐使用 --restore-all
是因为一般人不会介意多恢复一点文件已达到万无一失.
方法2: testdisk
sudo apt install testdisk
sudo testdisk /dev/sda1
![1a100e915ca9fee074a3e48eea22d4f8.png](https://i-blog.csdnimg.cn/blog_migrate/868ecbcc931fc32dbc020cc727e51fe6.jpeg)
![6521f7d8c78264c1e01318b8590ccb8a.png](https://i-blog.csdnimg.cn/blog_migrate/595eb7ea01c10073fc064b060323b8b7.jpeg)
![93837cf5e877f6f30f598c65fa6650a2.png](https://i-blog.csdnimg.cn/blog_migrate/006f83cc07c33b3043c6c38fa891d4e6.jpeg)
![5c3aa52d43f74d3103b19daa72ef4cc7.png](https://i-blog.csdnimg.cn/blog_migrate/38eddf19a7d4c2846f0b01783a111383.png)
![922095951f23eda8c86b7f41bbc47af2.png](https://i-blog.csdnimg.cn/blog_migrate/4423d17e6dc4144c650614526adc96ef.jpeg)
![2d02fcf80e988cbde7a0ca22391baeb0.png](https://i-blog.csdnimg.cn/blog_migrate/ca232d114f18df44d708da0ef3b38004.jpeg)
0x03 - 碎片化恢复未加密的信息 (inode 被损坏)
如果上面方法都恢复不了, 那么只能读取磁盘上的 sector 恢复文件了. 此方法会得到碎片化的文件(图片文件和pdf文件等除外)
![d8c3b20cbd833d7836558d3820266f5f.png](https://i-blog.csdnimg.cn/blog_migrate/dbe8402a48bd97377bd122b15a1c8086.jpeg)
sudo apt install testdisk
sudo photorec /dev/sda1
![c8c3b4fc3df4e453d6e0231254879453.png](https://i-blog.csdnimg.cn/blog_migrate/808c3c0d58c4d1edf1daf69a98f1cad2.jpeg)
![bfc45663e304818d21d9e360b37c5edc.png](https://i-blog.csdnimg.cn/blog_migrate/97b7d194c6b3188f8102e23901c12f14.png)
![90a64b897e977ff7cd5dcf7452f052cb.png](https://i-blog.csdnimg.cn/blog_migrate/58d95aa2b5a54f6e3fc0596dd6b43eb4.png)
![c9e3e9a3a1df8367dd4dc76f6e3fa9c2.png](https://i-blog.csdnimg.cn/blog_migrate/c7be58fadef14ee636e4069e08d21f22.png)
![ebd85c9f02b3f6b0279fadc41c11c7ae.png](https://i-blog.csdnimg.cn/blog_migrate/0d5dd9eac6441de769fd2410e7091ca4.jpeg)
![efbdee42f4b2b46254245625fcc57dee.png](https://i-blog.csdnimg.cn/blog_migrate/123acd38979ed5e994b48ccf495d5200.jpeg)
恢复好的文件安装 directory(非文件夹) 分类, 按照 logical sector number 和 dot extension 另名. Linux (by default)没有关于删除 logical sector 的记录所以无法通过日志取回文件名与目录信息. 你只能用文件内容获取文件名[4]
希望能帮助到你. 等我研究出好的备份方法应该会再写一篇文章.
TMD lz 华强北联系了几家都说恢复不了? 就这? 真当普通民众好骗从回收站取出文件都叫数据恢复?? 自己动手丰衣足食.
参考
- ^https://wiki.archlinux.org/index.php/File_recovery_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)
- ^https://superuser.com/a/176976/983976
- ^https://wikinewbie.wordpress.com/2010/08/16/rm-rf-ext4ecryptfs-undelete/
- ^https://www.cgsecurity.org/wiki/After_Using_PhotoRec#Messenger_Log_File