Clonando partições (3)

Não sei por que ainda me presto pra isso (dá uma trabalheira até consertar tudo!), mas me aventurei de novo no mundo da clonagem de discos e configuração de boot. Nisso me lembrei de algumas dicas que esqueci de colocar nos posts anteriores.

Identificar todos os discos e partições

No Linux, use o comando

sudo blkid

para ver todas as suas partições. É muito útil para detectar partições clonadas: os IDs vão estar repetidos e isso pode dar uma grande confusão em diversos sistemas operacionais e durante o boot. Deve ser por isso que a maioria dos tutoriais sugere nunca conectar o disco antigo e o novo ao mesmo tempo, pelo menos não antes de formatar (o que muda os IDs) o antigo quando o novo já estiver funcionando.

Isso também é útil para se achar nas diversas formas de identificar os discos e partições. Em alguns casos estamos acostumados com /dev/sda1, mas essa identificação pode mudar dependendo de onde você conectar cada disco (e vai ser completamente diferente no Grub), então você pode ver o UUID (utilizado mais seguidamente no Linux) e o PARTUUID (utilizado mais seguidamente no Windows).

Nota rápida 1: para alterar esses IDs, use os comandos tune2fs (com a opção -U) e ntfslabel (com a opção -​-new-serial). Consulte o manual.

Atualizar configurações de boot

No Linux, é indispensável usar

sudo update-grub

Esse comando é conhecido e bem básico, mas menciono aqui para ficar mais completo.

Um problema que eu tive é que não adianta nada o Grub estar atualizado apontando para o novo Windows se dentro da partição do Windows novo (no tal de BCD) ainda há ligações para a instalação antiga no outro disco. O processo de boot vira um ping-pong e você vai parar na instalação antiga. Talvez software mais especializado tome conta disso, mas o que eu usei não me ajudou.

Foi aí que aprendi a usar o bcdedit. Vou dar alguns exemplos.

Para listar sistemas operacionais configurados para boot, digite simplesmente:

bcdedit

na linha de comando, ou

bcdedit /enum ACTIVE

Para listar a mesma coisa, mas mostrando IDs completos em vez de palavras fáceis como {default}, {current}, {bootmgr}, use:

bcdedit /v

ou

bcdedit /enum ACTIVE /v

Listar tudo que estiver cadastrado no BCD (pode ser com /v ou sem /v):

bcdedit /enum ALL

Listar os registros de outra partição, que não é a atual:

bcdedit /store "E:\Boot\BCD"

Essas opção /store é útil para acessar as configurações de um Windows que não é aquele que está executando.

Copiar uma entrada de sistema operacional para editá-la depois:

bcdedit /store "E:\Boot\BCD" /copy {... o id de origem desejado ...} /d "Windows 10 SSD"

O ID gerado será exibido na tela e você poderá editá-lo com:

bcdedit /store "E:\Boot\BCD" /set {... o novo id gerado ...} device partition=E:
bcdedit /store "E:\Boot\BCD" /set {... o novo id gerado ...} osdevice partition=E:

Combinando os comandos acima e lendo com atenção a ajuda do bcdedit (ex.: bcdedit /? ou bcdedit /? /set) você já pode alterar o que quiser para apontar para as novas partições. Combinando com o Grub atualizado e com as partições sem IDs repetidos, dá para configurar seu boot de vários jeitos.

Nota rápida 2: também é muito útil aprender a usar a função Load Hive do regedit para editar o registro de um Windows de outra partição. Assim você pode trocar as letras C: e E: uma pela outra, por exemplo. Existem várias explicações de como fazer, uma delas está aqui: https://superuser.com/questions/1167523/installed-a-new-ssd-windows-still-boots-from-the-old-one

Anúncios