Move / para uma nova partição

5

Eu tenho o Windows 7 e o Debian com inicialização dupla no meu laptop. Estou ficando apertado por espaço no lado do Debian, então eu quero remover a partição do Windows e usar o computador inteiro para o Debian. Atualmente, estou usando uma única partição para o Debian (mais uma partição swap), mas gostaria de dividir o / home em sua própria partição no novo arranjo.

Como a partição do Windows é maior que todas as partições do Debian, há espaço suficiente para toda a instalação do Linux na partição atual do Windows. Então, eu estou pensando o que eu faço é:

  1. reformate a partição do Windows 7 de 60 GB / sda2 para uma partição estendida com duas duas partições ext4, uma de 15 GB para /, e as outras de 45 GB para / home
  2. move / clona meus diretórios atuais / e / home para as novas partições
  3. reformatar as partições onde estava a instalação do debian, liberando 50 GB de espaço
  4. redimensionando a nova partição estendida e a partição / home para incorporar os 50 GB liberados na etapa 3
  5. deixe um 2 GB no final para trocar

Eu postei meu fdisk -l abaixo.

Minhas perguntas:

  1. Esta é uma abordagem sensata?
  2. Como faço o passo 2? Posso mover o diretório / sem precisar reinstalá-lo?
  3. Estou assumindo que o 4 será direto, já que vou redimensionar movendo o final da partição, não o começo - isso está correto?
 
fdisk -l

Disk /dev/sda: 120.0 GB, 120034123776 bytes
255 heads, 63 sectors/track, 14593 cylinders, total 234441648 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x45689f01

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      616447      307200    7  HPFS/NTFS/exFAT
/dev/sda2          616448   127768575    63576064    7  HPFS/NTFS/exFAT
/dev/sda3       127770622   234440703    53335041    5  Extended
/dev/sda5       127770624   230021119    51125248   83  Linux
/dev/sda6       230023168   234440703     2208768   82  Linux swap / Solaris
    
por Tyler 03.10.2012 / 16:03

1 resposta

7

Eu sugiro usar o LVM. Para mudar, algo assim:

  1. Crie um volume físico (pvcreate) no seu / dev / sda2 existente (partição do Windows)
  2. Crie um grupo de volumes que consista apenas em / dev / sda2 (vgcreate)
  3. Crie um volume lógico para armazenar seus / e /home (qualquer motivo que você os esteja dividindo? Você não precisa.) (lvcreate)
  4. mkfs os dois novos volumes lógicos (dispositivo: / dev / mapper / vgname-lvname)
  5. Se você não for inicializado a partir de um disco de recuperação, inicialize a partir de um (você pode usar o disco de instalação do Debian, basta alternar para um terminal no ponto apropriado ou, alternativamente, um disco do Ubuntu)
  6. monte os novos volumes lógicos (ou apenas um, se você decidir não dividir). Se você montar os dois, certifique-se de montar a home dentro da nova raiz (por exemplo, como / new-root / e / new-root / home) Monte seus rootfs antigos em algum lugar também.
  7. use tar para copiar os arquivos. Algo como ( cd /old-root && tar --one-file-system -c . ) | ( cd /new-root && tar vx )
  8. chroot no seu novo sistema de arquivos raiz e:
    1. altere / etc / fstab para fornecer o sistema de arquivos raiz adequado
    2. mount / proc e / sys e / boot (dentro do chroot)
    3. update-initramfs -u
    4. update-grub
    5. se você for paranóico, veja o /boot/grub/grub.cfg gerado para verificar se ele pegou o novo rootfs.
    6. sair do chroot
  9. Finalmente, desmonte os sistemas de arquivos montados (começando com /new-root/{proc,sys,boot} ) e reinicialize.
  10. Confirme se você inicializou no novo sistema de arquivos raiz. Por exemplo, verifique /proc/mounts . Confirme se seus dados estão presentes. (Você também tem backups, certo?) MUITO IMPORTANTE.
  11. Este é o ponto sem retorno. Os próximos passos destroem suas partições antigas.
  12. Agora você pode criar suas partições antigas e adicioná-las ao seu grupo de volume (vgextend)
  13. Agora você pode redimensionar seus volumes lógicos / e /home usando lvextend seguido de resize2fs (ou qualquer ferramenta para o seu sistema de arquivos). Isso pode ser feito online, com o sistema em execução.

Uma vez que você está no LVM, qualquer alteração futura no disco será muito mais fácil. Você pode usar os comandos LVM para fazer praticamente qualquer alteração de disco, com o sistema funcionando mesmo.

(Nota: Eu não fiz isso um pouco, eu posso ter perdido um ou dois passos, mas eu tenho certeza que eu não perdi nada catastrófico. E, claro, a sua instalação original & dados é ainda por aí até depois de confirmar que você é inicializado para o novo rootfs)

    
por 03.10.2012 / 17:29