A maneira que eu gostaria de fazer isso é particionar o SSD da maneira que você quiser (/, / boot, / home, etc) e como você está movendo tudo para um novo SSD, não precisa se preocupar com o encolhimento partições ou qualquer coisa complicada como essa. Você basicamente só precisa copiar tudo para o SSD, reparticionar o HDD e editar seus pontos de montagem no disco e no fstab.
Preparar a migração
- Faça um backup do seu HD atual!
-
Particionar o SSD
Para fins de demonstração, vou usar essas partições:
- / dev / sdb1 - / boot
- / dev / sdb2 - /
- / dev / sdb3 - / home
Você pode omitir / inicializar e mantê-lo como um diretório normal dentro de / como você faz atualmente, se quiser.
- Crie seus sistemas de arquivos nas novas partições (
mkfs.ext4
oumkfs
.qualquer sistema de arquivos desejado) -
Monte suas novas partições em uma hierarquia em seu sistema de arquivos atual. Por exemplo, monte seu novo / no SSD como / mnt e seu novo / boot no SSD e / mnt / boot, e seu novo / home no SSD como / mnt / home
-
Por exemplo:
mkdir -p /mnt/newroot mkdir /mnt/newroot/boot mkdir /mnt/newroot/home mount /dev/sdb2 /mnt/newroot mount /dev/sdb1 /mnt/newroot/boot mount /dev/sdb3 /mnt/newroot/home
-
Migrar do HDD para o SSD
-
Copie (preservando timestamps, permissões e propriedade) tudo para as novas partições.
-
Você pode um dos seguintes conjuntos de comandos
cp -ax --sparse=always / /mnt/newroot cp -ax --sparse=always /home /mnt/newroot /home
-
ou
rsync -avSx / /mnt/newroot rsync -avSx /home /mnt/newroot/home
-
Estes copiarão com o sinalizador de arquivo (preservam a propriedade do arquivo e outras informações), copiam esparsos quando habilitados e não cruzam os limites do sistema de arquivos no sistema de arquivos de origem. Se você não especificar o
-x
flag para permanecer no sistema de arquivos, poderá fazer a cópia em um comando, mas precisará executar etapas para excluir / proc, / dev e outros sistemas de arquivos na memória da cópia.
-
-
Edite o arquivo / mnt / newroot / etc / fstab e altere as entradas para refletir as novas partições
- Instale o grub no novo disco (se for o dispositivo de inicialização) e aponte-o para o novo / boot no SSD, para que ele possa encontrar a configuração de inicialização.
-
Desmontar as novas partições.
umount /mnt/newroot/home umount /mnt/newroot/boot umount /mnt/newroot
Verifique a migração
-
Reinicie nas novas partições
- Se você configurar o grub corretamente e o novo / etc / fstab estiver correto, a inicialização se comportará exatamente como antes, exceto pelo fato de estar usando as novas partições em vez das antigas.
-
Verifique se tudo está correto.
- Se algo não for esperado, você terá o disco antigo intacto e um backup. Nada está perdido. Ainda.
- Eu não tenho conselhos para as partições do windows, exceto para fazer clones delas no novo disco (use uma ferramenta clone ou
dd
, se você estiver movendo-as) - Se você for dual boot para o Windows, verifique se ele ainda funciona e se o Windows está no SSD (se você quiser SSD, se estiver mantendo-o no HDD, tudo bem também)
- Atualmente, não tenho velocidade nas janelas, por isso não tenho mais nada a oferecer nessa frente.
Neste ponto, você deve ter um sistema em funcionamento no seu SSD que seja um clone do que estava no HDD. Qualquer etapa além desse ponto será destrutiva para seus dados antigos. Faça um backup antes de prosseguir
Re-purpose o HDD
-
Re-particione o disco rígido
- Se você não estiver tocando nas partições do Windows, basta excluir as partições do Linux que não são mais necessárias e criar uma nova partição para / var e o que mais precisar.
- Se você moveu as janelas para o SSD, pode reparticionar totalmente o HDD.
- Crie o sistema de arquivos para o novo / var
-
Monte este novo / var temporariamente como / mnt / var ou algo
mkdir /mnt/var mount /dev/sd?? /mnt/var
-
Parar os serviços dependentes de / var ou cair no modo de usuário único
- Isso é necessário porque, se os daemons estiverem gravando em / var durante a cópia, você perderá esses novos dados quando mudarmos para o novo / var. O modo de usuário único é também o nível de execução 1 (
init 1
no sysvinit, não tenho certeza com o upstart)
- Isso é necessário porque, se os daemons estiverem gravando em / var durante a cópia, você perderá esses novos dados quando mudarmos para o novo / var. O modo de usuário único é também o nível de execução 1 (
-
Copie o antigo / var para novo / var
cp -av --sparse=always /var /mnt/var
-
Exclua o antigo / var (deixe o diretório, mas deixe-o vazio).
rm -rf /var mkdir /var
-
Umount novo / var
umount /mnt/var
-
Edite
/etc/fstab
e adicione uma entrada para / var -
Monte / var (este será o novo se você editou o fstab).
mount /var
-
Reinicie todos os serviços que você parou ou volte para o modo multiusuário (ou reinicialize se quiser)
Este processo geral deve ajudá-lo na migração, e o passo mais importante é o backup no caso de você estragar alguma coisa.