Linux迷+Python粉 - ntfshttps://blog.pythonwood.com/2017-11-30T22:12:00+08:00【实习记】2014-09-26linux下恢复ntfs分区误删的文件2014-09-26T15:07:00+08:002017-11-30T22:12:00+08:00pythonwoodtag:blog.pythonwood.com,2014-09-26:/2014/09/【实习记】2014-09-26linux下恢复ntfs分区误删的文件/<h3 id="_1">忧伤的背景<a class="headerlink" href="#_1" title="Permanent link">&para;</a></h3> <p>情景,ubuntu下把<span class="caps">NTFS</span>格式的盘中的“实习记”文件夹彻底删除了,追毁莫及,粗心觉不是一件好的事情。</p> <p>linux下回复ntfs盘下的文件不能用ext3grep,而使用debugfs命令实在很原始。</p> <p>万幸所有记录文件的文件名都是:【实习记】2014-0****.txt</p> <p>最后使用ntfsundelete + chown + chmod + sed 完美恢复刚才删除是所以 …</p><h3 id="_1">忧伤的背景<a class="headerlink" href="#_1" title="Permanent link">&para;</a></h3> <p>情景,ubuntu下把<span class="caps">NTFS</span>格式的盘中的“实习记”文件夹彻底删除了,追毁莫及,粗心觉不是一件好的事情。</p> <p>linux下回复ntfs盘下的文件不能用ext3grep,而使用debugfs命令实在很原始。</p> <p>万幸所有记录文件的文件名都是:【实习记】2014-0****.txt</p> <p>最后使用ntfsundelete + chown + chmod + sed 完美恢复刚才删除是所以<span class="caps">TXT</span>文件。</p> <h4 id="0">0、<a class="headerlink" href="#0" title="Permanent link">&para;</a></h4> <p>sudo umount&nbsp;该ntfs盘</p> <h4 id="1">1、<a class="headerlink" href="#1" title="Permanent link">&para;</a></h4> <div class="highlight"><pre><span></span>sudo apt-get install ntfs-3g </pre></div> <p>直接安装ntfsundelete是不行的,它被包含于ntfs-3g中,也包含于ntfsprogs(源中已弃用此包)</p> <h4 id="2">2、<a class="headerlink" href="#2" title="Permanent link">&para;</a></h4> <div class="highlight"><pre><span></span>sudo ntfsundelete /dev/sda3 -f -t 3m | grep 实习记 | awk &#39;{print $1}&#39; &gt; ntfsundelete.txt </pre></div> <p>获取所有要恢复的文件的inode值,然后使用vi编辑使inode组成&rdquo;881,2341,234,&hellip;&rdquo;文本。</p> <p>3m表示3个月以内生成并删除的,而不3个月内删除的意思。</p> <h4 id="3">3、<a class="headerlink" href="#3" title="Permanent link">&para;</a></h4> <div class="highlight"><pre><span></span>sudo ntfsundelete /dev/sda3 -d /home/wilson/tmp/ -u -i 881,2341,234,.... </pre></div> <p>恢复inode为881,2341,234等的文件。</p> <h4 id="5">5、<a class="headerlink" href="#5" title="Permanent link">&para;</a></h4> <div class="highlight"><pre><span></span>cd /home/wilson/tmp chown wilson:wilson * chmod a+r * for fn in *.txt; do sed -i &#39;s/\x00//g&#39; $fn; done; </pre></div> <p>恢复后文件属主为root,权限为600,&nbsp;需修复。</p> <p>恢复后的文件一般末尾有多余的\x00,使用sed也可以替换,一开始没想到。</p> <h4 id="6">6、<a class="headerlink" href="#6" title="Permanent link">&para;</a></h4> <div class="highlight"><pre><span></span>#done, enjoy it! </pre></div> <p>到恢复文件的位置去吧</p> <h3 id="_2">参考<a class="headerlink" href="#_2" title="Permanent link">&para;</a></h3> <p>[教学]在Ubuntu中恢复<span class="caps">NTFS</span>分区中被ubuntu误删除的文件(windows软件无法恢复的ubuntu中能恢复!&nbsp;http://forum.ubuntu.org.cn/viewtopic.php?t=158497</p> <p>Linux下恢复ntfs格式的盘上的误删文件&nbsp;http://nyc1991.blog.51cto.com/6424159/1216592</p> <p>Linux文件误删除恢复操作&nbsp;http://jingyan.baidu.com/article/2f9b480d6c2bcd41cb6cc223.html</p>