6532101 ランダム
 ホーム | 日記 | プロフィール 【フォローする】 【ログイン】

ふるた技工所(てっこうしょ)

ふるた技工所(てっこうしょ)

【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! --/--
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x

PR

キーワードサーチ

▼キーワード検索

プロフィール

Aちゃん22

Aちゃん22

フリーページ

2024.06.06
XML
カテゴリ:ソフト開発日誌
Final Data Photo Recovery 9.0 をダウンロードして 64G byte SD card に格納されたファイルを復活しようと試みる。ダウンロード価格 3,847 円、先に結論を言うとお金をドブに捨てたのと同じだった。ケチらず "Photo Recovery" が付かない Final Data を試せば良かったのかもしれない。追い銭はゴメンだ。main PC からアンインストールする。



事の発端はクリックミスで画像データを紛失する事故から始まる。本当はクリックミスの積もりはなく、ウインドウからマウスカーソルがはみ出してしまい、explorer 上にボタン押し状態でカーソルを乗せただけだった。んー、その何だ、最近の Windows 10 は「予測できない」/「元に戻せない」/「どうしてそんな反応をする?」動作が多すぎないか。「全てのオブジェクトは反応しなければならない」とか「どの操作にもメソッドが割り当てられるべきだ」とか変な拘りがある様に思う。

一息ついた後、ubuntu (実際のディストリビューションは lubuntu) の teskdisk package に含まれる photorec を使ってファイル復活をする。十分に満足がいく結果だった。タダで済んだのだ。

ダメな状況をテストで確認する。Final Data Photo Recovery 9.0(長いので FD-PR.9 と省略) を sub PC の Windows11 PC にインストールして、復活を試す。方法は、
  1. 復活用のコンテンツを用意する (4703 files, 38 directories, 3.17GiBbytes)
  2. SD Card media を zero fill する(32G/64G byte, FAT32/exFAT の組み合わせを網羅する枚数を用意)
  3. SD Card media を exFAT, FAT32 でフォーマットする({64Gbyte, FAT32} の組み合わせは Linux を利用)
  4. SD Card media に用意したコンテンツをコピーする
  5. コピーしたファイルを Windows の explorer で削除する
  6. FD-PR.9 で削除したファイル復活を試みる
注: 実際はさらに多数の状況を確認するため clonezilla で複製を作っている。

結果は次の表の通りとなった。capacity は SD card の容量、File System は SD card に施したフォーマット形式、Can Recovery? は復活できたかを示す。

capacity (byte)File SystemCan Recovery?
32GFAT32Imcomplete
32GexFATNo
64GFAT32Incomplete
64GexFATNo

フォーマット形式を exFAT にした SD Card の削除ファイル復活しようとすると 32G/64G byte とも操作が無限ループしてしまい、そもそも復活処理を始める事ができない。結果は "No" だ。

フォーマット形式 FAT32 では一見すると復活できた様に見える。元の画像も見ることができる。バイナリダンプをしてみるとファイル末尾にゴミデータが付いてしまい完全な復活はできないことが分かった。詳細は後述する。結果は "Incomplete" だ。

FD-PR.9 の about dialog をこの日記の始めに貼り付けた。最終更新年が 2010 年だ。14年前、この時点で Windows10, Windows11 で動くほどに完全なものが出来上がっていたかというと、これから見ていく通り疑わしい。

問題を見ていこう。「操作が無限ループして復活処理が始まらない」

順にウイザード形式のダイアログを追っていく。exFAT でフォーマットした SD Card に入っている削除ファイルを復活するため FD-PR.9 を起動すると「ドライブ選択」 - 画面にリムーバルディスクが現れる。一見正常そうだ。4 回「次へ」をクリックするとこの画面に戻って無限ループすることはこの時点で予見できないだろう。



物理ドライブを選択するルートもある。この先に複数のドライブ選択がある。どのルートを選んでも正常動作しない。選択したはずの USB SD card reader のアクセスランプは点滅しない。

「復元したいファイル種類の指定」 - ファイル種類を選ぶ、復活したい種類に絞っても無限ループから逃れることはできない。



「ファイル拡張子の選択」 - 拡張子を詳細に選択する。このダイアログで FD-PR.9 がおかしい事に気づく。"すべて選択" チェックボックスが重なった表示になっている。



画面レイアウトの問題だ。新人研修課題レベルの修正で済むはず。今時の Windows はスケーリングするので新人にとっては難度は少し高いかもしれない。問題が放置されている。販売ページでは現象を把握している記述が見られる「実行したとき、拡張子の選択画面内のチェックボックスにずれが発生し~」、言い訳するくらいなら修正するのが良いと思う。

「スキャンの詳細を設定」 - ここに罠がある。FAT32 の場合はスキャン(復活処理)に進む。進んでも "自動的にファイルを復元" にチェックを入れているとメモリ不足でスキャンが停止してしまう。



メモリ不足で停止する問題は動作試験で気づくと思う。何かと話題の試験不正? exFAT メディアの場合、スキャンの種類に何を選んでも、"次へ(N)" をクリックすると「ドライブ選択」へ戻る。エラーダイアログもでない。exFAT の場合はここで詰む。

「メモリ不足でスキャンが停止する」

この問題はウイザードの選択で回避可能な問題だ。初めて遭遇した場合は途方に暮れる。"自動的にファイルを復元" を指定しているとスキャン(復元処理)の途中で停止する。



再開を期待し途中結果を格納した SCF ファイルを保存することもできない。主記憶 32Gibyte 搭載していてメモリ不足が発生している。



自動保存は選択せず、スキャン完了後にファイルを全て選択して保存することはできる。恐らくメモリリークが発生している。自動保存だとメソッドの呼び出し順が影響してメモリ断片化が起きるか、ラッパーを被せてコピー処理を呼び出していて、ラッパーに問題が潜んでいるか。修正難度は入社 2 ~ 3 年目くらいの若手が取り組めるバグだと思う。お手上げだとして、"自動的にファイルを復元" を塞げば良いはず。

FAT32 の場合で 2 つの難を乗り越えるとファイルを不完全ながら復活できる。復活したファイルは元のファイルと違っている。ファイル末尾にゴミデータが付いてしまう。この違いは Linux (ubuntu) の photorec では発生しない(見落としていても 2, 3 個程度)。

Final Data Photo Recovery は既に終わっていた。





お気に入りの記事を「いいね!」で応援しよう

最終更新日  2024.06.06 01:08:56
コメント(0) | コメントを書く


カレンダー

カテゴリ

サイド自由欄

コメント新着

クマノフ@ Re:秋月八潮店 カラーつまみ詰め放題 300 円 - 46 個入った(05/10) こんにちは 確か使用上の注意が出ていたと…
Aちゃん22@ Re[7]:ようやく転職エージェントに会うも - 3 分で終了(04/01) ご無沙汰してますさん、こんにちは、 反応…
ご無沙汰してます@ Re[6]:ようやく転職エージェントに会うも - 3 分で終了(04/01) Aちゃん22さんへ 調べて頂いて恐縮です。…
Aちゃん22@ Re[5]:ようやく転職エージェントに会うも - 3 分で終了(04/01) ご無沙汰してますさん、こんにちは。 思い…

ニューストピックス


© Rakuten Group, Inc.