web-dev-qa-db-ja.com

フォーマットは実際に物理ハードドライブ上のすべてを削除しますか?

書式設定によって実際に何が削除されるのかを理解したいと思います。

コンピュータを起動すると、DOSのようなものが表示されます。これはおそらくハードドライブに保存できませんか?それはどこに保管されていますか?

ハードドライブにブートセクターがあると読みましたが、フォーマット後、ハードドライブに残ったものがありますか?それは本当にドライブに残っている0バイトで終わりますか?

20
Chatai

これは本当に3つの異なる質問であり、完全に理解するまでの長く困難な道のりです。

それを小さくてシンプルなアイデアに圧縮してみましょう...

ハードディスクを、関連するセクションをすばやく検索するための索引が後ろに付いた参考書と考えてください。次に、インデックスを削除します。本はまだ読みやすいですが、より直線的な方法でのみです。正しい章を見つけるのは難しいですが、不可能ではありません。

ドライブをクイックフォーマットする場合、実際に行っているのは「インデックス」を削除することだけです。実際のデータはすべて残っています。この時点で、何かがディスクに書き込もうとしても、古いデータがそこにあることが「認識」されないため、新しい「インデックス」が作成され、古いデータが上書きされます。

完全な形式では、実際のデータ自体が上書きされますが、高度な手法で回復できる場合もあります。

ワイプされた、または完全にブランクのハードドライブでコンピューターを起動すると、実際のコンピューターハードウェアに保持されている小さなオペレーティングシステム(実際にはスタンドアロンプ​​ログラムですが、すべての意図と目的に対して小さなOSのように動作します)が表示されます。 、ではなく、ハードドライブ自体-命令を次に探す場所をマシンに伝えるだけです。

ブートセクターは、ハードドライブの小さなセクターで、完全にブート可能なシステムを次に探す場所をコンピューターに指示します。

51
Tetsujin

ここでは3つの質問があります。

書式設定によって実際に削除されるものを理解したいと思います。

フォーマットについて:フォーマットにはいくつかの方法があります。 1つはクイックフォーマットと呼ばれます。実際にデータを削除せずに、フォーマットされたパーティションを空としてマークするだけです。通常のフォーマットでは、パーティションに空のマークが付けられ、さらにパーティション全体に0が書き込まれます。これにより、まだフォーマットされていないプログラムでデータを回復できますが、さらに時間がかかります。次に、複数のランダムデータを複数のサイクルでディスクに書き込んでディスクを安全にワイプできるプログラムもあります。これにより、フォーマットされていないプログラムでデータを回復することが非常に困難になります。

ドライブがフォーマットされ、データが書き込まれると(クイックフォーマット方法でも)空として表示されると、以前にデータが保存されていた場所のデータが上書きされることに注意してください。これにより、削除を取り消すプログラムがその特定のデータを回復することが困難になります。

コンピュータを起動すると、DOSのようなものが表示されます。これはおそらくハードドライブに保存できませんか?それはどこに保管されていますか?

次に、コンピュータを起動したときに表示されるテキスト画面をBIOSと呼びます。 BIOS(基本入出力システム)は、ハードウェアと通信し、Windowsまたはその他のオペレーティングシステムがハードウェアと対話できるようにするオペレーティングシステムです。ハードウェアがいつ停止するかを判断する必要がある場合があることを考えると、BIOSにはテキストインターフェイスとそれと対話するSETUPプログラムがあります。このテキストインターフェイスは、コンピュータを起動したときに表示されるものです。 MOST BIOSには、ユーザーを混乱させないために代わりにイメージを表示する機能があります。

ハードドライブにブートセクターがあると読みましたが、フォーマット後、ハードドライブに残ったものがありますか?それは本当にドライブに残っている0バイトで終わりますか?

ハードドライブのブートセクターは、パーティションを変更するときにのみ変更されるハードドライブ上の特定の場所です。この特定のハードドライブから起動しようとした場合、ブートセクターは起動元のパーティションを決定します。フォーマットはブートセクターには影響しません。ブートセクターのみを変更しても、ハードドライブは正常に機能しますが、そこからブートすることはできません。

9
LPChip

書式設定によって実際に削除されるものを理解したいと思います。

コンピュータがディスクまたはパーティションを「フォーマット」すると、それはファイルシステムボリュームを作成することを意味します。 「ボリューム」は基本的にファイルが保存される場所です。古いフロッピーディスクの場合、ディスク全体が基本的にボリュームでした。ハードドライブの場合、ボリュームはパーティションに保存され、1つのディスクに複数のパーティションが存在する可能性があります(つまり、複数のボリュームが存在します)。

基本的に、フォーマットを行うと空のテーブルが作成されます。 「テーブル」と言うと、行と列のあるチャートと考えることができます。各行はファイル名を参照します。各列はファイルフラグメントを識別します。たとえば、「このファイルの最初のフラグメントはセクター1000にあります」。 「このファイルの2番目のフラグメントはセクター2000にあります」。書式設定プロセスにより空白のテーブルが作成され、ファイルが作成されるとそのテーブルが入力されます。 DOSでは、ファイルシステムタイプはこのテーブルにちなんで命名され、「ファイルアロケーションテーブル」と呼ばれていました。

古いデータについて心配しておらず、古いデータに誰がアクセスする可能性があるか(そのデータが機密/機密である場合は問題になる可能性があります)、最善の策は、最小限の詳細を作成する「クイックフォーマット」を行うことですファイルを追跡するファイルシステムボリューム用。 「最小」/「クイック」フォーマットと「完全」/「拡張」フォーマットのどちらかを選択できる場合、後者のフォーマットは、ファイルシステムボリュームの一部である各ディスクセクターに何らかの影響を与える可能性があります。つまり、各セクターを消去するか、セクターが物理的に使用可能であることを確認するために他のチェックを実行するだけです。

コンピュータを起動すると、DOSのようなものが表示されます。

LPChipの答え のように、私はあなたが「システム起動」プロセスを意味していると思います。古いマシンでは、これは一般に基本入出力システムと呼ばれ、BIOSと略されました。 BIOSの動作には一定の標準があり、コンピュータソフトウェア(オペレーティングシステムなど)がコンピュータの一部とやり取りできるようになっています。新しいシステムの多くは、(U)EFI((Unified)Extensible Firmware Interface)と呼ばれる新しい標準を使用しています。 BIOSと(U)EFI規格の両方を表すために業界で広く使用されている用語を見つけられなかったため、「システムの起動」という用語を作り上げました。

これを「DOSに似ている」と呼んでいると思う主な理由は、テキストモードの使用です。 (Good ol ' CP437 !)しかし、私が読んだことから、(U)EFIはコマンドラインで制御できる(おそらく一部の実装だけで)ことができるという印象を受けました。

これはおそらくハードドライブに保存できませんか?それはどこに保管されていますか?

これは通常、一部のチップに完全に格納されます。古いシステムでは、これらはROM(読み取り専用メモリ)でした。しかし、新しいテクノロジー(大きなハードドライブなど)がチップと互換性がなくなると、人々はチップを物理的に交換して、より新しいテクノロジー。1990年代後半に、人々はしばしば「フラッシュメモリ」と呼ばれる書き込み可能なメモリを使い始めました。このようなメモリは頻繁に書き込まれることを意図していません。

そのシステムスタートアップソフトウェアで構成オプションを変更すると、構成の詳細が他のメモリ(通常はCMOSと呼ばれます)に保存されます。これは、マザーボードに保存されている少量のメモリ(RAMとは異なります)です。

ハードドライブにブートセクターがあると読みましたが、フォーマット後、ハードドライブに残ったものがありますか?

BIOS標準を使用するシステムは、ハードドライブをチェックして、511番目と512番目のバイトに次のビットが含まれているかどうかを確認します:0101 0101 1010 1010

その場合、ディスクは「ブート可能」と見なされ、BIOSはディスクの最初のバイトにある指示に従ってCPUに起動を指示します。ディスクの最初の512バイトは、「マスターブートレコード」(「MBR」)と呼ばれていました。 MBRに格納されるコードは、コンピューターが起動する場合は511番目のバイトを01010101にする必要があるため、かなり小さくする必要がありました。実際、この起動可能なコードのほとんどは、「パーティションテーブル」と呼ばれる標準を使用して、447バイト目から510バイト目までをチェックすることです。そのテーブルのバイトは、パーティション(または複数のパーティション)があった場所を示します。一般的に、最初のパーティションはハードドライブの2番目のシリンダーから始まります。 (古いハードドライブでは、「シリンダー」という用語はハードドライブの物理的特性を指していました。論理ブロックアドレス指定によって数値がディスクの物理的設計に対応しなくなった場合、その意味は少し失われました。)コードの主な仕事MBRでは、パーティションテーブルをチェックしてファイルシステムボリュームの開始位置を確認し、その場所からコードの実行を開始します。

(U)EFIは少し複雑で、より複雑なGPT構造を理解しています。

いずれにせよ、フォーマットはこれとは関係ありません。フォーマットはパーティション内のデータに関連しています(多くの場合、最初のシリンダーはシリンダー番号0と呼ばれるため、シリンダー番号1と呼ばれる2番目のシリンダーから始まります)。そのため、フォーマットが、MBRがディスクで使用する初期ブートコードに影響を与えることはありません。ただし、MBRのデータが使用された後にコンピューターが使用しようとするコードにフォーマットが影響する場合があります。

それは本当にドライブに残っている0バイトで終わりますか?

あなたは0バイトを使い果たしたことを意味しますか?絶対違う。ドライブで完全に使用されているバイトがあります。パーティションはファイルシステムボリュームを保存します。ファイルシステムボリュームには、ファイル名を追跡するために使用されるテーブルと、ファイルのフラグメントが保存される場所が含まれます。通常、「ラベル」(ファイルシステムボリュームに割り当てることができる名前)など、他の詳細情報があります。これはディスクの合計データの比較的少量であるべきですが、これはディスクの一部で使い果たされます。

使用可能なバイト数をオペレーティングシステムに尋ねると、オペレーティングシステムは通常、ファイルの格納に使用できるバイト数を報告します。これは、ほとんどの人が関心を持っているデータです。オペレーティングシステムは、ファイルテーブルの格納に使用されるバイトや、パーティション外のバイト(MBRなど)を報告していません。

ただし、テーブルが空であるため、ファイルフラグメントを格納できるすべてのバイトが使用可能であり、それらのゼロは使用されています。ディスクがクイックフォーマットされている場合、古いファイルの内容がディスク上にある可能性があります。 ( TestDisk のようなプログラムは、そのようなコンテンツを見つけるのに役立つ場合があります。)ただし、オペレーティングシステムに新しいコンテンツを新しいファイルに保存するように要求すると、オペレーティングシステムはディスクのそれらの領域を使用します(この表は、ディスクのこれらの領域に、気になるファイルフラグメントが格納されていることを示していません。そのため、古いデータは新しいデータで上書きされる可能性があります(これにより、TestDiskは古いデータが発生したときにその古いデータを回復できます)。ファイルの内容が保存されている場合でも、ディスクのフォーマット時にファイル名などの詳細が上書きされている可能性があることに注意してください。 (ファイルを保存する方法はいくつかあるため、「可能性があります」と言います。データを追跡する方法には、サイズが一定のテーブルを使用し、ディスク上のセクションが追跡されていない場合でも、ディスク上のセクションを追跡するために領域を使用する場合があります。ファイルをまだ保存しています。他の方法では、ディスクに保存されているデータに応じてテーブルのサイズが変わる可能性があるため、空のディスクには小さなテーブルが存在する可能性があります。その古いデータを追跡しておらず、オペレーティングシステムが削除するメリットを見つけたときにデータも削除される可能性があります。)

6
TOOGAM

フォーマットは実際に物理ハードドライブ上のすべてを削除しますか?書式設定によって実際に削除されるものを理解したいと思います。

実際の実験に基づいて(別のソースを推測または参照するのではなく)、上書きされる古いデータは、これを実行する方法によって異なります"format"

Linux(GPartedを使用)でパーティションを作成してフォーマットする場合(NTFSまたはExt4の場合)、またはWindows 7でフォーマットする「クイック」の場合、ファイルシステムを初期化するのに十分な数のセクターのみが上書きされます。割り当てられていない(ユーザーファイルで自由に使用できる)セクターは変更されず、古いデータが保持されます。

Windows 7でパーティションを作成してフォーマットすると(クイックオプションを使用しない場合)、パーティション内のすべてのセクターが上書きされます。割り当てられていない(ユーザーファイルが自由に使用できる)セクターの古いデータは、ゼロで上書きされます。古いデータやファイルを復元するための「アンフォーマット」は不可能です。

コンピュータを起動すると、DOSのようなものが表示されます。これはおそらくハードドライブに保存できませんか?それはどこに保管されていますか?

おそらく、BIOSまたはUEFIプログラムのいずれかを参照しています。これらは(通常)フラッシュメモリチップ(マザーボード上)に格納されます。
ドライブが接続されていないマザーボードを再起動することにより、このスタンドアロンプ​​ログラム(オペレーティングシステムではない)がPCのローカルであり、HDDまたはSSDにないことを簡単に確認できます。 (もちろん、PCに電源が入っていないときにドライブを取り外します。)

ハードドライブにブートセクターがあると読みましたが、フォーマット後、ハードドライブに残ったものがありますか?

ドライブの最初のセクター(MBR、マスターブートレコードなど)に存在するブートプログラムと、各ブート可能パーティションの先頭に別のブートプログラムがあります。
MBRは、「アクティブ」とマークされたパーティションのブートプログラムをロードする単純なブートプログラムです。
アクティブパーティションのブートプログラムは、ファイルシステムによってインストールされます。これは、オペレーティングシステム(GRUBなど)を実際にロードできるブートプログラムの別の中間ローダーである可能性があります。

それは本当にドライブに残っている0バイトで終わりますか?

あなたが何を求めているのかは明らかではありません。

どの種類のフォーマットによっても書き込まれないパーティションに割り当てられていないセクターがあることに注意してください。 MBRと最初のパーティションの間には、1024(Linuxによるパーティション作成)または2047(Win7によるパーティション作成)の未使用セクターが存在する可能性があります。パーティション間で未使用のセクターが存在する可能性もあります。実際のセクター数は、前のパーティションが終了する場所と、「隣接する」パーティションが始まる場所によって異なります。これは、パーティションの配置のタイプ(たとえば、「シリンダー」またはメガバイトごと)によって異なります。

3
sawdust

古いハードドライブには、ヘッドを個別のステップで動かすメカニズムがありました。各セクターの開始位置に関する情報は、実際のセクターの内容と同じ「データストリーム」に格納されていました。トラックのセクター#5を書き込むには、ドライブが「読み取り」モードで開始し、「これはセクター#5の開始です」というマーカーが表示されるまで書き込みモードに切り替え、少しの空白スペースを書き込んでからセカンダリスタートを行います。マーカー、セクター内のすべてのバイトの噴出を開始し、それが完了したら読み取りモードに切り替えます。

完全に空白の未フォーマットディスクの場合のように、トラックにセクターマーカーのセットが適切に配置されていることがわからない場合は、使用する前にフォーマットする必要があります。そのために、ドライブは書き込みモードに切り替え、ギャップを書き込み、次にセクターヘッダー、わずかなギャップ、セカンダリスタートヘッダーとセクター相当の任意のデータ、および別のギャップを繰り返し書き込みます。その後、ドライブは読み取りモードに切り替わり、すべてのセクターが読み取り可能であることを確認します(セクター間のギャップが長すぎる場合、最後のセクターが最初のセクターを上書きする可能性があります。ギャップが短すぎる場合、ドライブ速度の変動により、次のセクターに拡張するための後のセクター書き込み操作)。

このようなドライブで「低レベル」フォーマットを実行すると、そのドライブ上の情報はかなり消去されますが、セクターヘッダーの書き換えを気にせずにすべてのセクターが読み取り可能であることを確認するだけの一般的な「高レベル」フォーマットコマンドよりも時間がかかります。あるセクター。

最近のドライブでは、ドライブ内のどのものよりも正確に調整された専用の機器を使用してプラッターに配置されたフォーマットマーカーが必要です。このようなドライブで低レベルのフォーマットを行うことは、追加の機器なしでは不可能です。すべてのセクターのデータを上書きすると、ほとんどのデータが回復不能になる可能性がありますが、一部のドライブには、ディスクの領域が故障しているように見えるときに検出し、通常はそのような領域に保存されている情報を別の場所に再配置する特別なロジックがあります。ドライブがディスクの不安定な部分にあるとドライブが判断したために機密データを含むセクターが再配置された場合、そのセクターを消去しようとすると、その後のコピーが破壊され、元のデータはそのまま残ります。

2
supercat

いいえ、最初にフォーマットはドライブ全体ではなくパーティションで実行されるプロセスであるため、パーティションテーブル、他のパーティション、またはドライブ上のMBRには影響しません。ブートローダーのように聞こえますが、これはBIOSによって直接実行される小さなプログラムであり、オペレーティングシステムのカーネルを選択して実行するタスクを持っています。この場合、フォーマットされたパーティションは、ブートローダーが見つけられないことを意味します実行するカーネル。

ドライブ全体にプロセスが適用されたとしても、フォーマットは実際にはドライブからファイルの内容を削除するものだと考えるのは間違いです。ドライブがフォーマットされると、ファイルアロケーションテーブル、スーパーブロックなどのメタデータがクリアされ、その場所に空の構造が書き込まれます。

ファイルの実際の内容は、フォーマットプロセス自体の影響を受けません。例えは、本の目次を空白にすることです。章をリストする目次がなくても、章はまだそこにあります。

メタデータを無視して、ドライブ上のファイル自体の実際のフットプリントを直接探すことができるソフトウェアが存在します。ほとんどの場合、ファイルが占めるスペースの一部が再利用され、新しいデータで上書きされない限り、ファイルを回復することはかなり簡単です。

実際にディスク上のデータを破棄したい場合は、ドライブのタイプなどの要因に応じて適切な方法があります(たとえば、SSDはHDDの消去よりも簡単に消去を確保する方法があります)。磁気ドライブの場合、もう1つの要因はレベルです。破壊の望みです。市販のハードドライブでデータを回復できないようにデータを破壊することと、高感度の法医学分析装置がデータの痕跡を回復できないほどにデータを破壊しようとすることには違いがあります。

編集:BIOSアップデートの中断などでマシンがブリックされていない限り、完全に空白のドライブがインストールされているマシンでも、電源を入れようとすると何かが表示されます。 BIOSはどのドライブにも保存されていません。マザーボード自体の小さなソリッドステートメモリチップに保存されている小さなプログラムです。

1
MttJocy