Como faço para imaginar uma unidade de 128 GB para uma de 120 GB usando o Linux dd?

1

Eu tenho 2 SSDs. Meu sistema (Ubuntu 12.04) está instalado em um e eu quero cloná-lo para outro. O problema é que o sistema está atualmente em uma unidade de 128 GB e o novo é de apenas 120 GB. É possível criar uma imagem usando dd para um drive de menor capacidade?

    
por depquid 29.04.2013 / 16:47

3 respostas

4

Como fazer o que você pediu para fazer:

  1. use o gparted para redimensionar a partição do sistema menor que 120 GB ... de preferência, se possível, consideravelmente menor que 120 GB, para garantir que você realmente o tenha abaixo do tamanho total do unidade de destino.

  2. dd if=/dev/sda bs=8M of=/dev/sdb , supondo que suas unidades de origem e de destino sejam sda e sdb, respectivamente. faça isso a partir do modo de segurança ou de um ambiente de inicialização ao vivo, NÃO do seu sistema operacional de origem que está sendo executado com um login multiusuário normal.

    OU , se você tiver acesso à rede no seu ambiente de inicialização ao vivo e universo nas suas fontes: apt-get install pv ; pv < /dev/sda > /dev/sdb . A diferença entre este comando e o comando dd, para seus propósitos aqui, é que este lhe dá um P-R-G-R-E-S-S B-A-R ...:)

No entanto, uma maneira provavelmente melhor de fazer o que você realmente quer fazer:

  1. faça uma instalação do Ubuntu na unidade alvo. (existem maneiras mais eficientes de obter um setor de boot em uma nova unidade, mas estou indo para "noob-friendly" aqui.)

  2. monte as duas unidades a partir de um ambiente de inicialização ativo e rsync -harv --progress /path/to/source/ /path/to/target/ . Note que você REALMENTE quer estar em um ambiente de inicialização ao vivo aqui, não em um sistema em execução, caso contrário você terá que lidar com coisas como devfs, procfs e assim por diante - sem mencionar os arquivos potencialmente alterando / desaparecendo enquanto você rsync.

por 29.04.2013 / 22:16
0

Estou assumindo que cada unidade possui / terá apenas uma partição.

dd não pode ser usado da maneira que você quiser, pois copiará cada bloco de dados fisicamente em uma unidade para a outra, incluindo dados que definem a partição e o sistema de arquivos como usando 128 GB. E todos os blocos de dados armazenados no final da primeira unidade serão perdidos.

Uma solução simples, aludida por Ottavio Campana nos comentários:

  1. Inicialize o sistema usando um LiveCD
  2. Crie o sistema de arquivos na nova unidade
  3. Monte as duas unidades e copie o antigo para o novo usando cp -a

Você terá que instalar um gerenciador de inicialização (por exemplo, GRUB) na nova unidade, se ela for a sua unidade principal.

O comentário de Benny Hill fornece um link para uma pergunta semelhante com respostas oferecendo outras soluções.

    
por 29.04.2013 / 18:59
0

A única opção viável que eu poderia pensar é se você redimensionou a partição ext4 para que você tenha 119 gb de dados e 9 gb de espaço livre à direita no final. Então você poderia usar o DD com os comandos bs = e count = para copiar 120 gb de dados para o drive. (Você terá 1 GB de sobra de espaço livre que você pode redimensionar novamente (eu só fiz isso para estar seguro))

    
por 29.04.2013 / 19:22

Tags