Atualização da unidade do sistema Debian: copiar sistemas de arquivos de partições MBR para GPT?

1

Meu servidor doméstico executa o Debian Lenny, e estou prestes a atualizar a unidade do sistema para uma unidade maior.

No processo, quero aproveitar a oportunidade para reorganizar as partições e redimensioná-las. Para fins de aprendizado, estou planejando migrar de uma tabela de partições do MBR para a GPT .

Por causa dessas duas mudanças, eu não posso simplesmente executar "dd if = / old / drive de / new / drive" (bem, não sem muito mais trabalho depois). Eu poderia usar o processo debootstrap para obter uma nova instalação na nova unidade do sistema, mas usei essa técnica durante a última atualização do sistema e provavelmente é um exagero para isso.

Posso simplesmente copiar as partições da unidade antiga para a nova?

  • Será "dd if = / dev / hda1 do trabalho de / dev / hdb2" , assumindo / dev / hdb2 maior que / dev / hda1 ? (Nesse caso, o sistema de arquivos pode ser redimensionado para aproveitar a nova partição maior, certo?)

  • O parted (ou gparted ) seria uma ferramenta melhor para copiar o conteúdo das partições?

por quack quixote 23.01.2010 / 17:49

2 respostas

1

As respostas são: sim e sim. Quando você copia uma partição menor para GParted maior, basicamente faz a mesma coisa: dd 'de conteúdo antigo e iniciando resize2fs para a partição de destino. resize2fs requer alguns cálculos desagradáveis do setor, então eu recomendo que você use (g) utilitários parted que o fazem automaticamente, mas é claro que é possível com dois comandos mencionados. Também parteds fazem algumas verificações e verificações de sanidade que não permitem que você atire na perna.

A migração da GPT não tem nada a ver com o conteúdo da partição: a tabela de partições não importa se GPT ou MBR apenas instrui o kernel a posicionar a janela de leitura / gravação para o arquivo do dispositivo de partição; isso não afeta o conteúdo da partição.

    
por 23.01.2010 / 18:16
0

Post-mortem :

As coisas aconteceram principalmente como esperado, mas houve alguns soluços que eu deveria documentar. Naturalmente, toda cópia de partição foi feita a partir de um LiveCD (Xubuntu 9.04, já que era o que eu tinha por aí, mas qualquer LiveCD recente deveria fazer).

  • O Gparted se recusou a copiar uma partição na unidade antiga para uma partição existente (vazia) na nova unidade. ( parted pode ter funcionado, mas recusado por causa de algum sinalizador de sistema de arquivos "incompatível" na partição do meu sistema.) Em vez disso, tive que remover o esquema de partição e permitir que o Gparted criasse a partição como parte de sua operação de cópia.

  • O Grub2 foi necessário na nova unidade (o Grub1 não entende o GPT). Isso significava instalar o Grub2 na nova unidade enquanto estava em um ambiente chroot (semelhante ao chroot descrito em estas intruções ):

    1. Enquanto chroot entra na nova partição do sistema, execute apt-get install grub-pc para instalar o Grub2 ( chroot garante ele dos repositórios do Debian em vez dos repositórios do Ubuntu do LiveCD).

    2. O próximo passo deve ser executar upgrade-from-grub-legacy para instalar o gerenciador de inicialização e configurar um grub.cfg básico. Mas o pacote Grub2 no repositório oficial do Debian Lenny (atualmente v1.96 + 20080724-16 ) instala um /etc/grub.d/20_memtest86+ quebrado, e o script de upgrade é interrompido durante o processamento. Edite esse arquivo assim:

      1. Alterar . /usr/lib/grub-mkconfig_lib para . /usr/lib/grub/update-grub_lib

      2. Altere todas as ocorrências de " linux16 " para " linux ". Esta é a diretiva do kernel do Grub2 - esta etapa não é necessária para executar o script de atualização, mas ela não inicializa a diretiva Memtest86 + de forma adequada.

      3. Execute upgrade-from-grub-legacy . Agora deve completar corretamente.

    3. Atualize todas as montagens codificadas em / etc / fstab. Como as partições foram copiadas e redimensionadas, seus UUIDs devem ser os mesmos. Mas as partições de troca não terão o mesmo UUID, por isso precisarão de atualização.

    4. Verifique novamente tudo, cruze os dedos, desligue o computador, desconecte a unidade do sistema antigo, reinicialize.

por 26.01.2010 / 13:33