Como clonar todo o disco rígido em um novo?

3

Eu usei o comando dd para copiar meu disco rígido de 500 GB em meu novo disco rígido de 1 TB. Após 9 horas de mensagem de exibição do sistema, tudo foi copiado com sucesso, mas não consigo exibir nenhum dado no meu novo disco rígido.
eu vou através dos seguintes passos.
passo 1: -

Depois que o sistema dissolver a mensagem: - step2: -
mas agora 1 TB HDD não pode exibir nada. Como resolver esse problema?

    
por Madhav Nikam 08.03.2016 / 17:21

3 respostas

9

Esse problema foi criado por um comando dd incorreto. O comando dd preciso para clonagem de disco é:

dd if=/dev/sda of=/dev/sdb

sda e sdb apontam para os próprios discos rígidos, o que inclui também a tabela de partições. if= aponta para o arquivo de entrada (nesse caso, /dev/sda ) e of= aponta para o arquivo de saída ( /dev/sdb ).

O comando dd é demorado, mas é mais confiável e também é uma ferramenta de sistema padrão, por isso dei prioridade a dd .

Após a operação bem sucedida, o próximo passo é reiniciar o sistema , então seu novo disco rígido ficará assim:

Aqui está a segunda última etapa, que também é obrigatória após dd : Use o utilitário Gparted para redimensionar a partição estendida . A antiga tabela de partições do disco rígido era do tipo Legacy e não suportava mais de 4 partições primárias. Portanto, o redimensionamento é a única opção segura para usar 500 GB de espaço livre.

Após redimensionar a partição estendida:

    
por Madhav Nikam 10.03.2016 / 04:18
2

Recentemente eu tive que usar o dd para recuperação e trabalho de imagem. Eu usei-o intensamente uns 10 anos atrás para clonar drives e fazer backup de partições. Devo dizer que seu uso está a anos-luz de distância, direta e simples. Com relação aos HDDs, você precisa saber exatamente como o drive está estruturado no nível mais baixo. Para isso, você precisa de outros programas nos quais possa confiar (fdisk, sfdisk, cfdisk, etc.). A confiança só vem da experimentação com objetos conhecidos e da análise dos resultados - não do boca a boca. Eu estou de acordo com o comentário inicial de muru sobre o comando dd errado, mas mais deve ser dito. if = / dev / sda inicia a leitura no início do dispositivo (endereço de byte 0) enquanto de = / dev / sdb1 grava na primeira partição do dispositivo b. O resultado é que o seu sda-MBR reside em sdb-part1, junto com seu SO, etc., e eu não sei o que acontecerá quando chegar ao final de sdb1, se for maior que sdb1.

Eu estou supondo que sda é o dispositivo de inicialização e você deseja que o sdb também seja o seu dispositivo de inicialização, mas talvez você queira apenas que o sdb1 seja um clone de backup. Sua pergunta é vaga sobre isso. Você pode copiar a partição para a partição se ela for exatamente do mesmo tamanho, mas talvez o SO tenha metadados sobre o sistema de arquivos da partição que não correspondem, por isso não é possível "visualizá-lo". Se você quer apenas um clone para backup, talvez seu comando esteja ok, mas há problemas em chegar ao fim da partição e sobrescrever a próxima partição, e se o seu SO irá se opor à destruição do sistema de arquivos em sdb1 (inicialização de sda1 (?)). Em princípio, isso pode funcionar, mas provavelmente é melhor escrever sda em sdb e esquecer a inicialização de sdb, é apenas um clone para leitura. Você provavelmente poderia escrever para o arquivo se tivesse o extFAT ou algum sistema que aceitasse os tamanhos de arquivo de 500GB, mas duvido que você faça isso.

Existem dezenas de outras questões também. Se você quisesse transferir para o sdb e depois inicializá-lo, você deve saber os bytes e setores para copiar e incluí-los em seu comando - certificando-se de que sua unidade de saída tem o tamanho necessário, novamente / dev / sda para / dev / sdb deve funcionar, exceto por alguns problemas que eu encontrei. Ou seja, o que o dd deve fazer se encontrar um erro de leitura que seja comum em unidades usadas mais antigas? Você pode definir dd para ignorá-los, mas o que então ele escreve? Na minha experiência, ele não escreve nada, portanto, 512 bytes (bloco tradicional normal, mas seu disco pode ser diferente; unidades mais recentes podem usar blocos de 4096 bytes) é retirado da gravação e todos os bytes adicionais são deslocados "para a esquerda" onde eles deveriam estar. Isso acontece para cada erro de leitura que talvez você tenha optado por ignorar, porque um erro de leitura pára o dd frio e uma reinicialização é dolorosamente difícil. Em suma, dd para clonagem pode ser feito, mas deve ser feito em um script bash com um loop de recuperação de erro que preenche os blocos não lidos com nulos, o comando deve especificar contagens de bloco exatas e você deve saber exatamente o formato de baixo nível as unidades envolvidas. No final, provavelmente é melhor para a clonagem séria usar um executável c de código aberto dedicado que faz o que o dd e o sfdisk fazem, mas de forma mais profissional. Mas eu admito que o dd é útil. É como uma faca de Bowie no seu cinto - impressionante e poderosa, mas com utilidade limitada.

Além disso, os sistemas operacionais podem verificar os UUIDs armazenados em espaço livre e outros locais no disco rígido e podem se opor à inicialização se não corresponderem. Esta é uma das áreas de arte negra da competitividade do sistema operacional. O software oficial conhece essas coisas.

As tabelas GPT também são importantes, até mesmo essenciais nos dias de hoje, ao contrário de 10 anos atrás. E as partições de inicialização EFI complicam as coisas também. Com o pouco que sei sobre formatação de disco de baixo nível, não vou perder meu tempo tentando clonar um disco inteiro. Partes do disco podem ser úteis para problemas muito especiais. Ignorando o LVM e seu significado, uma partição pode ser clonada, mas somente para leitura de volta ao drive original (sem mixagem de SO, mudanças de inicialização, etc.) Para transferir um drive de 500GB inicializável para criar um sistema de inicialização de 1TB, assumindo que o SO não se opõe a um drive diferente (assinaturas de hardware?), então minha sugestão para um experimento bem sucedido seria fazer a formatação de baixo nível na unidade de 1 TB exatamente como a unidade de 500 GB - quero dizer exatamente! Você deve examinar as tabelas MBR e GPT com um editor hexadecimal. Em seguida, digite as partições byte-by-byte na nova unidade. Em seguida, inicialize a unidade de 1 TB (assumindo sucesso) e crie outra partição nos novos 500 GB de espaço adicional, ou expanda a partição e o sistema de arquivos ativo, se tiver e confiar em tal software. Confiar neste reino é difícil de encontrar porque este material é difícil e desastroso se ficar errado. É melhor comprar um novo sistema ou software com uma excelente reputação e SHA256SUMed para que você possa verificar sua integridade. Os sistemas digitais são por natureza voláteis e impermanentes, portanto, melhor se acostumar a mudar, se você precisar de mais do que você tem.

    
por Gavilan 22.03.2016 / 11:58
0

Eu tenho:

  • adicionou um segundo disco virtual maior à máquina virtual ubuntu (configuração de caixa virtual)
  • copiou o primeiro para o segundo disco com "sudo dd if = / dev / sda de = / dev / sdb"
  • excluiu o partitin de troca no sdb (gparted)
  • sdb1 ampliado (gparted)
  • recriou a partição de troca em sdb (gparted)
  • parou a máquina virtual
  • removeu a unidade virtual antiga (configuração da caixa virtual)
  • o substituiu pela nova unidade copiada e maior (configuração da caixa virtual)

Se funciona com o virtualbox, funciona mesmo com hardware real ...

    
por aldo 12.09.2018 / 18:22