データ復旧の手法の中には、ある程度パソコンの知識があれば自分でできるものもあります。
この講座では、比較的軽度なトラブルが発生したWindowsパソコンのHDDからデータを復旧する方法をご紹介します。データ復旧を自分でやってみたいという方のお役に立てれば幸いです。
編者:児玉広行(オーインクメディアサービス株式会社取締役部長)
履歴:2008年5月初出-2023年1月Windows10対応へ全面改定
第1部:データ復旧概論 そもそもデータ復旧とは?
まず、データ復旧とはどういった作業のことを指すのか、という点をはっきりさせておきましょう。
データ復旧とは、ズバリ「消えたデータを元に戻す」事です。
データ復旧の仕組みについて説明する前に、まずは「データが消える」仕組みを理解しなければなりません。
この講座はHDDを基本として記されています。SSDなどTRIM機能が有効にされている場合はHDDとは挙動が異なり、ごみ箱を空にすると完全に消去され、どんな手段を用いても復旧は不可能です。なお、SMR方式のHDDもTrim機能を備えた製品があります。
削除データは「消えたように見えるだけ」
データが消える流れを確認する為に、ファイル削除の流れを順を追ってみましょう。
1.まず、デスクトップ上にあるファイル「Document1.doc」に対して、右クリックメニューから削除を実行します。
2.すると、画面上の「Document1.doc」は消えます。
そのかわり「ごみ箱」アイコンが「ごみが捨てられていますよ」という状態のアイコンに変わります。
これが通常の削除作業です。
もちろん、「Document1.doc」アイコンをごみ箱にドラッグしても同じです。
この状態では、実際には「Document1.doc」ファイルは削除されておらず、単に「ごみ箱」に移動されただけです。
3.そこで完全に削除するには、「ごみ箱」アイコンを右クリックして「ごみ箱を空にする」を実行します。
しかし、実はこの段階でも「データそのもの」は消えていないのです。
その理由を説明する為に、まずHDDの基本的な仕組みからご説明しましょう。
HDDの仕組み【物理構造】
HDDは大まかに言って下記のようなパーツにより構成されています。
- 基板
-
モーターやデータの入出力などを管理する為のチップが搭載されています。
- プラッタ
-
HDD内部の円盤状の部品。特殊な薬品が表面に塗られています。
- モーター
-
プラッタを回転させる為のモーターです。
- ヘッド
-
プラッタに対して直接データを読み書きする為の部品です。
パソコンなどから送り出されたデータは、ヘッドを通じてプラッタに書き込まれます。
読み出す際も、データをヘッドが読み取りパソコンなどに送り出されます。
プラッタはモーターにより常に回転しており、回転速度の調整やデータの入出力の制御(I/O制御)などを基板が司っています。
ちなみに、このHDDの仕組みはちょうどアナログレコードプレーヤーの仕組みとそっくりです。
レコード盤がプラッタ、レコード針がヘッド、基板がアンプとなり、モーターはどちらも同様に回転運動を行います。なお、レコードで言うところのアーム(レコード針を取り付けるバー部分)に該当する所とヘッドを合わせて「ヘッドアセンブリ」と呼びます。
レコードとHDDの仕組みはそっくりですが、もちろんデジタルとアナログという大きな違いがあります。
また、レコードでは針が直接レコード盤の溝をなぞって音を取り出していたのに対し、HDDではヘッドはプラッタに接触しません。プラッタの回転による風圧により、ナノメートルというごく小さな単位で浮上した状態で磁気によるデータの読み書きを行います。
なお、プラッタはHDDの容量により1枚だけのものや複数枚内蔵されているものがあります。
あとは、HDDではデータの読み出しだけでなく、書込ができるというのが大きな違いでしょうか。
以上が、ごく簡単なHDDの物理的な仕組みです。
HDDの仕組み【論理構造】
次に、HDDの「論理的」な構造を見てみましょう。
先に説明したとおり、HDD内のデータは全てプラッタ上に書き込まれます。
プラッタは図のように、円周状の「トラック」と中心部から放射状に分割される「シリンダ」からなる「セクタ」という最小単位で構成されます。
パソコン等でHDDを使用する際は、最初にフォーマットを行いますが、フォーマットを行うとこのセクタが複数組み合わされた「クラスタ」という単位で管理されるようになります。
OS上では、このクラスタが最小単位として扱われます。
イメージとしては、HDD上にたくさんの「箱」(=クラスタ)があるものと思ってください。
パソコン上でファイルが作成されると、データはこの”箱”に保存されます。
このとき、箱に適当にファイルを放り込んでしまうと、どの箱に何のファイルがあるのかがわからなくなってしまいます。
その為、HDDは「インデックス」と呼ばれる部分で「どのクラスタにどのデータが保存されているのか」という情報を管理しています。本の目次のようなものをイメージするとわかりやすいでしょう。
ちなみに、ある程度大きなファイルになると一つのクラスタに保存できなくなります。
その場合はファイルはいくつかのクラスタに分散して保存されることになりますが、データの読み書きを繰り返していくと、元々は連続したクラスタに保存されていたデータが徐々にバラバラのクラスタに保存されるようになってしまいます。
これが「フラグメント(ディスクの断片化)」と呼ばれる状態です。
このバラバラになったデータを整理して使いやすいように整理するのが「デフラグ」です。
データ削除の仕組み
上で述べたように、ファイルの実データはクラスタに(サイズによっては分割されて)保存され、どのクラスタにどのデータが保存されているのかという情報はインデックスにて管理されています。
パソコン上でファイルの削除を実行すると、このインデックス上の該当データに関する情報が削除されます。
目次からそのファイルの項目を消してしまうわけです。
しかし、目次情報は削除されても、実際のデータが保存されているクラスタはなにも変わりません。
ただ単に、そこにデータが「ある」という情報が無くなっただけで実際にはデータは残っているのです。
この「無いことになったデータ」を元の見える状態に戻すことが、基本的なデータ復旧の仕組みです。
上書きされると復旧できません!
ファイルを削除した直後であれば、上記の通りファイルを完全に復旧できる可能性があります。
しかし、削除されたファイルの存在したクラスタにはデータが何もない事になっています。
つまり「いつでも書き込み可能」な状態となっているわけです。
この状態で使用を続けていれば、いずれは何かしらのデータがこのクラスタに書き込まれてしまいます。
そうなると元のデータは上書きされてしまい、データを復旧する事は不可能となってしまいます。
ちなみに、複数クラスタに保存されたファイルの一部が上書きされてしまった場合、ファイルとしては回収できてもデータが足りない為にファイルとして使用できないということも起こります。
パソコンを使用していると、明らかにファイルを作成したりしなくとも、インターネットのキャッシュファイルやOSの一時ファイルの書き込みが行われます。
このクラスタがいつ、どのタイミングで使用される事になるのかは予測できません。
必要なデータを削除してしまったら、速やかに使用を中断してデータ復旧作業に取りかかる必要があるのはこの為です。
完全に削除するには
ちなみに、逆にデータを完全に削除する、つまり復旧できないようにする為には、データの上書きを行ってしまえばいいわけです。
データ消去系のソフトは、乱数などの意味をなさないデータを全てのセクタに数度にわたって書き込むことで、元のデータを復元できないようにするものです。
まとめ:削除しただけではデータは消えません。