EN JA
RECOVERDISK(1)
RECOVERDISK(1) FreeBSD General Commands Manual RECOVERDISK(1)

名称

recoverdiskハードディスクまたは光メディアからデータを回復する

書式

recoverdisk [ -b bigsize][ -r readlist][ -s interval][ -w writelist] source [ destination]

解説

recoverdisk ユーティリティは、すべてのブロックの読み込みが成功して読み込まれるまで、 source ファイルからデータを読み込みます。 destination が指定されたなら、すべてのデータは、そのファイルに書き込まれています。セクタサイズの倍数で読み始めます。ブロックが失敗するときは、いつでも、たぶん読み込みサイズが小さいためで、作業キューの終わりにプットし、再び読み込みます。

デフォルトで、およそ 1MB、32kB とネイティブのセクタサイズ (通常 512 バイト) のブロックサイズを使用します。これらの数字は、セクタサイズが 2 の冪乗でないデバイスのために、例えば、2352 バイトのセクタサイズがあるオーディオ CD、わずかに調整されます。

オプションは、次の通りです:

-b bigsize
最初に試みられた読み込みのサイズ。中間 (middle) のパスは、およそ bigsize とセクタサイズの対数平均です。
-r readlist
指定されたファイルから読み込むためのブロックとブロックサイズのリストを読み込みます。
-s interval
いろいろなことがうまく行っている間に、どれくらいの頻度で writelist ファイルを更新するべきか。デフォルトは、60 であり、単位は、"progress messages" (進捗メッセージ) であるので、いろいろなことがうまく行っているなら、これは、1 分ごとに一度と同じです。
-w writelist
recoverdiskSIGINT を通してアボートされるなら、指定されたファイルを読み込むために、残っているブロックのリストを書き込みます。

-r-w オプションを同時に指定することができます。特に、それらは、アボートのときに更新されるのと同じファイルを示すことができます。

出力

recoverdisk ユーティリティは、進捗を詳しく示す、いくつかのカラムを印刷 (表示) します。
start
現在のブロックの開始オフセット。
size
現在のブロックの読み込みサイズ。
len
現在のブロックの長さ。
state
あらゆる失敗した読み込みで増加されます。
done
既に読み込んだバイト数。
remaining
残りバイト数。
% done
完了したパーセント。

使用例

# 失敗しているハードドライブ ad3 からデータを復旧する 
recoverdisk /dev/ada3 /data/disk.img 
 
# クローンのハードディスク 
recoverdisk /dev/ada3 /dev/ada4 
 
# CD-ROM から ISO イメージを読み込む 
recoverdisk /dev/cd0 /data/cd.iso 
 
# 壊れている CD から読み込みを継続し、既存の worklist を更新する 
recoverdisk -r worklist -w worklist /dev/cd0 /data/cd.iso 
 
# 読み込み不可能なメディアから単一のファイルを復旧する 
recoverdisk /cdrom/file.avi file.avi 
 
# ディスクが読み込みエラーでシステムをハングアップするなら、次を試みます: 
recoverdisk -b 0 /dev/ada3 /somewhere 

関連項目

dd(1), ada(4), cam(4), cd(4), da(4)

歴史

recoverdisk ユーティリティは、 FreeBSD 7.0 ではじめて登場しました。

作者

オリジナルの実装は、 Ulrich Spörlein <uqs@FreeBSD.org>による小さな改良とともに Poul-Henning Kamp <phk@FreeBSD.org>によって行われました。

このマニュアルページは、 Ulrich Spörlein によって書かれました。

バグ

2 の冪乗でないセクタサイズのメディアからの読み込みは、 1MB の読み込みをすべて失敗させます。これは、多くても 128kB のブロックに分割される DMA 読み込みのためです。セクタサイズが 128kB の除数でないなら、これらの読み込みは、失敗します。完全に生のオーディオ CD を読み込むとき、おおよそ 700 の飛び交うエラーメッセージを導きます。これは、無害であり、わずか 128kB に -b を設定することによって、避けることができます。

recoverdisk は、読み込みエラーのことをできるだけ速く知る必要があります、すなわち、下層による再試行は、通常操作を遅くします。アタッチされた cam(4) のドライブを使用するとき、kern.cam.XX.retry_count を 0 に設定したいなら、例えば:

# sysctl kern.cam.ada.retry_count=0 
# sysctl kern.cam.cd.retry_count=0 
# sysctl kern.cam.da.retry_count=0
October 1, 2013 FreeBSD