Mover instalação para o novo disco

10

Atualmente, tenho um hd com estas partições:

/dev/sdb1    /
/dev/sdb2    swap
/dev/sdb3    /home

Estou pensando em comprar um ssd para minha /partição.

Agora, minha pergunta é: É possível mover / converter minha configuração atual para a nova (dois discos / restos de casa)? De preferência dentro do sistema em execução?

Chris
fonte

Respostas:

11

Eu recomendo contra o uso dd. Ele apenas executa um setor burro por cópia do setor, o que significa que falhará se a partição de destino for menor e perder muito tempo copiando espaço livre, e se a partição de destino for maior, o espaço adicional não estará disponível até você executar resize2fspara expandir o sistema de arquivos.

É melhor fazer isso a partir de um CD ao vivo, porque se você copiar arquivos enquanto eles estão sendo modificados, você terá resultados corrompidos.

Formate o ssd e monte a nova partição ssd e a partição raiz original montadas e, em seguida, apenas execute sudo cp -ax /media/old-partition/* /media/new-partition, onde a partição antiga e a nova partição são substituídas pelos seus pontos de montagem reais. Isso copiará todos os arquivos, preservando a propriedade, as permissões e os carimbos de data e hora.

Em seguida sudo grub-install --root-directory=/media/new-partition /dev/SSD_DEVICE, execute , após substituir os valores corretos por new-partition e SSD_DEVICE. Isso instalará o grub, tornando o disco inicializável.

Depois de reiniciar (certifique-se de que sua BIOS esteja configurada para inicializar a partir do ssd em vez da unidade antiga), verifique se você está executando a partir do ssd e não da unidade antiga, verificando a saída de dfe / ou mount, e você deve estar bom acabar com a antiga partição.

Ah, e você desejará editar o /etc/fstabarquivo na nova partição após copiar e atualizar o UUID da partição raiz para corresponder ao UUID da nova partição SSD em vez da antiga. Você pode encontrar esse UUID executando sudo blkid.

Editar: adicionado / * na cópia acima, mas a edição precisava ter mais de 6 caracteres. Agora são 101 caracteres!

psusi
fonte
1
Presumo que funcionou?
Martin Ueding 10/10
2
Eu tive problemas ao instalar o grub usando o método acima. Eventualmente, fiz o que este tópico sugere: askubuntu.com/a/3409/8152 para configurar e instalar o grub no outro disco. O resto da resposta funcionou muito bem.
Mladen Jablanović
1

Este comando:

dd if=/dev/sdb1 of=DEVICE_PATH_OF_SSD_DRIVE

deve funcionar para clonar a /partição na unidade SSD.

EDIT: isso só funcionará se sua partição for do mesmo tamanho que a unidade. Se eles não tiverem o mesmo tamanho, você pode usar partimage :

partimage -z0 -d save /dev/sdb1 clone.partimg
partimage restore DEVICE_PATH_OF_SSD_DRIVE clone.partimg
rm clone.partimg

Uma ressalva para esse método é que você precisa de espaço suficiente em sua unidade para obter uma imagem que contenha todo o conteúdo de /. Você deve ficar bem se tiver> 10 GB grátis. Caso contrário, você pode usar em -z1vez de -z0compactar a imagem. Para uma compressão ainda maior, use -z2. Além disso, o partimage não suporta o sistema de arquivos ext4 .

Depois de fazer isso, você deve montar o SSD e verificar se seus dados foram copiados corretamente:

$ mkdir /tmp/ssd
$ sudo mount -t ext4 DEVICE_PATH_OF_SSD_DRIVE /tmp/ssd
$ ls /tmp/ssd
bin    dev   initrd.img      lost+found  opt   sbin     sys  var
boot   etc   initrd.img.old  media       proc  selinux  tmp  vmlinuz
cdrom  home  lib             mnt         root  srv      usr  vmlinuz.old

Substitua ext4pelo sistema de arquivos que você usou /.

Você provavelmente precisará instalar o gerenciador de inicialização GRUB nesta unidade:

sudo grub-install DEVICE_PATH_OF_SSD_DRIVE

Você precisará editar seu /etc/fstabarquivo para substituir /dev/sdb1o caminho do dispositivo da sua unidade SSD na entrada montada /. ( sudo $EDITOR /etc/fstab)

Aguarde até que esta resposta tenha alguns votos positivos antes de seguir estas instruções. Como não sou especialista nessas coisas, posso ter perdido algumas informações vitais. Qualquer pessoa que veja alguma falha nisso, adicione um comentário explicando-a. Você deve tomar essas precauções porque, se algo der errado, poderá deixar seu computador não inicializável.

dv3500ea
fonte
(-1) Esta solução é mais do que perigosa . Especialmente se o tamanho dos dispositivos não corresponder.
Raphael Bossek
Ele também copiará o UUID da unidade de origem, se você usar o dd.
Michael
0

Leia primeiro como migrar. Existe uma maneira fácil de transferir um sistema operacional de um disco rígido para outro? .

Inicialize a partir do seu SSD e adicione a seguinte linha em /etc/fstab(é apenas uma ligação):

/media/slowhd/home /home none rw,bind 0 0

Comece mount -aa ativar as alterações.

Dica : Não, mount /dev/yourhd /homeporque você perde a flexibilidade de mover outros diretórios para o seu HD antigo .

Uma solução mais técnica seria usar o LVM (gerenciador de volume lógico) .

Raphael Bossek
fonte