USBメモリのデータがおかしいので助けて

PC

知人より「パソコンからUSBメモリを抜いたらファイルがおかしくなった」と相談を受けました。

ほう・・・。
ファイル名どころかタイムスタンプまで滅茶苦茶ではないですか。

「動作中にメモリ抜かなかった?」と聞くもよく分からないとの事。
ですよねぇ・・・。

さてこれをどうしたものか。

文字化けの原因は?

文字化けに関する原因として例に挙げられるものとして次の3つがあります。

文字コードの違い

文字コードの違うOSで作成されたファイルをWindowsで開くと文字が化ける。
昔は良くありましたけど近年では滅多に遭遇しません。
今回のケースには該当しません。

ファイルシステムの破損

FATやexFAT等の管理領域が破損している場合に意味不明なファイル名になったり日付が滅茶苦茶になったりします。

メモリに書き込んでいる最中に抜いたり、突然の電源断などで起きやすくなります。
今回はこれに該当する可能性が高そうです。

フラッシュメモリの物理的な破損

NANDチップ、もしくはコントローラーの障害が原因で開けないファイルができたり容量が異常な表示を示したりします。

この場合はUSBメモリ内部の機械的な障害になりますのでユーザー側で回復させることは難しいです。コントローラーが原因の場合チップを交換することで回復の可能性はありますが簡単ではありません。通常はデータ回復の専門業者に依頼するしかありません。当然ですがそれなりの費用が発生します。

このハードウェア障害も可能性としてありそうです。

状況を分析

➀まず日付が異常な値です。2100年や2066年になっています。これらの事からディレクトリエントリの破損が考えられます。

➁ファイル名が意味不明です。暗号化のように見えますのでウイルスの可能性もあるかなと思いましたがPC本体のデータには問題がないということでウイルスの可能性は低いと判断しました。おそらくファイルシステムの破損と思われますがこの状態で中に何か入っていると表示できるだけでも幸運かもしれません。(ファイルまたはディレクトリが壊れているため読み取ることができません。と表示されてアクセスできないことが多い)

③ファイルサイズがおかしいです。写真には映っていませんが8KBとか33KBなど小容量の表示になっていました。スマホの写真も入っていたとの事ですのでそんな容量のはずがありません。ファイル数も何千数となっていてあり得ない感じでした。クラスタチェーンの切断が起きている可能性があります。

これらの感じから表示されている内容は実ファイルの情報ではなく壊れた残骸と言えそうです。

復旧の方法

データの復旧を考えているのならUSBメモリに何かを書き込んだり、削除したりするのはやめましょう。フォーマットなどをしてしまうと復旧の可能性を絶つことになります。

古くからDOSやWindowsを使用されてきた方なら「CHKDSKコマンド」を思いつくと思いますがこれを使うのはやめておきましょう。理由は修復ではなく構造の再構築を行うからです。壊れたファイル構造を正しいように見せるための再構築(改変・削除)では逆にデータを壊してしまう可能性があります。このようにディレクトリ構造をデタラメに再構築することは、復旧ツールで参照する元データの手がかりを消してしまうことになりかねません。

復旧の手順(極力安全に)

※以下の手順が100%安全とは言えません。USBメモリの状態によっても変わってきます。大切なデータはご自身で何もせず復旧業者に依頼することを強くお勧めします。

➀USBメモリのイメージを作成

まずUSBメモリのまるごと保存を行います。USBメモリに対して直接スキャンをかける事は極力避けましょう。

  1. USB Image ToolWin32 Disk Imagerでも可)等のイメージファイル作成ソフトを入手
  2. USBメモリを選択後、バックアップをクリック
  3. .imgファイルをディスクに保存(※保存先はUSBメモリ以外のドライブを選択)

これで、万一の際も元データに戻せます。
以降、作成したイメージファイルで作業を進めます。

➁イメージファイルのスキャン

USBメモリのイメージからファイルから抽出します。
抽出には「PhotoRec」というソフトを使用しました。

PhotoRecは非常に強力でUSBメモリの生データを解析してファイルヘッダから復元します。
ファイル名は失われますが内容を取り戻せる可能性が高いです。
コマンドラインで操作が分かりにくいですが、同梱されているGUI版のqphotorec_winを使うと分かりやすいと思います。

  1. qphotorec_win.exe を起動
  2. 「復元元のメディアを選択してください」から「復元元イメージファイルを追加」から バックアップ.img ファイルを指定
  3. 「ファイルシステムの種類」で=FAT/NTFS・・・」を選択(←※FATの場合)
  4. 「スキャン範囲=すべてのパーティションからファイルを抽出(Whole)」を選択
  5. 「復元したファイルの保存先」フォルダを参照ボタンから指定
  6. 「検索」ボタンを押す

スキャン時間は容量やファイル状況によって時間がかかります。

復元ファイルの確認

完了するとフォルダ内に以下のようなディレクトリができます。

recup_dir.1
recup_dir.2



ファイルはPhotoRecが判別し自動的に拡張子を付与します。
エクスプローラーで確認すると復元されたファイルが見当たると思います。
ファイル名は自動で付けられたものですのですので中身を確認してリネームする必要があります。

今回復旧することができたファイルたち

他のソフトでもスキャンしてみる

PhotoRecはファイルシステムの管理情報を無視してファイルの実体を直接探すので強力ですが、ファイル名やフォルダ構造の復元ができません。破損の度合いが軽度な場合RecuvaやDiskGenius等でも復元できる可能性があります。運が良ければファイル名・フォルダ構造を保ったままの復元も可能かもしれません。

今回のスキャンではDiskGeniusも使ってみましたが復旧はできませんでした。Recuvaではイメージファイルのスキャン方法がありませんでした。直接ドライブを読む必要があるようです。
RecuvaやDiskGeniusは有料のPro版がありますのでそちらの方では動作が違ってくるかも知れません。

何をやってもダメな場合

もし上記ソフト等で何も見つからない場合は、メモリチップ自体の障害(NAND劣化やコントローラ破損)の可能性があります。

その場合、データ復旧業者に依頼するしかありません。

必ず「安全な取り外し」を行いましょう

このような事にならないためにUSBメモリやUSB接続のドライブ(SSDやHDD)を取り外すときは「取り出し」もしくは「ハードウェアを安全に取り外してメディアを取り出す」を選択して外すようにしましょう。

取り出しをすることでデバイスを安全に取り外せるように切り離してくれます。
まれに「使用中のため外せない」と言われることがありますが、その場合は再起動もしくはシャットダウンして外せば安全です。(スリープ中の取り外しは?です)

安定してデータを扱う環境を整える

作成した大切なデータを消失することのないように日頃から心がけることが大切です。
そのためにいくつかの方法があります。

高品質なUSBデバイスを使用する

激安の製品を使うのではなく大手メーカー製を使いましょう。大手メーカー製=高品質とは限りませんが、メーカーの管理下で生産された製品は一定の信頼性が担保されているはずです。可能であれば国内メーカーをお勧めします。

これはメモリだけでなくUSBハブなどの関連装置にも言えることです。通信の安定がデータ転送の質に影響を及ぼすことは容易に想像できます。セルフ電源に対応したハブを使うと安定性が高くなるでしょう。

USB端子のクリーニング

USB端子はホコリ等の影響で接触不良が発生しやすいです。定期的なクリーニングで安定したデータ転送を行うことが可能です。ただしUSB端子は非常にデリケートです。一般的なUSB端子は赤ちゃん用の綿棒にアルコールで大丈夫ですが、USB-C端子などは筆などで軽いクリーニングで済ます方が破損のリスクが少ないでしょう。

データはバックアップを取っておく

工業製品である以上いつかは故障します。日頃からコピーするなどして万一の際に備えておきましょう。

USBメモリは複数持つ

USBメモリには寿命があります。一定の記録回数を迎えたメモリは書き込む際に電気的な負担により内部素子が破壊されることが知られています。いつ壊れるか分かりませんので大切なデータは常に複数の記録媒体で保管(バックアップ)しておくことが大切です。

パソコン本体のディスクも同様の仕組み(フラッシュメモリ)なので外部機器へのバックアップをおすすめします。

外付けハードディスクにも定期的に保存する

ハードディスクというデータ記録用の装置があります。速度は遅いのですが容量が大きく持ち運びするというより固定で使うことで予期せぬ故障が少なくなります。一方でデリケートな装置ですので使用中に振動を与えたりすると故障することがあります。比較的長期間の保存に適しています。

パソコン本体にもデータを保存しておく

通常は「データはパソコンに入れておきバックアップとしてUSBメモリに入れておく」という運用スタイルが一般的ですが、最近は常にUSBメモリにデータを入れて運用する方も見られます。しかしこの方法はメモリに対して多くの書き込み動作が発生する可能性があり(寿命の観点から)本来はお勧めできません。

可能であればPC本体のデータを編集後にUSBメモリにコピーして持ち出す方がもしもの時に困りません。ただし持ち出し先でデータの更新を行った際は、PCに戻すときにコピー方向を間違えないようにすることが大切です。更新したデータに古いデータを上書きしたら元も子もありません。

クラウドサービスなどの利用も検討する

googleドライブ等のクラウドサービスにデータを保存しておくことで非常時のバックアップとして機能します。インターネット環境とログイン情報があれば出先からでもデータにアクセスできる点はメリットです。

便利なクラウドですが削除等の操作を間違うとPCにファイルが残らない場合もありますので仕組みを把握してから利用することが前提です。また、外部にデータを預けることになるのでデータ流出の可能性がゼロではありません。プライベートなものや個人情報が記載されたデータを取り扱う際は注意した方が良いでしょう。

デメリットは多くのサービスで一定の容量を超えると課金が必要になります。これはメーカーが安定したサービスを維持するために当然といえば当然なのですが、クラウドの利用開始時点で料金のニオイを消しておきながら、いざデータが増えると課金案内が出るところあたりが批判されるのでしょう。どのOSとは言いませんが。

僕の場合は Linuxサーバーを使用していますのでnextcloudというサービスをインストールしてプライベートクラウドを構築しています。スマホの写真などもアプリをインストールして設定しておけば勝手にアップロードされますので非常に便利です。Linuxは敷居が高いという場合はNASをおすすめします。海外製にはなりますがSynologyの製品などはアプリも含めて非常によくできていると思います。もちろん機械ですので定期的なメンテナンスは必要です。ソフトウェアのアップデートやHDDの交換、通気確保のための本体クリーニングを欠かすことは出来ませんが手がかかる以上に便利な環境を手に入れられることと思います。

コメント

タイトルとURLをコピーしました