俺と何某。

底辺プログラマの備忘録/雑記帳/実験場

俺と削除ファイル復元 〜誤って削除したTSファイルをなんとか救出する〜

Windows 7についてくるWindows Media Player 12(以下WMP)は
DLNAサーバとして機能するので、PT2で録画したTSファイルをPlayStation3で視聴する際に使用していました。


先日少しフォルダ構成を変更したので
WMPのライブラリから録画ファイルの入ったフォルダを外したら、
数百GBに及ぶTSファイルがフォルダごと削除されてしまいました。*1

ごみ箱からも削除され、消えてしまったTSファイルをどうにか救出してみたので
そのあたりをまとめておこうかと

TSファイルを復元する上での問題点

  1. 巨大ファイル(4GB超)復元に対応するソフトがない
    ごみ箱から削除されてしまったファイルを復元するだけなら、
    フリーソフトで十分対応できます。
    しかしながら、TSファイルはとにかく巨大*2です。

    現時点で4GBを超えるファイルを復元するソフトは、
    商用/フリーを問わず皆無と言っていい状況

  2. 復元したファイルは、ファイル名が変更されてしまっている
    NTFS(Windows XP/Vista/7の標準ファイルフォーマット)では、
    ごみ箱から削除されたファイルは別の名前に変わる仕様です。

    つまり復元されたTSファイルは元のファイルとは全く別のファイル名になってしまいますので、
    そのファイルの名称を元に戻す作業が必要となります。

4GBまでのTSファイル復元

4GB以下の削除ファイル復元には、フリーソフトの「DataRecovery」を使いました。
シンプルで使いやすいソフトかと。
「DataRecovery」のページは移転いたしました

4GBを超える巨大TSファイルの復元

「PhotoRec」というオープンソースな復元ソフトが
MPEG2-TS形式(.m2ts/.m2t)に対応しているそうなので試してみましたが、
1つも復元できませんでした。現時点ではPT2が出力する.ts形式には対応していない?
PhotoRec - Digital Picture and File Recovery


むー、現時点では専門業者さんに頼むしかないのか!?
継続調査中…

※2010/02/08追記
PhotoRecのソースコードを修正することで、4GB超の.tsファイルも救出できました。
詳細は別エントリにまとめました
俺とPhotoRec 〜誤って削除された、4GBを超えるTSファイルを救出する〜 - 俺と何某。

復元したファイルのリネーム

通常であればファイルの内容をひとつひとつ確認してリネームするところですが、
幸いにもTSファイルはファイル自体に番組名・放送日などの情報を持っているので、
「TsRename」を使用して一括リネームを行います。
http://2sen.dip.jp/dtv/Friio アップローダから取得

結果

4GB以下のファイルについては、完全に救出できました。
100ファイル以上あったので半日くらいかかったけど。

雑感

教訓:WMPのライブラリからファイル/フォルダを削除するときは
気をつけましょう。

一般的なメディアプレイヤー*3はプレイリストからファイル/フォルダを削除しても
実ファイルは削除されないんだけどなぁ…
まぁライブラリ=プレイリストと誤認していた俺が迂闊なんだけど。
WMPでは再生リスト=プレイリストみたいね。

あと、復旧ツール開発会社さんは4GB超のファイルに対応して頂きたいです。

*1:ライブラリからファイル/フォルダを削除する手順を誤ったため

*2:ビットレートにも寄りますが、30分番組で3〜4GB程度

*3:Winampfoobar2000など