忧伤的背景¶
情景,ubuntu下把NTFS格式的盘中的“实习记”文件夹彻底删除了,追毁莫及,粗心觉不是一件好的事情。
linux下回复ntfs盘下的文件不能用ext3grep,而使用debugfs命令实在很原始。
万幸所有记录文件的文件名都是:【实习记】2014-0****.txt
最后使用ntfsundelete + chown + chmod + sed 完美恢复刚才删除是所以TXT文件。
0、¶
sudo umount 该ntfs盘
1、¶
sudo apt-get install ntfs-3g
直接安装ntfsundelete是不行的,它被包含于ntfs-3g中,也包含于ntfsprogs(源中已弃用此包)
2、¶
sudo ntfsundelete /dev/sda3 -f -t 3m | grep 实习记 | awk '{print $1}' > ntfsundelete.txt
获取所有要恢复的文件的inode值,然后使用vi编辑使inode组成”881,2341,234,…”文本。
3m表示3个月以内生成并删除的,而不3个月内删除的意思。
3、¶
sudo ntfsundelete /dev/sda3 -d /home/wilson/tmp/ -u -i 881,2341,234,....
恢复inode为881,2341,234等的文件。
5、¶
cd /home/wilson/tmp
chown wilson:wilson *
chmod a+r *
for fn in *.txt; do sed -i 's/\x00//g' $fn; done;
恢复后文件属主为root,权限为600, 需修复。
恢复后的文件一般末尾有多余的\x00,使用sed也可以替换,一开始没想到。
6、¶
#done, enjoy it!
到恢复文件的位置去吧
参考¶
[教学]在Ubuntu中恢复NTFS分区中被ubuntu误删除的文件(windows软件无法恢复的ubuntu中能恢复! http://forum.ubuntu.org.cn/viewtopic.php?t=158497
Linux下恢复ntfs格式的盘上的误删文件 http://nyc1991.blog.51cto.com/6424159/1216592
Linux文件误删除恢复操作 http://jingyan.baidu.com/article/2f9b480d6c2bcd41cb6cc223.html
原文出自Pythonwood发表的https://blog.pythonwood.com/2014/09/【实习记】2014-09-26linux下恢复ntfs分区误删的文件/
扩展阅读
- 神奇的环境bug导致python3中出现udc开头字符串
- 树莓派SD卡Linux系统盘复制,10分钟克隆新机,raspbain备份恢复
- 笔记本系统转换Linux一个半月——xubuntu14.04截图纪念里程碑