drive USB não detectado

1

Eu tinha um USB em um raspberry headless pi executando o Debian, mas depois de reiniciar sem desmontar (havia programas rodando na pasta montada), eu não podia mais usar o USB. O seguinte é a saída no meu Ubuntu 18.04 de:

lsusb , a unidade está lá:

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 , mostra o link para /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)

No entanto, mount /dev/sdb folder mostra:

mount: /home/steamos/TOSH: no medium found on /dev/sdb.

Encontrei as seguintes informações que parecem com o problema: blockdev --report /dev/sdb :

RO    RA   SSZ   BSZ   StartSec            Size   Device
rw   256   512  4096          0               0   /dev/sdb

e udevadm info -a -n /dev/sdb se puderem ajudar:

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"

Portanto, o problema está no tamanho do dispositivo e ATTR{stat}== 0 0 0 0... .

dmesg -w mostra:

[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

Como posso recuperar os arquivos no USB?

    
por tty11 30.07.2018 / 16:16

1 resposta

1

How can I recover the files on the USB?

Embora eu espere que você consiga salvar totalmente a unidade, gostaria de responder a essa pergunta.

1. Crie uma imagem da unidade

Este é um passo muito importante que irá impedi-lo de causar mais danos do que benefícios. Essa é uma boa ideia antes mesmo de você tentar consertar a unidade. A recuperação de arquivos que faremos mais tarde será executada na imagem do disco, em vez do disco real. Para criar uma imagem de disco, simplesmente emita o seguinte comando: (O flag de status é opcional, mostra a estatística de progresso como dd está em execução)

$ sudo dd if=/dev/sdb of=sdb.img bs=1M status=progress

2. Execute a recuperação de arquivos

Existem muitas aplicações de recuperação, pessoalmente acho que photorec e foremost funcionam melhor. photorec geralmente faz parte do pacote testdisk . No debian, você pode instalar ambos da seguinte forma:

$ sudo apt-get install testdisk foremost

a) Photorec

Basta executar $ photorec sdb.img para abrir a interface interativa da photorec.

Retorno de retorno ( [Proceed] ) para selecionar a imagem do disco. Na próxima tela, você é solicitado a selecionar uma partição. Se o photorec encontrar as partições corretas, você pode selecionar a que deseja recuperar os arquivos aqui. Se ele não detectar as partições corretamente, basta selecionar No partition [Whole disk] e pressionar novamente para executar o [Search] . Uma vez selecionado o tipo de sistema de arquivos na próxima tela, você precisa selecionar um diretório no qual os arquivos recuperados devem ser salvos. Confirme com C .

Quando terminar, prossiga com o passo 3.

b) Acima

Enquanto o photorec trabalha tentando encontrar "blocos de dados" da unidade e da mídia usando o entalhe de arquivos , o mais importante é é um pouco diferente. Ele ainda está usando o conceito de entalhe de arquivo, mas ignora o tipo de sistema de arquivos subjacente e funciona diretamente copiando segmentos da unidade em sua RAM, que é então verificada em busca de tipos de cabeçalho de arquivo. Acima de tudo vem com um monte de cabeçalhos internos para recuperar a maioria dos tipos de arquivos comuns, se você quiser adicionar cabeçalhos / rodapés personalizados para detectar tipos de arquivos menos comuns, acima de tudo oferece-lhe essa capacidade.

Para correr primeiro usando as opções padrão na imagem, execute o seguinte comando:

$ foremost -i sdb.img -v

Isso salvará todos os arquivos recuperados em output (novo diretório criado acima). Você pode especificar outro diretório de saída usando o -o flag e -a para ignorar erros / salvar arquivos corrompidos.

3. Filtrar os arquivos recuperados

Isto é opcional, mas às vezes você só está interessado em tipos específicos de arquivos, ou pior: Ferramentas de recuperação dão a você um milhão de arquivos dos quais milhares parecem ser, por exemplo, um arquivo JPEG, mas na realidade é apenas um arquivo corrompido e não uma imagem em tudo. Para filtrá-los, você pode usar esta resposta que eu dei para outra pergunta no SuperUser.

    
por 30.07.2018 / 18:03