Eu tenho o Lubuntu 17.04 instalado no HDD do meu laptop. Agora comprei um SSD, quase do mesmo tamanho, como substituto; está vazio, intocado.
Agora, quero trocar os discos e ter basicamente exatamente o mesmo conteúdo que já tenho no HDD movido para o SSD - e ter meu Linux inicializado e executado sem a necessidade de nenhum ajuste adicional (exceto talvez /etc/fstab
problemas de UUID).
Como posso fazer isso...
- Sem a ajuda de um PC extra?
- Com a ajuda de um PC extra?
Notas:
- Posso gerar pendrives inicializáveis, se necessário.
- Tenho acesso a um leitor de CD/DVD, se necessário.
- O HDD está com 33% de uso, então os dados caberão - mas a capacidade do HDD é um pouco maior.
- O HDD pode ter alguns setores que são quase ruins (mas por enquanto - o Linux inicializa e funciona).
- Há apenas uma partição no HDD e, pelo que ouvi, posso mantê-la assim no SSD também, considerando que sou o único usuário e não é usado como um servidor público, etc.
Você tem duas maneiras básicas de alternar sua instalação para um novo disco, clonar o disco ou copiar o conteúdo e corrigir o sistema (ou seja, bootloader, entradas fstab). Ambos os métodos têm suas vantagens e desvantagens.
Ambos os métodos requerem outro sistema com este disco conectado e algum armazenamento extra ou o segundo disco. Pode ser outro laptop ou desktop - ou usb/cd ao vivo no laptop real.
É mais fácil se você puder conectar os dois discos ao sistema - mas se não puder fazer isso, poderá usar o armazenamento extra como uma área temporária de preparação enquanto troca as unidades. Uma grande unidade de disco rígido USB pode ser usada se você tiver uma. Uma opção mais fácil pode ser obter um gabinete USB , o que permitirá que você conecte os dois discos ao mesmo computador.
Portanto, usando um usb ativo e um gabinete usb, você pode fazer tudo no laptop em que deseja substituir a unidade. Para ambos os métodos, discutirei a transferência direta de disco com os dois discos conectados e nenhum deles montado ( ou seja, você estacionou em outro computador ou está trabalhando em um usb/cd ao vivo). Vou usar
/dev/sdS
para indicar o disco de origem (o hdd no seu caso) e/dev/sdD
para indicar o disco de destino. Substitua-os pelos discos reais em seu sistema - certifique-se de verificar esses discos, pois errar destruirá todos os dados que você tiver como destino.Método 1: clonar o disco
Este é o método mais simples ao passar de um disco para outro do mesmo tamanho ou maior, mas com uma etapa extra pode-se passar de um disco maior para um menor. A principal desvantagem disso é que ele copia o disco bloco por bloco e, portanto, requer a leitura e gravação de todo o disco. Isso levará mais tempo do que copiar o sistema quando o disco estiver quase vazio.
Você mencionou ir de um disco um pouco maior para um menor, portanto, a primeira etapa é redimensionar a partição no disco de origem para um tamanho menor que o disco de destino. Isso é mais fácil de fazer com gparted , apenas certifique-se de reduzir a unidade para que o espaço livre fique no final do disco. Isso pode demorar um pouco, pois terá que mover todos os dados no final do disco para um novo local.
Agora você simplesmente clona o disco de origem para o destino com
dd
ouddrescue
.ddrescue
pode ser aconselhável, pois se esforça mais para reler os setores defeituosos que você mencionou que pode ter.ou alternativamente com
dd
:Observe que você receberá um erro informando que o disco de destino estava cheio durante a gravação - isso é bom, pois o final do disco não deve conter nada útil, pois redimensionamos o disco. É por isso que você deve redimensioná-lo para um tamanho um pouco menor que o destino.
Agora você pode usar o gparted novamente para redimensionar o destino para preencher a unidade.
Agora você deve ser capaz de trocar os discos e inicializar o novo sistema.
Método 2: Copiar o sistema de arquivos raiz
Este método pode ser mais rápido se você estiver usando apenas uma pequena quantidade de espaço em um disco grande, mas requer mais etapas para reconfigurar o bootloader e o fstab para inicializar o sistema. Ele também tem a vantagem de ser somente lido no disco de origem, então é menos provável que quebre seu disco original (embora isso não seja verdade para o método acima, pois vocêtem que redimensionar o disco devido ao destino ser menor que o de origem ). Também é mais flexível, pois você pode alterar facilmente as partições da maneira que desejar.
A primeira etapa é configurar a tabela de partições na nova unidade e formatar as partições. Você mencionou que tem apenas uma partição na unidade - a partir disso, presumo que você esteja usando a inicialização do BIOS herdado (já que o uefi requer uma partição vfat além do sistema de arquivos raiz). Isso é mais fácil de fazer com
parted
:mas você também pode usar
fdisk
ougdisk
ou mesmogparted
se preferir. Se o seu disco de origem tiver mais partições ou se você quiser alterar o layout da partição, pode fazê-lo agora - basta configurar o disco de destino da maneira que desejar ou precisar.Agora monte os discos de origem e destino.
Se você tem/quer mais partição do que esta, monte a raiz no local acima e as outras partições relativas a isso. (por exemplo, se sua origem tiver uma partição de inicialização extra, monte-a em /mnt/src/boot).
Agora copie o conteúdo da fonte para o destino.
Isso vai demorar um pouco. Se for interrompido, você pode retomá-lo executando novamente o comando.
Agora você pode desmontar a unidade de origem, pois não precisamos mais dela.
As etapas finais são consertar o sistema para que ele possa inicializar. Primeiro, abra
/mnt/dest/fstab
e corrija-o para o novo sistema - se o layout da partição for o mesmo, isso deve ser uma questão de atualizar o UUID/número da unidade para refletir a nova partição. Useblkid
para obter as informações necessárias, é recomendável usarUUID=
ouPARTUUID=
se disponível.Por fim, precisamos consertar o bootloader - aqui presumo que você estava usando o grub2 com um BIOS herdado, se isso não for verdade, desconsidere isso e siga as instruções de como restaurar seu bootloader.
Mais informações sobre como restaurar o bootloader do ubuntu podem ser encontradas aqui .
Se tudo correr bem, você poderá desligar, trocar as unidades e inicializar o novo disco.
Extras
Trabalhando através de um terceiro disco
Se você não puder conectar os dois discos a um computador, precisará de algum armazenamento extra - pode ser um disco USB, armazenamento conectado à rede ou qualquer outra coisa que você possa acessar localmente e seja grande o suficiente para armazenar o disco ou o sistema de arquivos raiz.
O processo geral é o mesmo em ambos os métodos acima, mas em vez de copiar de um disco para outro, copie primeiro para a área temporária de preparação;
Com o Método 1:Observe que isso requer que a área de preparação seja tão grande quanto o disco que você está copiando.
Com o armazenamento montado para
/mnt/staging
:Você pode todo o arquivo que quiser. A partir daqui, você pode comprimi-lo e mantê-lo como um backup do seu sistema, se desejar.
Em seguida, você pode desligar, trocar as unidades e inicializar o usb ao vivo novamente para restaurar a imagem
Observe que os números de unidade para a origem e o destino podem ser os mesmos com este método.
Com o Método 2:Observe que isso requer apenas que a área de preparação seja tão grande quanto o sistema de arquivos quando compactado, em vez de todo o disco.
Com o armazenamento montado
/mnt/staging
e a fonte montada em/mnt/src
:Em seguida, você pode desligar, trocar as unidades e inicializar o live usb novamente para restaurar o sistema de arquivos após configurar o sistema de arquivos dos discos de destino.
Em seguida, continue a restaurar o fstab e o bootloader.
A solução mais simples (se o HDD for menor que o SDD e o SDD puder ser conectado ao computador) é:
Copie com dd todo o disco HDD para o SDD:
É claro que HDD e SDD devem ser substituídos pelos nomes corretos para todos os discos como
/dev/sda
ou/dev/sdd
(não partições/dev/sda1
).Substitua o HDD pelo SDD no computador.
O único problema é que o UUID de ambos os hardwares será idêntico e pode impedir que você monte as partições do HDD como uma unidade adicional. Isso poderia ser corrigido mais tarde, se necessário.