nov 08 2009

Migrando dados para o Windows 7 com o USMT 4.0

Minha primeira atualização de um Windows Vista para Windows Seven foi relativamente tranqüila, apesar de ter demorado várias horas. O ideal é sempre fazer uma instalação limpa em vez da atualização, mas eu não estava com tempo e paciência para isso, então optei pela atualização. Alguns poucos problemas ocorreram, o DAEMON Tools precisou ser reinstalado, o programa que faz o login com impressão digital parou de funcionar, alguns drivers precisaram ser atualizados, mas foi apenas isso.

A segunda tentativa de atualização ocorreu em um desktop com Windows Vista x64 e foi bem menos tranqüila, vários problemas interrompiam a atualização na metade e faziam o sistema ser restaurado para o Vista. Depois de muitas tentativas a atualização foi concluída mas o resultado foi um Windows 7 x64 totalmente instável, apresentando telas azuis da morte (blue screen of death, BSOD) freqüentes. Acabei optando então por fazer uma instalação limpa, mas gostaria de migrar os dados do micro antigo (contas de usuário, documentos, configurações de programas, etc.) para evitar ter que fazer tudo de novo. Para isso fui atrás do USMT (Windows User State Migration Tool), o qual eu já falei em um artigo aqui no Skooter Blog.

Ao pesquisar sobre o USMT, percebi que ele já está agora na versão 4.0 (a que eu tinha ainda era a 3.1), mas a Microsoft resolveu complicar um pouco as coisas e não disponibiliza mais o download separado da ferramenta, é preciso baixar o Windows Automated Installation Kit (Windows AIK, ou Kit de Instalação Automatizada do Windows, em português), que contém o USMT 4.0 dentre outras ferramentas que facilitam a atualização do Windows (especialmente em empresas ou outros ambientes com grande quantidade de máquinas). É interessante, mas baixar uma ISO de mais de 1GB pode ser complicado para quem não tem uma banda larga decente (ou seja, 99,9% dos brasileiros).

Baixado e instalado o Windows AIK, pude notar as principais mudanças do novo USMT 4.0: antes era necessário usar o scanstate ainda com o sistema operacional antigo para gravar as configurações em um local separado, atualizar o sistema e então usar o loadstate para migrar as configurações para o novo sistema. Agora ficou bem mais fácil, você pode instalar o Windows Seven antes de gravar as configurações, ele deverá guardar os arquivos antigos em uma pasta chamada Windows.old, é claro que isso só acontecerá se você não optar por formatar a partição durante a instalação. Dentro da pasta Windows.old ficam guardadas as pastas do Windows, dos Arquivos de Programas (de 32 e 64 bits), os perfis dos usuários, pastas dos usuários e tudo mais que você tinha no seu antigo Windows. Então você pode usar o scanstate apontando-o para essa pasta e ele preparará a migração, depois basta usar o loadstate para carregá-las no novo sistema. O local intermediário agora pode armazenar apenas hardlinks dos arquivos a serem migrados, ou seja, você economiza um processo de leitura/gravação migrando vários arquivos diretamente do Windows.old para o novo local, e isso torna o processo todo bem mais rápido. Note que existem duas versões do programa: x86 e amd64. Se seu sistema é de 64 bits você vai de amd64, mesmo que seu processador seja Intel.

Mas nem tudo foi perfeito, no meio da execução do loadstate vi que ele parecia estar parado, usando processador e HD, mas sem sair do lugar. Olhando o LOG da operação percebi que ele estava tentando criar algo dentro de uma pasta temporária do meu usuário (o que estava logado executando o programa), não conseguia e ficava tentando novamente indefinidamente.  Fui verificar a tal pasta e vi que ela estava com mais de 65.000 arquivos. Não sei se estava esbarrando em algum limite de quantidade de arquivos por pasta do NTFS  (existe?) ou algum outro limite qualquer, mas por via das dúvidas resolvi apagar todos os temporários (que não deram erro de compartilhamento) e aí o processo continuou. A pasta acabou enchendo novamente e tive que apagar tudo mais uma vez ainda antes de terminar a execução do loadstate, e aí finalmente deu tudo certo.

Note que você deve especificar o que será migrado através de arquivos XML. Felizmente o sistema traz 3 arquivos padrões: MigUser.xml, MigDocs.xml e MigApp.xml, que contém configurações de uma boa quantidade de softwares (especialmente os da Microsoft). Alguns infelizmente ficam de fora, o administrador pode criar seus próprios arquivos XML, mas isso deve ser bastante trabalhoso e só valeria a pena para administradores de sistema que vão migrar muitas máquinas com esse mesmo script. Para o usuário comum provavelmente dará menos trabalho migrar manualmente o que faltou. Apenas para citar um exemplo: o Mozilla Firefox migrou perfeitamente com o USMT 4.0, com seus plugins e tudo mais, mas o Mozilla Thunderbird eu tive que migrar manualmente. Felizmente isso é simples, basta copiar as pastas C:\Users\Nome_do_usuario\AppData\Local\Thunderbird e C:\Users\Nome_do_usuario\AppData\Roaming\Thunderbird do antigo sistema para o novo (ou do Windows.old para o local citado).

Concluo que a utilização do USMT 4.0 vale a pena. É um meio-caminho entre uma atualização e uma instalação limpa, lembrando que a instalação seguida da migração de dados com o USMT ainda é considerada uma nova instalação e traz os mesmos benefícios da mesma: registro mais limpo, sistema mais leve, etc.

Link permanente para este artigo: https://www.skooterblog.com/2009/11/08/migrando-dados-para-o-windows-7-com-o-usmt-4-0/

Deixe um comentário

Seja o Primeiro a Comentar!

Notificar sobre
avatar
wpDiscuz