
重要なファイルが保存されている SD カードの書き込み速度をベンチマークしようとしたときに失敗しました。
sync; sudo dd if=/dev/zero of=/dev/sdb1 bs=1M count=1024; sync
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 23.5386 s, 45.6 MB/s
^C
マウントされたカード内のファイルに書き込むのではなく、/dev/sdb1 に直接書き込んでいることに気づいたので、データを上書きするのではないかと心配して、ベンチマークが終了したように見えた直後にキャンセルしました (終了していませんでした)。これで自動的にマウントされますが、何も表示されません (ファイル エクスプローラーでクリックできず、gparted では不明な exfat カードとしてのみ表示されます)。
私に何ができる?
答え1
復元アプリケーションは数多くありますが、個人的にはこれが一番効果的だphotorec
と思いますforemost
。Photorec はパッケージの一部でありtestdisk
、ほとんどのものはパッケージからインストールできますforemost
。
a) フォトレック
今すぐ実行する$ photorec /dev/sdb
と、photorec のインタラクティブ インターフェースが開きます。
ディスクを選択するには、リターン ( [Proceed]
) を押します。次の画面で、パーティションを選択するように求められます。photorec が正しいパーティションを見つけたら、ここでファイルを復元するパーティションを選択できます。パーティションが正しく検出されない場合は、 を選択してNo partition [Whole disk]
もう一度リターンを押して を実行します[Search]
。次の画面でファイルシステムの種類を選択したら、復元したファイルを保存するディレクトリを選択する必要があります。 で確定しますC
。
b) 何よりも
Photorecは、ドライブとメディア内の「データブロック」を検索することで機能します。ヤスリ彫刻フォアモストは少し異なる方法で実行します。ファイル カービングの概念は引き続き使用しますが、基盤となるファイル システムの種類は無視し、ドライブのセグメントを RAM にコピーして直接動作し、その後、ファイル ヘッダーの種類をスキャンします。フォアモストには、一般的なファイルのほとんどの種類を回復するための組み込みヘッダーが多数付属しています。あまり一般的でないファイルの種類を検出するためにカスタム ヘッダー/フッターを追加したい場合、フォアモストはこの機能を提供します。
イメージのデフォルト オプションを使用して foremost を実行するには、次のコマンドを実行します。
$ foremost -i /dev/sdb -v
/dev/sdb1
そのパーティションからのみファイルを回復する場合は、ここを使用できます。
output
これにより、復元されたすべてのファイルが(最初に作成される新しいディレクトリ)に保存されます。-o
フラグを使用して別の出力ディレクトリを指定し、-a
エラーを無視したり破損したファイルを保存したりできます。
オプション: 回復したファイルをフィルタリングする
これはオプションですが、特定の種類のファイルのみに関心がある場合もあります。さらに悪いことに、回復ツールで数百万のファイルが表示され、そのうち数千はJPEGファイルのように見えますが、実際には破損したファイルであり、画像ではありません。これらをフィルタリングするには、これSuperUser の別の質問に対する回答です。
今後これをどう防ぐか
データをdd
台無しにしてしまう人があまりにも多いです。あまりにも簡単すぎるのです。私のおすすめは:
#!/bin/bash
read -r -p "Have you checked at least TWICE if the parameters are correct? [y/N] " response
response=${response,,}
if [[ "$response" =~ ^(yes|y)$ ]]; then
dd "$@"
else
echo "Better be safe than sorry."
fi
これを/usr/bin/sdd
または任意の名前で保存します。chmod +x
後で使用します。今後は、sdd
の代わりに を常に使用しますdd
。