Clonando partições teimosamente (1)

Há alguns dias comprei um disco rígido novo para acrescentar ao meu computador. Inicialmente iria usá-lo apenas para dados (e programas, mas sem sistema operacional). Mas pensei: não é nenhum SSD com o qual eu vá ganhar desempenho movendo o sistema operacional para lá, mas pode ser um aprendizado interessante e pode simplificar a tabela de partições do meu disco existente que tem 5 partições e 2 sistemas operacionais (já teve 3 sistemas: WinXP, Win7, Ubuntu Linux 12.04 e agora tem Win10 e Ubuntu 14.04).

Fui ver na internet quais eram os métodos mais recomendados e os problemas possíveis ao mover um Windows 10 de um disco para o outro. Assim eu poderia tirá-lo da partição do meio do disco e ele ficaria apenas para dados e para o Linux, que na verdade é o sistema principal da máquina (portanto se eu estragasse a instalação do Windows o prejuízo seria mínimo). Tudo sugeria baixar algum programa para Windows (às vezes livre, às vezes em versão grátis com limitações) e deixar que ele fizesse tudo.

Aí que entra a parte “teimosamente” do título. Teimei que queria fazer o serviço com o mínimo de programas adicionais aos que eu já tivesse no Linux ou no Windows (instalado ou no DVD de instalação). Também teimei em não seguir as dicas de “não iniciar o sistema novo com o disco antigo ainda instalado”. O motivo de evitar programas novos era primeiro por imaginar que eles seriam muito opacos e inflexíveis (ex.: só copiar para novos discos vazios; ignorar ou atrapalhar-se com a existência de outros sistemas operacionais, ou até excluí-los; etc.), segundo por não querer arriscar encontrar neles uma fonte de adware ou spyware, e terceiro para aprender os detalhes do que estou fazendo.

O que aconteceu foi o seguinte:

  • Sim, é possível obter uma instalação funcional do Windows 10 em outro disco apenas copiando arquivos com o comando robocopy.
    • Desde que você use as opções certas e execute a cópia fora do Windows que está rodando (fiz no ambiente de recuperação presente no instalador).
    • Ainda assim, directory junctions, symbolic links, e hard links precisarão de muito cuidado especial para ficarem iguais. Fiquei com uma instalação funcional mas onde os hard links não eram mais hard links (os arquivos ficaram duplicados) e mesmo depois de muitos scripts escritos à mão desisti de consertar.
    • Um pouco de edição offline do registro da nova instalação pode ser útil para definir qual será o novo drive C:
    • É ineficiente, mas eu queria testar. Queria saber o quanto de “mágica” existe no sistema de arquivos do Windows. A conclusão é que ele é bem mais chato com permissões de arquivos e você pode ser surpreendido com alguns recursos obscuros (como as junctions e links, que normalmente não são usados no Windows), mas uma cópia arquivo-por-arquivo pode funcionar, sim.
    • Como não altera os setores de boot da partição, evita o problema de boot que menciono abaixo.
  • Fazer clone da partição com um editor de partições normal do Linux funciona, mas tem uma grande chance de deixar a partição não-inicializável.
    • Ao contrário do que eu imaginava, não havia nenhuma santa ferramenta do Windows que consertasse o boot da partição no novo disco. Perdi as contas da quantidade de vezes que tentei isso. Eu achava que elas reescreveriam todo o setor de boot, mas parece não ser o caso.
    • O Grub pode ser configurado para não carregar o Windows a partir do setor de boot, e sim a partir do bootmgr. Isso desvia do problema, mas não é exatamente uma correção.
  • Resolvi relaxar minha regra de não baixar programas novos e usar o Clonezilla. Software livre, baseado em Linux, com diversas opções. Deve resolver.
    • Uma omissão é que não clona para partições menores (que é útil quando se move para um SSD), ainda bem que eu não estava precisando disso.
    • Acabou resultando no mesmo problema de partição não incializável do caso anterior. Mas pode ser que eu tenha simplesmente esquecido de marcar alguma opção essencial para o tipo de cópia que eu queria fazer.
    • Já estava pensando em desistir totalmente ou usar um software específico para mover instalações do Windows para SSDs, que (tomara) seriam capazes de tratar todos os casos corretamente em vez de me deixar com uma cópia que não inicializa.
    • Depois de mais alguns dias descobri que no próprio sistema inicializado pelo drive USB do Clonezilla há um utilitário chamado partclone.ntfsfixboot (que na verdade é um software separado que eu estava pensando em baixar, mas tê-lo ali já é um incentivo a testá-lo), e ele finalmente foi capaz de consertar o setor de boot (obs.: estou falando do setor de boot que fica dentro da partição, não a MBR).

Entretanto, nesse momento eu já tinha meio que desistido e tinha até atualizado o Windows 10 na partição original para o Anniversary Edition (aquele que permite instalar o Ubuntu dentro do Windows, haha). De certa forma a cópia da partição que fiz antes serviu como backup. No fim não achei bom o desempenho de boot no novo disco. Talvez se rodasse um desfragmentador ou usasse por mais tempo daria chance do Windows otimizar o boot, mas nem sei se vale a pena. A esta altura já aprendi o que queria aprender: editei comandos do Grub durante o boot para testar diversas possibilidades e até VBScript eu usei para tentar consertar os hard links.

Gostaria de criar um novo post ou atualizar este aqui com mais detalhes do que tentei como programas, opções usadas, e links úteis. Quem sabe consigo fazer isso em breve.

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s