Sudo dd if=image.iso of=/dev/sda
を使用して、ハードディスクにISOイメージを書き込みました。 /dev/sdc
を意味し、Sudo fdisk -l
を実行すると、/ dev/sdaに1つのパーティションのみが返されますが、6があるはずです。データを回復することはできますか?
まだコンピューターをシャットダウン(リブート)していません。
お使いのコンピューターはまだ電源が入っているので、物を保存するチャンスがあります。
まず、sysfs
は、カーネルのパーティションテーブルのメモリビューを公開します。現在、カーネルはディスクのテーブルを再読み込みしておらず、パーティションを記憶しています。 /sys/block/sda/
内には、パーティションごとに1つのディレクトリが必要です。このような各サブディレクトリには、ファイルstart
とファイルsize
が含まれており、パーティションの場所とサイズをセクターで表します。 fdisk
を実行し、sysfs
ディレクトリ内の情報を使用して各パーティションを(順番に!)再作成します。新しいパーティションテーブルも作成する必要があることに注意してください。新しいパーティションテーブルが以前のものと同じであることを確認します。これは/sys/block/sda
で確認できます。パーティションが6つしかないときにsda1
からsda7
まで表示される場合、おそらくMBRがあり、それ以外の場合はおそらくGPTでした。また、これらのパーティションにフラグとタイプを設定する必要があります。 /etc/fstab
を見て、所有しているパーティションのタイプに関する情報を収集してから、Wikipediaをチェックしてパーティションスキームのコードに変換してください。
ファイルシステムを使用できるように見えるので、dd
はファイルシステムのほとんどの重要部分が先頭にあるため、そのいずれも上書きできなかった可能性があります。 /etc/fstab
を確認して、どのパーティションがシステムのどの部分に対応するかを確認し、コピーされたデータ量dd
を使用して、どれだけのヌークが発生したかを見積もります。ファイルシステムの一部のみを上書きした場合、良いfsck
might少し修正できます(しかし、データのかなりの塊を失いました)。
ほとんどの場合、/boot
を上書きしました。カーネルを再インストールし(aptitude
を使用)、GRUB2を再インストール(grub-install
を使用)する必要があります(最初と2番目の段階の両方が破壊されました)。 GRUB2は/etc
のファイルで構成されているため、手動で何かを再作成する必要はありません。
あなたには現在のバックアップがないと思います。
Sudo dd if=image.iso of=/dev/sdx
ドライブ変数x
= a
を使用したため、多くの貴重なデータを保存したハードディスクドライブの先頭を上書きしていました。
あなたは最初の人ではなく、私はこの問題の影響を受ける最後の人ではないのではないかと心配しています。 dd
は、このように使用する多くのWebサイトで推奨されています。強力でありながら危険な方法です。なぜなら、質問なしにあなたがそれをするように指示することをするからです。このため、「Data Destroyer」と呼ばれます。
@marcelmは、このニックネームは不公平だとコメントしています。彼はrootとしてデバイスファイルに直接書き込むことがリスクの原因であることは正しい。そのため、対応するデバイスファイル/dev/sdx
に書き込むことにより、ドライブを簡単に上書きし、貴重なデータを破壊できることに注意してください。 (より安全なツールはこの回答の最後にリストされています。)
ドライブをできる限り少なくし、何も書き込まないでください。データを上書きすることで状況を悪化させる可能性がありますが、それでも回復は可能です。
データが貴重な場合は、元の(部分的に上書きされた)ドライブではなく、クローンコピーで作業するを使用する必要があります。このリンクを参照し、「パーティションテーブル、ファイルシステムの高度な修復、および/またはファイルの回復」までスクロールします。
GUIDパーティションテーブルGPTがある場合、ドライブの最後にパーティションテーブルのバックアップ/dev/sda
があり、このバックアップからメインパーティションテーブルを復元できる場合があります。ツールgdisk
を使用したテーブル。詳細については、マニュアルman gdisk
を参照してください。
Testdiskを使用して、パーティションテーブルとファイルシステムを復元することができます。
CGSecurity Webサイトの指示と、@ ElderGeekが提供するリンクもお読みください。 インストール中に電源が切れるとパーティションが消えます
@CSMが提供するリンクに従ってgpart/gpartedを使用して、パーティションテーブルとファイルシステムを復元することもできます。
PhotoRec:パーティションテーブルとファイルシステムの回復に失敗した場合でも、一部のファイルデータを回復できます。ヘッドエンドのファイル(1〜1.5 GB)は上書きされて失われますが、ドライブのその部分の後ろのファイルはまだそこにあります。 http://cgsecurity.org のPhotoRecは、ファイルシステムなしで「ドライブの表面から」データを回復できるツールです。一般的なファイルタイプの先頭にある典型的なデータは、識別に使用されます。
次のリンクはPhotoRecに関する詳細を提供します、
https://www.cgsecurity.org/wiki/PhotoRec
ファイルを別のドライブのパーティションに保存する必要があります。
ディレクトリ構造を復元することは不可能であり、通常はファイル名を復元することはできません(権限と所有権は復元できません)。ファイルが断片化されると問題が発生しますが、PhotoRecによって多くのファイルを復元できます(写真、他の多くの一般的なファイルタイプ)。しかし、これは大きなことですが、大量の未ソートのファイルを調べて、本当に重要なファイルを特定し、意味のあるファイル名に名前を変更する必要があります。
将来、正しいターゲットデバイスを識別して選択し、最終チェックポイントを持つツールを使用してください。そうすれば、clone正しいターゲットデバイスへのisoファイル、たとえば
Linuxの場合:
gnome-disks
、Windowsの場合: Win32DiskImager 。
また、extractingツールを使用して、最終チェックポイントを提供することもできます。たとえば、
dd
コマンドを使用して、/ dev/sdaのパーティションテーブルと、image.isoのサイズに関するすべてのデータを上書きしました。
そのため、少なくとも/ dev/sdaの終わりに向かってパーティションを復元するために、パーティションテーブルを(正確なサイズで)復元することが最善です。
バックアップから復元する以外には、完全に回復する方法はありません。 DDはデバイスのパーティションテーブルと一部のデータを上書きしました。
ドライブが個別の/
パーティションと/home
パーティションに分割され、/home
パーティションが/
パーティションの後にある場合、データを回復できます。ほとんどのパーティションの場所をリストするMBRは上書きされています。ただし、gpartedは/home
パーティションを復元できます。
buntu Forumsのこの投稿 その方法に関するアイデアを提供します。 「gparted recover partition」を検索することでそれを見つけました。
失われたパーティション(拡張パーティション内にある可能性があります)を見つけたら、パーティションテーブルの唯一のパーティションとして追加する必要があります。
それが終わったら、Linuxを再インストールして、復元されたパーティションを/home
として保持するように指示する必要があります。
個人的に Testdisk を保証できます。これは、/dev/sdb
の指示を繰り返しコピーして貼り付け、USBである/dev/sdd
に変更した後にデータを保存しました。一度だけ変更を忘れて、/dev/sdb
をゴミ箱に入れました。
/dev/sda
に書き込まないようにシステムをセットアップしますラッパースクリプトを作成することを強くお勧めします: `dd`がSSDやHDDを破壊するのを防ぎます 。これにより、dd
が/dev/sda
または/dev/sdb
またはその他の大容量記憶装置に書き込まないことが保証されます。