Eu tinha um servidor rodando Windows 2003 que residia em um array RAID5 formado pelo Promise FastTrak SX4100, que eu achava que era baseado em hardware por causa de seu processador dedicado e memória buffer e sua capacidade de inicializar o DOS e o Windows. Acontece, no entanto, que o controlador é apenas hardware assistido , com lógica de nível mais alto executada pelo firmware x86 em execução no processador host. Agora que a placa-mãe antiga (ou processador?) Morreu e tentei migrar para um hardware mais moderno orientado por UEFI, o controlador RAID não pode inicializar mesmo no modo herdado (BIOS) - ele trava ao verificar discos, i. e. seu firmware recebe o controle do UEFI / BIOS e imprime mensagens de boas-vindas na tela, mas não faz progresso na identificação de unidades SATA conectadas.
Portanto, eu pensei que poderia ter melhor sorte executando o Windows dentro de uma máquina virtual com placa PCI transmitida para ele, tanto mais que é improvável que o NT 5.2 seja compatível com chipsets modernos, enquanto o Qemu fornece um ambiente emulado totalmente confortável no BIOS clássico modo. O problema, no entanto, é que
SeaBIOS não lista o controlador RAID como um dispositivo inicializável , apesar de poder se comunicar com ele com sucesso.
Isto é:
- O firmware do controlador faz receber o controle e é capaz de inicializar a matriz RAID antes do menu de inicialização ser exibido pelo SeaBIOS, entretanto esse menu não tem nenhuma menção ao disco da matriz .
- O utilitário de configuração da matriz que pode ser chamado durante o processo POST mostra claramente que a matriz está íntegra.
- Quando o Windows Installer é executado e carregado com drivers RAID, ele também exibe claramente o conteúdo do disco, comprovando sua disponibilidade.
Em outras palavras, o array parece totalmente operacional dentro do ambiente de VM, mas por algum tempo não reconhecido pelo SeaBIOS como um dispositivo inicializável , embora o último suporte dispositivos para a opção Boot ROM, como é evidente com a ROM de inicialização de rede do iPXE embutida no próprio SeaBIOS.
Eu também tive uma idéia de que o GRUB pode ser de alguma ajuda aqui, i. e. inicializando a partir do SeaBIOS no GRUB (em um pequeno disco separado) e, em seguida, carregando em cadeia para o Windows. No entanto, não fui muito bem-sucedido em configurá-lo, pois os ambientes Linux não vêem o array devido à falta de drivers e, portanto, não podem ajudar na criação de menus, mas o próprio GRUB não é muito amigável nem detalhado - não consegui entender se realmente vê a matriz como uma unidade de disco ou precisa que alguns drivers sejam carregados antecipadamente ou quaisquer outros pré-requisitos. Os kits de resgate, como o RescaTux ou o PartedMagic, também não são úteis, pois estão focados em reparar as instalações existentes do GRUB - não configurando novas.
Para referência, eu experimentei o Xen 4.7.2 usando o upstream do Qemu 2.6.2 com o SeaBIOS 1.9.1, além do openSUSE 42.2 com o Linux 4.4.62. Fóruns e listas de discussão indicam que a inicialização a partir do PCI RAID já era possível em versões mais antigas, por mais de uma década, então eu suponho que é minha configuração particular a ser culpada. Mas não consigo entender, o SeaBIOS é realmente capaz de inicializar a partir do meu controlador RAID?
O objetivo final é recuperar o servidor por qualquer meio disponível, incluindo a aquisição de outro hardware antigo compatível. Mas fiquei curioso com essa tecnologia específica, já que as máquinas virtuais pareciam um método mais versátil e futuro de prolongar a vida dos sistemas legados.