web-dev-qa-db-ja.com

バイナリでハードドライブの内容を表示する

ハードドライブの内容を16進数またはバイナリで表示する方法はありますか?私は現在debianを使用しています

9
encore leet

はい、ブロックデバイスはファイルとして開くことができます。実際のところ、Linuxの哲学はすべてがファイルです。

アクセスしたいブロックデバイスはおそらく/dev/hdaまたは/dev/sda非常に大きなファイルなので、wxHexEditor を使用することをお勧めします:

wxHexEditor /dev/sda

ウェブサイトから:

wxHexEditorは通常の16進エディターではありませんが、低レベルのディスクエディターとしても機能します。 HDDまたはパーティションに問題がある場合は、未加工の16進数のセクターを編集して、HDDまたはパーティションからデータを復元できます。

パーティションテーブルを編集したり、wxHexEditorを使用して手動でファイルシステムからファイルを回復したりできます。または、大きなバイナリファイル、パーティション、デバイスを分析することもできます...

wxHexEditor screenshot

13

Unixライクなオペレーティングシステムでは、すべて(ハードディスクなどのブロックデバイスを含む)はファイルです。 (スーパーユーザーとして)16進数のファイルダンプユーティリティを使用して、ディスクデバイスの未加工の内容を調べることができます。 xxdは通常、vim-commonパッケージですが、hexdumpユーティリティで実行できます。ディスクパーティションまたはその他のディスクのようなブロックデバイス(例:/dev/mapper/(LVMを使用している場合)も読み取ることができます。スクロールして出力を検索できるように、出力をlessにパイプします。

Sudo xxd /dev/sda | less

印刷可能な文字のみを検索したい場合は、stringsユーティリティ(binutilsパッケージから)を使用できます。

Sudo strings /dev/sda | less    
8

ワイプされた一部の6TBドライブでスポットチェックを実行しようとしました。ほとんどのコマンドは、指定されたオフセットまで読み取り、オフセットまでシークしません。これは大きな入力ソースの問題です。

以下はシークを行い、即時/高速です:

Sudo dd if=/dev/sda skip=5T count=4kB iflags=skip_bytes,count_bytes 2>/dev/null | od | head

ドライブがワイプされると、いくつかのゼロが乗数とともに表示されます。そうでない場合、ワイプされていない(ゼロ)データの先頭が表示されます。

0
Scott P.