Após o resgate com 'dd' - o que fazer?

0

Eu tenho um externo que, de repente, ficou preso em mim. Pode não estar em forma horrível, embora eu não tenha certeza.

Eu apenas tentei recuperá-lo usando o ddrescue, direto para uma partição grande.

sudo dd if=/dev/sdb of=/dev/sda3 bs=4096 conv=notrunc,noerror,sync

Correu por algumas horas e disse que 160 bg foram copiados. Eu não fiz uma imagem, apenas copiei sdb para sda3.

A luz do disco estava acesa constantemente durante todo o tempo, embora eu não tenha ouvido nenhum barulho.

Então, depois que ele é executado, descubro que a partição para a qual eu salvei perdeu o rótulo e afirma estar vazia. Aqui está a informação, sda3 é a partição que eu salvei para:

sudo fdisk -lu

Disk /dev/sda: 2000.4 GB, 2000398934016 bytes
255 heads, 63 sectors/track, 243201 cylinders, total 3907029168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x0005901e

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1            2048     4294655     2146304   82  Linux swap / Solaris
/dev/sda2   *     4294656  1172654030   584179687+  83  Linux
/dev/sda3      1172654080  3907028991  1367187456   83  Linux
Note: sector size is 4096 (not 512)

No Gparted, me disseram que o superbloco é ruim nessa partição. Ele oferece a opção de atribuir um novo UUID à partição, que ainda não experimentei.

Então eu não sei o que fazer agora, a transferência foi feita? Os dados estão nessa partição?

Eu acho que o disco ruim foi montado quando eu fiz a transferência, eu não fui avisado sobre isso e então não percebi. Acho que posso pegar outra cópia do disco, mas quero ter cuidado aqui. Eu tenho alguma coisa com que valha a pena trabalhar, e posso entrar nesse drive de alguma forma? Eu entendo que o tamanho do setor mudou devido ao dd, e também que o erro no externo está agora na partição.

Mas como acessar isso? Eu deveria ter feito uma imagem? Qualquer conselho seria apreciado.

    
por RhZ 19.09.2014 / 19:02

2 respostas

2

Verifique o resultado de dd com echo $? logo após o término. Tem que ser 0 ! Verifique a saída de dd para erro óbvio. Não vejo o tamanho de /dev/sdb na pergunta.

A especificação de um arquivo de dispositivo sem o número de partição não copia a partição, mas todo o dispositivo, incluindo a tabela de partição. Ou você sabe qual partição será resgatada, ou seja, especifique /dev/sdaX como if argumento de dd ou crie e imagem de todo o dispositivo (melhor ideia), monte-o em um dispositivo de loop, por exemplo encontre o próximo dispositivo de loop livre com losetup -f , use-o com losetup /dev/loopY /path/to/image.img e faça o kernel reconhecer as partições com kpartx /dev/loopYp? onde ? deve ser o número da partição que você deseja recuperar da maneira descrita na sua pergunta. / p>

Dependendo de quão gravemente o disco foi quebrado, ou seja, se mais leituras podem danificá-lo mais e quanto espaço você tem em qualquer dispositivo de armazenamento, crie uma imagem do original ou da cópia (o resultado seria a cópia de uma cópia, mas isso pode impedir danos ao original pela leitura).

Acelerar as coisas : quando você usa a cópia de /dev/sdb on /dev/sda3 (use-a apenas se necessário), você está copiando muitos dados inúteis se /dev/sdb for apenas 160 GB (a diferença entre o final de /dev/sdb e o final de /dev/sda3 ). Se você quiser ignorar isso, informe dd para copiar apenas o comprimento de /dev/sdb com bs e count argumento ( man dd é leitura obrigatória nesse caso).

Talvez haja uma maneira de dizer ao kernel alguns ajustes que o /dev/sda3/ contém uma tabela de partições, mas considero isso bastante complicado e experimental.

    
por Karl Richter 19.09.2014 / 22:05
0

Criar uma imagem é uma boa ideia. Ter buracos em seus dados é esperado. Mas depois de ter uma imagem, você pode voltar a ela.

  1. fsck, se falhar, tente novamente.
  2. Copie partições para parções, discos para discos.

    • não copie sdb para sda3, isso é "disco para partição", não normal.
  3. Se você copiar para uma área maior, e fsck estiver OK, isso pode ser o melhor possível, mas você ainda pode extrair o hex e o texto da imagem. (talvez jpegs mesmo).

  4. Se estiver funcionando e tudo bem, e você tiver se mudado para um dispositivo maior, será possível aumentar os tamanhos das partições e "aumentar o sistema de arquivos para preencher a partição".

por mckenzm 09.03.2015 / 01:52