Windows System partição em um HD diferente de onde o BIOS é inicializado

1

Este é um problema que resolvi há algum tempo com o comando bootmgr sem dor e sem perder meus BCDs, mas o modo como estava trabalhando antes me intriga.

Eu tenho um disco SSD e um disco SATA normal. Eu instalei um W7 no SSD mas, como eu tinha um FreeDos no meu SATA, acho que o instalador do W7 usou a partição FreeDos para armazenar o bootmgr, já que ele era o único carregador de corrente descartável, mesmo se estivesse sendo instalado em um diferente disco. Isso me deixou com uma partição do sistema na partição SATA FreeDos e com o pation de inicialização no meu SSD quando o W7 foi selecionado no menu mgr.

Se eu estivesse inicializando do SSD. Isso significa que meu VBR estava apontando para um bootmgr em um disco diferente? Isso é possível?

    
por Alex 06.10.2014 / 00:37

1 resposta

0

my VBR was pointing to a bootmgr in a different disk?

Não. Uma entrada no seu BCD estava apontando para um diretório \ Windows em um disco diferente.

A tabela de partições no MBR (bloco 0 do disco, que não faz parte de nenhuma partição) indica onde estão as partições primárias e qual delas está "ativa". O código do MBR carrega o primeiro bloco do VBR dessa partição e transfere o controle para esse código.

O primeiro bloco do código VBR lê o resto do VBR (para NTFS são 8 blocos). O VBR não "aponta" para qualquer partição que não seja ela mesma ... pelo menos, não com qualquer VBR de que já tenha ouvido falar. Mas VBRs variam por sistema operacional e por tipo de sistema de arquivos, então, teoricamente, isso pode acontecer.

Convencionalmente, no entanto, o código do VBR encontra o carregador de inicialização do sistema operacional (bootmgr para Windows Vista e posterior, ntldr para versões anteriores do Windows) na mesma partição da VBR, carrega seus primeiros blocos e transfere o controle para esse código. O bootmgr carrega o restante de si mesmo e lê seu BCD. É a entrada do BCD que indica qual disco e partição a partir do qual carregar o sistema operacional.

Observe que o código VBR precisa ter pouco conhecimento do sistema de arquivos em sua própria partição. No Windows, ele só precisa localizar arquivos pelo nome no diretório raiz e lê-los. O código de ntldr ou bootmgr deve ser capaz de fazer o mesmo para o volume de inicialização, mas precisa entender os subdiretórios.

    
por 06.10.2014 / 00:49