Como mover (copiar) todo o meu sistema Ubuntu para um disco rígido diferente?

57

O disco rígido que tenho meu Ubuntu instalado está prestes a falhar. Prefiro não perder 3 anos em dados, personalização e aplicativos. Estou procurando uma maneira de mover o sistema completo (incluindo SWAP, porque não tenho certeza se posso vincular novamente o sistema a uma nova partição SWAP) para outro disco rígido. Mas não o disco rígido completo <apenas a partição que contém o Ubuntu, para uma partição em um disco rígido diferente. Basicamente, eu gostaria de fazer o que pude fazer com o Norton Ghost para minha instalação do Windows. Pensei em usar o Clonezilla, mas acho que teria problemas com o GRUB (principalmente tentando inicializar a partir de um UUID diferente do que está no arquivo conf). você conhece alguma maneira de fazer isso?

PS, meu diretório pessoal está criptografado, mas isso não é realmente um problema, porque eu posso contornar isso.

EDIT: alterou a explicação para torná-la mais clara

boywithaxe
fonte

Respostas:

30

Acabei usando o Gparted do Live CD. Copiei a partição e colei no espaço não alocado no outro disco rígido. Então usei o blkid para verificar os UUIDs e editei o arquivo fstab. Trabalhou como um encanto!

boywithaxe
fonte
5
Se você estiver movendo sua partição no mesmo sistema por qualquer motivo (por exemplo, precisar de mais espaço), precisará alterar o UUID da nova partição antes de alterar o fstab, pois ele terá o mesmo UUID que o original (consulte askubuntu. com / questions / 109938 / change-hdds-uuid )
Greg Kramida
Esta é a razão porque eu amo linux
DeFreitas
Se você estiver substituindo sua unidade de inicialização antiga pela nova, também precisará instalar o grub nele. Se você estiver adicionando uma nova unidade ou substituindo uma unidade de dados, não precisará fazer isso.
David C.
9

Bem, eu apenas usei o usb stick + ubuntu live.

Eu estava transferindo o ubuntu 13.10 de um disco rígido maior para um ssd menor, e o clonezilla "disse" que isso não pode ser feito dessa maneira, pois a partição de destino é menor que a partição de origem.

Então iniciei o ubuntu live, montei os dois discos rígidos (novo disco, foi particionado anteriormente, é claro, não se esqueça do swap;)) e apenas:

cd /media/ubuntu/old-hdd-uuid/

então:

sudo cp -R --preserve=all bin/ boot/ cdrom/ dev/ etc/ home/ lib/ lib32/ lib64/ media/ mnt/ opt/ proc/ root/ run/ sbin/ srv/ sys/ tmp/ usr/ var/ /media/ubuntu/new-hdd-uuid/

acima, você pode ver que está apenas copiando todos os diretórios de um disco rígido para outro, recursivamente, com todas as permissões e coisas preservadas.

cd /media/ubuntu/new-hdd-uuid/

então eu tive que fazer dois links simbólicos no diretório raiz de um novo disco:

sudo ln -s boot/vmlinuz-x.xx.x-xx-generic vmlinuz
sudo ln -s boot/initrd.img-x.xx.x-xx-generic initrd.img

e o próximo passo foi instalar o grub, então:

sudo grub-install --boot-directory=boot/ /dev/sdxy

onde x - device, y - número da partição (se não tiver certeza, use cfdisk ou fdisk para imprimir a tabela de partições ...)

e o último passo foi mudar o uuid de um novo disco rígido para uuid do disco rígido antigo (é a maneira mais fácil de enganar a configuração do grub, o fstab ou outra coisa sem procurar e corrigir configurações)

sudo tune2fs /dev/sdxy -U OLD-UUID

O novo UUID será exibido após a remontagem do dispositivo. Então agora reinicie e se estiver tudo bem, seu ubuntu deve começar ...

matryc
fonte
4

Você pode fazer isso usando dd. Para informações completas, consulte o site.

Clonar um disco rígido usando um Ubuntu Live CD

O aviso dd é uma ferramenta de baixo nível muito poderosa e até um pequeno erro de digitação é suficiente para destruir um disco inteiro. Por favor, tenha muito cuidado com seu uso e tente usar uma ferramenta de nível superior, se possível.
Observe também que esse método funciona apenas se o disco de destino tiver o mesmo tamanho ou maior


A clonagem de discos rígidos é uma tarefa de manutenção comum. Não se preocupe em gravar um novo CD de inicialização ou pagar por um novo software - você pode fazer isso facilmente com o seu CD do Ubuntu Live.

Não apenas você pode fazer isso com o seu Ubuntu Live CD, mas também pode fazê-lo imediatamente - não é necessário software adicional! O programa que usaremos é chamado dd e está incluído em praticamente todas as distribuições Linux. O dd é um utilitário usado para fazer cópias de baixo nível - em vez de trabalhar com arquivos, ele trabalha diretamente nos dados brutos em um dispositivo de armazenamento.

Você também pode usar:

Clonezilla, um software de clonagem de disco rígido gratuito. O Clonezilla é executado a partir de um CD ao vivo e possui uma interface de usuário simples. Você ainda precisará estar ciente do que está fazendo, é claro, mas essa ferramenta pode simplificar imensamente seu trabalho com a análise passo a passo.

Você pode baixar o Clonezilla aqui

Aviso Certifique-se de verificar a Limitação do Clonzilla antes de começar.

Você também mencionou que usou o Ghost para Windows, também pode usar o Ghost para Linux .

Fonte: http://www.howtogeek.com/howto/19141/clone-a-hard-drive-using-an-ubuntu-live-cd/

Fonte: http://www.makeuseof.com/tag/2-methods-to-clone-your-linux-hard-drive/

Mitch
fonte
O dd também permite que apenas partições sejam copiadas? Como no sudo dd of = / dev / sdb3 de = / dev / sda2
boywithaxe
Desde que as duas unidades tenham o mesmo tamanho exato. E o comando é no seu caso dd if = / dev / sd3 of = / dev / SD2
Mitch
Obrigado, no entanto, as partições estão em duas unidades físicas diferentes, / dev / sda e / dev / sdb. Usar SD3 e SD2 como descritores não seria copiado em uma unidade física?
boywithaxe
as unidades não precisam ter o mesmo tamanho, o único requisito é que a unidade para a qual você está copiando as informações seja maior que a unidade que está sendo copiada.
Bruno Pereira
11
ddrescueseria uma opção melhor aqui, pois o disco rígido está com defeito.
Ciro Santilli escreveu:
4

Alguns anos atrás, usei com sucesso essa ferramenta para "clonar" minhas partições: G4L . Tudo funcionou com algumas correções pós-instalação, como redimensionar partições (eu clonei as partições em diferentes tamanhos HD) e grub reinstalar (é bastante simples, você só precisa de um CD ao vivo para reinstalá-lo no MBR).

Você pode ignorar com segurança sua partição de swap (você poderá recriá-la novamente) ou cloná-la e ativá-la mais tarde, editando manualmente /etc/fstabou na linha de comando.

Nas últimas semanas, fiz novamente o clone com o clonezilla e tudo correu bem com as mesmas correções pós-clonagem. Portanto, não se preocupe e experimente, nada no seu HD original será tocado!

EDITAR:

Encontrei um correio antigo onde descrevi o primeiro processo de clonagem. Eu agi da seguinte maneira:

  • Particionou meu novo HD conectado via USB exatamente como o antigo
  • Clonou as partições no modo bruto com G4L
  • Inicializado com um Live CD e redimensionou partições com resize2fs
  • Desconectou o HD do USB e montou no SATA / PATA.
  • Inicializado novamente com o Live CD e montado o novo disco:

    mkdir disk
    mount /dev/sda1 disk        (where sda1 contains boot and root partitions)
    mount /dev/sda2 disk/boot   (if you have a different boot partition) 
    mount --bind /dev/ disk/dev/
    mount -t proc none disk/proc
    chroot disk /bin/bash
    grub-install /dev/sda       (to install GRUB on sda MBR)
    
  • Reinicie, verifique a troca

  • Desfrutar
jasmim
fonte
3

@boywithaxe - Com relação aos seus comentários à resposta de Mitch, você pode simplesmente copiar as partições relevantes fazendo isso . Essa é realmente a parte mais fácil. A parte mais complicada é que você também precisará montar a partição recém-copiada, além de algumas outras partições e instalar o grub ( ) ( e adicionar uma partição de troca antes de reiniciar (se estiver clonando uma partição de inicialização )). Usando esse método, também não há necessidade .dd if=/dev/sdb3 of=/dev/sda3grub-install /dev/sdaresize2fs

Acabei de fazer isso sozinho e usei uma combinação de reparo de inicialização após uma atualização do Windows no Ubuntu 14.04 (não-RAID) e resposta de jasmines .

Então, depois de inicializar a partir do liveCD:

dd if=/dev/sdb3 of=/dev/sda3

Quando isso terminar, então

sudo mount /dev/sda3 /mnt 

onde sda3 contém as partições raiz e de inicialização copiadas recentemente)

sudo mount --bind /dev/ /mnt/dev/

sudo mount -t /proc none /mnt/proc

sudo chroot /mnt

sudo grub-install /dev/sda 

note que este é sda não sda3

update-grub

exit
Greenonline
fonte