Eu tenho um sistema baseado em BIOS executando o Windows 7 em um disco rígido de 1 TB particionado por MBR.
Este HDD é particionado da seguinte forma:
- P0: 60 GB de NTFS para Windows e arquivos de programa
- P1: 940 GB de NTFS para dados
Como este disco estará cheio, meu objetivo é migrar a instalação existente para um novo HDD de 3 TB, com as seguintes partições:
- P0: 60 GB NTFS iguais a 1B / P0
- P1: 2940 GB NTFS com o conteúdo de 1TB / P1, além de mais espaço livre
Como esta partição é > 2TB, MBR não pode manipulá-los e eu mudo a tabela de partição de 3TB HDD para GPT mas:
- O Windows 7 não pode ser inicializado a partir de sistemas BIOS + GPT
Então eu investiguei aqui e parece que o GRUB é capaz de inicializar o Windows 7 a partir de discos GPT com um truque: um arquivo MBD virtual (VHD) formatado em MBR que contém os arquivos de inicialização do Windows que, uma vez carregados, carregam o Windows da partição GPT. >
Então eu fiz o seguinte:
- P0: partição especial do GRUB de 1 MiB para sistemas GPT (consulte aqui , instalado por grub-install a partir de uma imagem do Linux ao vivo)
Partição - P1: 120MiB ext2 para hospedar arquivos GRUB (grub.cfg f.e.) e os arquivos bootmgr.vhd
- P3: partição de 60 GB NTFS em que copiei todos os arquivos de 1 TB / Partição 0
- P4: 2940 GB (ou um pouco menos) da partição NTFS em que copiei todos os arquivos de 1 TB / Partição 1
No VHD, há uma partição MRB NTFS com os arquivos de inicialização do Windows gerados com comandos:
bootsect /nt60 b: /mbr
bcdboot c:\Windows /s b: (NOT with /mbr flag as it's a GPT disk)
em que B é o arquivo VHD e C é uma instalação do Windows 7 x64 em execução em uma VM.
A partição VHD é definida como primária e ativa.
Para evitar também alguns outros problemas, eu também gerou nos novos 3TB / P3 os arquivos de inicialização com:
bootsect /nt60 e:
bcdboot c:\Windows /s e:
Onde E é a partição 3TB / P3.
Eu tentei inicializar com o grub usando este grub.cfg editado manualmente:
menuentry "Win7 root+chain" {
set root=(hd0,gpt3)
chainloader +1
}
menuentry "Win7 vhd+chain" {
loopback loop (hd0,gpt2)/boot/bootmgr.vhd
chainloader +1
}
O primeiro me dá uma mensagem do Gerenciador de inicialização do Windows:
"Error 0xc000000e File:\Boot\BCD Message: An error occoured while attempting to read the boot configuration data"
O segundo parece uma mensagem do Grub
"Invalid signature"
Você pode por favor me ajudar? Estou fazendo algo errado com o Grub?