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 / 679925
Accepted
blacKnight
blacKnight
Asked: 2021-12-03 08:51:46 +0800 CST2021-12-03 08:51:46 +0800 CST 2021-12-03 08:51:46 +0800 CST

Por que meu dd Full Disk Copy continua falhando em 8 GB?

  • 772

Estou tentando clonar um SSD de 500 GB para um SSD de 1 TB. Por algum motivo, ele continua falhando quando os dados que estão sendo copiados atingem 8 GB. Este é o terceiro SSD de 1 TB que experimentei e todos ficaram presos no mesmo lugar. Eu executei o seguinte comando:

dd if=/dev/sda of=/dev/sdb bs=1024k status=progress

Eu também tentei clonar a unidade usando o Clonezilla, que falha no mesmo local. Eu usei o GParted para reformatar a unidade e configurá-la para um sistema de arquivos EXT4, mas ela ainda fica presa no mesmo local. Sda é interno e sdb é conectado externamente.

O erro que estou recebendo diz:

7977443328 bytes (8.0 GB, 7.4 GB) copied, 208s, 38.4 MB/s
dd: error reading '/dev/sda': Input/output error
7607+1 records in
7607+1 records out

Obrigado a @roaima pela resposta abaixo. Consegui executar ddrescuee copiou a maioria dos dados. Retirei o SSD interno e conectei os SSDs novos e antigos a uma caixa CentOS via USB3. Eu corri o seguinte:

ddrescue -v /dev/sdb /dev/sdc tmp --force

Durou mais de 15 horas. Parou durante a noite. Mas o bom é que voltou de onde parou quando executei o comando novamente.

Eu usei screenpara não ficar preso em uma única sessão na segunda vez :) . Eu costumava Ctrl+csair do comando ddrescue depois que 99,99% dos dados foram resgatados, pois estavam pendurados por horas. Consegui inicializar a partir da nova unidade e inicializou. Aqui está o estado em que eu saí do ddrescue:

Initial status (read from mapfile)
rescued: 243778 MB, tried: 147456 B, bad-sector: 0 B, bad areas: 0

Current status
     ipos:  474344 MB, non-trimmed:    1363 kB,  current rate:       0 B/s
     ipos:  474341 MB, non-trimmed:        0 B,  current rate:       0 B/s
     opos:  474341 MB, non-scraped:   522752 B,  average rate:   8871 kB/s
non-tried:        0 B,  bad-sector:   143360 B,    error rate:       0 B/s
  rescued:  500107 MB,   bad areas:      123,        run time:  8h  1m 31s
pct rescued:   99.99%, read errors:      354,  remaining time:     14h 31m
                              time since last successful read:      6m  7s
Scraping failed blocks... (forwards)^C
  Interrupted by user

Espero que isso ajude os outros. Acho que meu disco antigo estava começando a falhar. Espero que nenhum dado tenha sido perdido. Agora vamos redimensionar a partição LUKS :)

linux dd
  • 2 2 respostas
  • 2843 Views

2 respostas

  • Voted
  1. Best Answer
    roaima
    2021-12-03T09:35:34+08:002021-12-03T09:35:34+08:00

    O erro é , dd: error reading '/dev/sda': Input/output errorque informa que o problema está lendo o disco de origem e não gravando no destino. Você pode substituir o disco de destino quantas vezes quiser e isso não resolverá o problema de leitura da fonte.

    Em vez de usar dd, considere resgatar os dados do disco antes que ele morra completamente. Copie os arquivos usando algo como rsyncou cp, ou faça uma cópia da imagem com ddrescue.

    ddrescue -v /dev/sda /dev/sdb /some/path/not/on/sda_or_sdb
    

    O último parâmetro aponta para um arquivo temporário relativamente pequeno (o arquivo de mapa) que não está em /dev/sdanem /dev/sdb. Pode estar em um cartão de memória USB externo se você não tiver mais nada.

    O ddrescuecomando entende que um disco de origem pode estar com defeito. Ele lê blocos relativamente grandes de cada vez até encontrar um erro e, nesse ponto, marca a seção para inspeção mais detalhada e tentativas de cópia menores. O arquivo de mapa é usado para permitir reinicializações e continuações no caso de seu disco de origem travar e o sistema precisar ser reiniciado. Ele fará o possível para copiar tudo o que puder.

    Depois de copiar o disco, você /dev/sdbparecerá ter partições correspondentes apenas ao tamanho do disco original. Você pode usar fdiskou gparted/ partedpara corrigir isso depois.

    Se ocorreu um erro ao copiar os dados, você deve primeiro usar um da fsckfamília para verificar e corrigir as partições. Por exemplo, e2fsck -f /dev/sdb1.

    • 46
  2. jcathey
    2021-12-05T09:37:19+08:002021-12-05T09:37:19+08:00

    Há um erro na mídia de origem e dd, por padrão, para no primeiro erro. A solução canônica para copiar mídia de origem parcialmente ruim envolve fornecer as opções "conv=noerror,sync". Isso diz para ignorar os bits ruins, substituindo-os por nulos e continue. O tamanho do bloco que você está usando deve corresponder ao do sistema de arquivos neste caso, senão um 'setor' um pouco ruim removerá um bloco dd inteiro. (Você perderá dados adicionais, além do que está ruim na mídia de origem.)

    Portanto, embora o dd possa fazer o trabalho e tenha sido usado para fazer exatamente isso por décadas, provavelmente existem outras ferramentas que podem ser mais adequadas.

    • 7

relate perguntas

  • Existe uma maneira de fazer ls mostrar arquivos ocultos apenas para determinados diretórios?

  • Inicie/pare o serviço systemd usando o atalho de teclado [fechado]

  • Necessidade de algumas chamadas de sistema

  • astyle não altera a formatação do arquivo de origem

  • Passe o sistema de arquivos raiz por rótulo para o kernel do Linux

Sidebar

Stats

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

    Possível firmware ausente /lib/firmware/i915/* para o módulo i915

    • 3 respostas
  • Marko Smith

    Falha ao buscar o repositório de backports jessie

    • 4 respostas
  • Marko Smith

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

    • 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

    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
    user12345 Falha ao buscar o repositório de backports jessie 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl Por que a maioria dos exemplos do systemd contém WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • 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
    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

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