Debianを実行しているヘッドレスRaspberryPiにUSBがありましたが、マウントを解除せずに再起動した後(マウントされたフォルダーで実行されているプログラムがありました)、USBを使用できなくなりました。以下は私のUbuntu18.04での出力です。
lsusb
、ドライブはそこにあります:
Bus 001 Device 005: ID 090c:3000 Silicon Motion, Inc. - Taiwan (formerly Feiya Technology Corp.)
ll /dev/disk/by-id/usb-Silicon_Motion_Inc._USB_MEMORY_BAR-0\:0
、/dev/sdb
へのリンクを表示します
/dev/disk/by-id/usb-Silicon_Motion_Inc._USB_MEMORY_BAR-0:0 -> ../../sdb
file /dev/sdb
:
/dev/sdb: block special (8/16)
ただし、mount /dev/sdb folder
は次のことを示しています。
mount: /home/steamos/TOSH: no medium found on /dev/sdb.
問題のように見える次の情報が見つかりました:blockdev --report /dev/sdb
:
RO RA SSZ BSZ StartSec Size Device
rw 256 512 4096 0 0 /dev/sdb
およびudevadm info -a -n /dev/sdb
が役立つ場合:
looking at device '/devices/pci0000:00/0000:00:01.3/0000:01:00.0/usb1/1-7/1-7:1.0/Host10/target10:0:0/10:0:0:0/block/sdb':
KERNEL=="sdb"
SUBSYSTEM=="block"
DRIVER==""
ATTR{alignment_offset}=="0"
ATTR{capability}=="51"
ATTR{discard_alignment}=="0"
ATTR{events}=="media_change"
ATTR{events_async}==""
ATTR{events_poll_msecs}=="-1"
ATTR{ext_range}=="256"
ATTR{hidden}=="0"
ATTR{inflight}==" 0 0"
ATTR{range}=="16"
ATTR{removable}=="1"
ATTR{ro}=="0"
ATTR{size}=="0"
ATTR{stat}==" 0 0 0 0 0 0 0 0 0 0 0"
したがって、問題はデバイスサイズとATTR{stat}== 0 0 0 0...
にあります。
dmesg -w
は以下を示しています:
[33490.303624] usb 1-7: USB disconnect, device number 5
[33510.836920] usb 1-7: new high-speed USB device number 6 using xhci_hcd
[33511.432630] usb 1-7: New USB device found, idVendor=090c, idProduct=3000
[33511.432634] usb 1-7: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[33511.432636] usb 1-7: Product: SM3255AA MEMORY BAR
[33511.432638] usb 1-7: Manufacturer: Silicon Motion,Inc.
[33511.438206] usb-storage 1-7:1.0: USB Mass Storage device detected
[33511.438372] scsi Host10: usb-storage 1-7:1.0
[33512.473781] scsi 10:0:0:0: Direct-Access USB MEMORY BAR 1000 PQ: 0 ANSI: 0 CCS
[33512.474222] sd 10:0:0:0: Attached scsi generic sg2 type 0
[33512.474975] sd 10:0:0:0: [sdb] Attached SCSI removable disk
USB上のファイルを復元するにはどうすればよいですか?
USB上のファイルを復元するにはどうすればよいですか?
ドライブを完全に保存できることを願っていますが、この質問に答えたいと思います。
これは非常に重要なステップであり、良いよりも多くのダメージを与えることを防ぎます。これは、ドライブの修正を試みる前であっても、良い考えです。後で行うファイルの回復は、実際のディスクではなく、ディスクイメージで実行されます。ディスクイメージを作成するには、次のコマンドを発行するだけです(ステータスフラグはオプションで、dd
が実行されているときに進行状況の統計が表示されます)
$ Sudo dd if=/dev/sdb of=sdb.img bs=1M status=progress
リカバリアプリケーションはたくさんありますが、個人的にはphotorec
とforemost
が最適であることがわかりました。 photorec
は通常、testdisk
パッケージの一部です。 Debianでは、次のように両方をインストールできます。
$ Sudo apt-get install testdisk foremost
a)Photorec
今すぐ$ photorec sdb.img
を実行して、photorecのインタラクティブインターフェイスを開きます。
Return([Proceed]
)を押して、ディスクイメージを選択します。次の画面で、パーティションを選択するように求められます。 photorecが正しいパーティションを見つけたら、ここからファイルを回復したいパーティションを選択できます。パーティションが正しく検出されない場合は、No partition [Whole disk]
を選択し、もう一度Returnキーを押して[Search]
を実行します。次の画面でファイルシステムの種類を選択したら、復元されたファイルを保存するディレクトリを選択する必要があります。 C
で確認します。
完了したら、手順3に進みます。
b)何よりも
Photorecは、 ファイルカービング を使用してドライブとメディアの「データブロック」を見つけようとすることで機能しますが、何よりも少し異なります。それはまだファイルカービングの概念を使用していますが、基盤となるファイルシステムのタイプを無視し、ドライブのセグメントをRAMにコピーすることで直接機能し、RAMはファイルヘッダータイプをスキャンされます。 Foremostには、ほとんどの種類の一般的なファイルを回復するための多くの組み込みヘッダーが付属しています。あまり一般的でないファイルの種類を検出するためにカスタムヘッダー/フッターを追加する場合は、何よりもこの機能を提供します。
イメージのデフォルトオプションを使用して最初に実行するには、次のコマンドを実行します。
$ foremost -i sdb.img -v
これにより、復元されたすべてのファイルがoutput
(何よりも作成される新しいディレクトリ)に保存されます。 -o
フラグと-a
を使用して別の出力ディレクトリを指定すると、エラーを無視したり、破損したファイルを保存したりできます。
これはオプションですが、特定の種類のファイルだけに関心がある場合もあれば、さらに悪い場合もあります。回復ツールを使用すると、数百万のファイルが提供され、そのうちの数千は、たとえばJPEGファイルのように見えますが、実際には破損しているだけです。ファイルであり、画像ではありません。これらを除外するには、次を使用できます this SuperUserに関する別の質問に答えました。