AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / unix / Perguntas / 473337
Accepted
Kristian
Kristian
Asked: 2018-10-05 13:18:25 +0800 CST2018-10-05 13:18:25 +0800 CST 2018-10-05 13:18:25 +0800 CST

Obtenha o conteúdo do arquivo de imagem ddrescue

  • 772

Eu tenho um disco rígido com falha com cerca de 400 GB de dados, dos quais aproximadamente 50 GB precisam ser recuperados. Todos os dados estão localizados em um diretório específico ( /Fotos2018/ ).

O disco rígido é um WD My Passport Essential WDBAAA5000ABK (500 GB, USB 2.0) . Ele continha uma partição FAT32 contendo meus dados, bem como outra partição contendo alguns softwares WD.

Tentei fazer backup dos meus dados em um disco rígido saudável, usando ddrescue --no-split -r3 /dev/sdb1 defekt_wd.iso defekt_wd.log. Gerou toneladas de erros (não tenho a saída), mas acabou com o arquivo de saída. O arquivo de log tem 1,2 MB se isso fornecer alguma indicação. Durante esta operação, o disco rígido parecia cada vez mais arranhado e ficou bastante quente.

Encontrei vários métodos para extrair o conteúdo, mas nenhum deles foi bem-sucedido. Abaixo estão minhas tentativas:

Primeiro, a montagem tradicional (no entanto, não posso recompilar o kernel na máquina atual devido aos termos de garantia, mas se você acredita que isso funcionaria em uma máquina diferente, posso copiar o arquivo de imagem)

# mount defekt_wd.img /tmp/defektdisk
mount: Could not find any loop device. Maybe this kernel does not know about the loop device? (If so, recompile or `modprobe loop'.)
# modprobe loop
FATAL: Module loop not found.

Em segundo lugar, usando xorriso.

# xorriso -indev defekt_wd.img -ls
xorriso 1.3.2 : RockRidge filesystem manipulator, libburnia project.
xorriso : NOTE : Loading ISO image tree from LBA 0
libisoburn: WARNING : No ISO 9660 image at LBA 0. Creating blank image.
Drive current: -indev 'defekt_wd.img'
Media current: stdio file, overwriteable
Media status : is written , is closed
Media summary: 1 session, 228724832 data blocks,  436g data,     0 free
Volume id    : 'ISOIMAGE'
Valid ISO nodes found: 0

Eu também tentei extrair/listar/testar o arquivo usando 7-zip, por exemplo:

# 7z l defekt_wd.img 
7-Zip 9.20  Copyright (c) 1999-2010 Igor Pavlov  2010-11-18
p7zip Version 9.20 (locale=C,Utf16=off,HugeFiles=on,2 CPUs)
Error: defekt_wd.img: Can not open file as archive
Errors: 1

Aqui está a saída de file:

# file defekt_wd.img
defekt_wd.img: x86 boot sector, code offset 0x58, OEM-ID "BSD  4.4", sectors/cluster 64, Media descriptor 0xf8, heads 255, hidden sectors 2048, sectors 975394816 (volumes > 32 MB) , FAT (32 bit), sectors/FAT 119038, reserved3 0x800000, serial number 0xac2710e2, label: "XYZ "

Minha teoria atual é que o arquivo de imagem contém duas partições, mas não sei como extrair o conteúdo de apenas uma delas. Você pode oferecer alguma sugestão sobre o que fazer a seguir?

data-recovery disk-image
  • 3 3 respostas
  • 6933 Views

3 respostas

  • Voted
  1. blihp
    2018-10-05T13:28:35+08:002018-10-05T13:28:35+08:00

    Como você criou uma imagem de /dev/sdb1, você criou apenas uma imagem dessa partição (em oposição a /dev/sdb que seria a unidade inteira) Desde que a primeira partição fosse aquela que continha seus dados, isso seria o certo.

    Quanto a montá-lo, tente:

    mount -o loop defekt_wd.img /tmp/defektdisk
    

    Para obter mais informações sobre a tabela de partição (se houver) da imagem de disco, use:

    fdisk -l defekt_wd.img
    
    • 2
  2. Best Answer
    Kristian
    2018-10-11T10:48:10+08:002018-10-11T10:48:10+08:00

    Minha solução de trabalho foi copiar o conteúdo do arquivo de saída do ddrescue para um disco rígido físico diferente (de tamanho igual ou, de preferência, maior):

    # ddrescue -f defekt_wd.img /dev/sdb to_harddrive.log
    GNU ddrescue 1.19
    Press Ctrl-C to interrupt
    rescued:   468428 MB,  errsize:       0 B,  current rate:    4653 kB/s
       ipos:   468428 MB,   errors:       0,    average rate:   34703 kB/s
       opos:   468428 MB, run time:    3.74 h,  successful read:       0 s ago
    Finished                                     
    

    O disco rígido físico com o conteúdo resgatado foi capaz de montar e tive a sorte de recuperar cerca de 80% dos importantes 50 GB de fotos. Como a maioria era de fotos JPEG, pude até cortar algumas das fotos que foram parcialmente danificadas.

    • 0
  3. bjrne
    2021-05-28T02:22:24+08:002021-05-28T02:22:24+08:00

    Eu tive o mesmo problema, mas com um sistema de arquivos exFAT. Como o Ubuntu 20.04 não possui uma ferramenta no repositório para reparar o exFAT, usei o Testdisk ( testdisk /path/to/broken.img) para extrair os arquivos. O Testdisk ainda conseguiu ler a lista de arquivos que nem o Recuva, o Windows ou o reparo do Windows exFAT podiam fazer. Com essa lista, o Testdisk conseguiu copiar todas as imagens, incluindo nome de arquivo e metadados, para outro volume.

    • 0

relate perguntas

  • Moveu um diretório para um local inexistente?

  • MDADM - Recuperação de desastre ou passar do estado em que coloquei minha matriz RAID5

  • Como recuperar/copiar dados de discos que já fizeram parte de um RAID1 (LVM em MD) em um NAS de 2 discos?

  • script para mover arquivos mantidos excluídos com fdupes ou outro pacote de desduplicação

  • Qual é a diferença entre dd_rescue e ddrescue, quando preferir qual?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como exportar uma chave privada GPG e uma chave pública para um arquivo

    • 4 respostas
  • Marko Smith

    ssh Não é possível negociar: "nenhuma cifra correspondente encontrada", está rejeitando o cbc

    • 4 respostas
  • Marko Smith

    Como podemos executar um comando armazenado em uma variável?

    • 5 respostas
  • Marko Smith

    Como configurar o systemd-resolved e o systemd-networkd para usar o servidor DNS local para resolver domínios locais e o servidor DNS remoto para domínios remotos?

    • 3 respostas
  • Marko Smith

    Como descarregar o módulo do kernel 'nvidia-drm'?

    • 13 respostas
  • Marko Smith

    apt-get update error no Kali Linux após a atualização do dist [duplicado]

    • 2 respostas
  • Marko Smith

    Como ver as últimas linhas x do log de serviço systemctl

    • 5 respostas
  • Marko Smith

    Nano - pule para o final do arquivo

    • 8 respostas
  • Marko Smith

    erro grub: você precisa carregar o kernel primeiro

    • 4 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Martin Hope
    rocky Como exportar uma chave privada GPG e uma chave pública para um arquivo 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Wong Jia Hau ssh-add retorna com: "Erro ao conectar ao agente: nenhum arquivo ou diretório" 2018-08-24 23:28:13 +0800 CST
  • Martin Hope
    Evan Carroll status systemctl mostra: "Estado: degradado" 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim Como podemos executar um comando armazenado em uma variável? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S Por que /dev/null é um arquivo? Por que sua função não é implementada como um programa simples? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 Como ver as últimas linhas x do log de serviço systemctl 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - pule para o final do arquivo 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla Por que verdadeiro e falso são tão grandes? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST
  • Martin Hope
    Bagas Sanjaya Por que o Linux usa LF como caractere de nova linha? 2017-12-20 05:48:21 +0800 CST

Hot tag

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve