como alterar o particionamento?

1

Eu tenho um disco rígido com /, / home. Acabei de receber o novo SSD e preciso alterar minhas partições sem reinstalar. Eu gostaria de criar uma partição / var separada (que está atualmente em /) e deixá-lo no disco rígido. Resto do / (incluindo / boot) Eu gostaria de passar para o ssd. Como devo fazer isso no Ubuntu 12.04?

cat /etc/fstab
proc            /proc           proc    nodev,noexec,nosuid 0       0
UUID=4f614ad4-8b21-4e21-b6fc-13ba7f489a88 /               ext4    errors=remount-ro 0       1
UUID=dba112c1-1647-4e73-b907-0117ad3a058e /home           ext3    defaults        0       2
UUID=01CB6A18FD7DF1C0 /windows/c      ntfs    defaults,umask=007,gid=46 0       0
UUID=01CB6A18E6F42370 /windows/d      ntfs    defaults,umask=007,gid=46 0       0
UUID=48d5b437-91c9-4304-9bde-ee661779089d none            swap    sw              0       0

Eu também tenho algumas partições lvm, mas elas são irrelevantes para esse problema

    
por piotrek 08.03.2014 / 20:12

1 resposta

4

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

  1. Faça um backup do seu HD atual!
  2. 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.

  3. Crie seus sistemas de arquivos nas novas partições ( mkfs.ext4 ou mkfs .qualquer sistema de arquivos desejado)
  4. 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

  1. 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.

  2. Edite o arquivo / mnt / newroot / etc / fstab e altere as entradas para refletir as novas partições

  3. 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.
  4. Desmontar as novas partições.

    umount /mnt/newroot/home
    umount /mnt/newroot/boot
    umount /mnt/newroot
    

Verifique a migração

  1. 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.
  2. 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

  1. 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.
  2. Crie o sistema de arquivos para o novo / var
  3. Monte este novo / var temporariamente como / mnt / var ou algo

    mkdir /mnt/var
    mount /dev/sd?? /mnt/var
    
  4. 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)
  5. Copie o antigo / var para novo / var

    cp -av --sparse=always /var /mnt/var
    
  6. Exclua o antigo / var (deixe o diretório, mas deixe-o vazio).

    rm -rf /var
    mkdir /var
    
  7. Umount novo / var

    umount /mnt/var
    
  8. Edite /etc/fstab e adicione uma entrada para / var

  9. Monte / var (este será o novo se você editou o fstab).

     mount /var
    
  10. 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.

    
por 08.03.2014 / 20:33