Então, consegui fazer meu Intel Core2 Quad de 17 anos rodar com Windows 98, XP, 10 e Debian 12.
Primeiro instalei o Windows 98, depois o Windows XP. Isso levou a um menu de inicialização do XP que me ofereceu XP ou 98. Então instalei o Windows 10, que levou a um menu de inicialização que me ofereceu Windows 10 ou "outra versão do Windows". Se eu selecionar "outra versão", obtenho o carregador de inicialização do XP.
Então eu instalei o Debian na quarta e última partição primária (sem UEFI) que instalou o Grub2 e me oferece as entradas Debian e "Windows 10 (em /dev/sda1)". Selecionar "Windows 10" no Grub2 me dá o carregador de boot Win10 etc. sda1, no entanto, é Win98, então o Win10 deve ter se instalado lá. Mas onde o Grub2 se instalou, então?
O que eu realmente queria conseguir é ter todas as quatro entradas no Grub2. O que posso fazer para conseguir isso? O os-prober só encontra Win10.
Posso ver e montar todas as partições do Windows sem problemas.
Inicialmente, o sistema tinha um código de inicialização MBR clássico do Windows 9x e um código de inicialização FAT32 no estilo DOS no Partition Boot Record (PBR) da partição do Windows 98 (
sda1
).Após adicionar o XP, ele deve ter substituído o MBR do Windows 9x por um código de inicialização MBR estilo Windows 2000/XP/2003, pois o gerenciador de inicialização do XP (
NTLDR
) pode fazer o trabalho do MBR do Windows 9x quando esse SO é selecionado no menu de inicialização do XP. A partição primária do XP (sda2
eu acho) também teria um PBR do tipo apropriado instalado nela (um tipo FAT32 NT5.0 ou um tipo NTFS).Da mesma forma, após adicionar o Windows 10 (ao
sda3
?), o código MBR foi novamente substituído por um código de inicialização MBR no estilo do Windows 7+, que invoca o gerenciador de inicialização do Windows 10 (bootmgr
).Mas o Windows Vista e versões mais recentes vão querer colocar seu gerenciador de boot em uma partição diferente da partição principal do sistema. Acho que você encontrará um arquivo chamado
bootmgr
no diretório raiz desda1
; no Windows, ele provavelmente terá atributos hidden/system/read-only, então normalmente será invisível. Por causa disso, o Windows 10 também pode ter sobrescrito o PBR desda1
com um registro de boot de partição FAT32 estilo "NT6.0".E, finalmente, a instalação do Debian 12 substituiu o código MBR mais uma vez pelo GRUB. Partes do GRUB também estarão contidas no intervalo entre o MBR e o início da primeira partição, que normalmente é apenas espaço não utilizado para satisfazer os requisitos de alinhamento de partição.
Os testes do Windows
os-prober
parecem exigir que as partições sejam montadas: se suas partições do Windows não foram montadas quando você executouos-prober
, esse pode ser o motivo pelo qual elas foram ignoradas.A versão BIOS do GRUB inicia os sistemas operacionais Microsoft carregando em cadeia seus PBR. Então não deve haver problema em iniciar o XP a partir de
sda2
e o Windows 10 a partir desda1
. Você pode querer adicionar algo como isto a/etc/grub.d/40_custom
e executarsudo update-grub
se executaros-prober
com as partições do Windows montadas não funcionar:Infelizmente, como o PBR do Windows 9x não está mais no primeiro bloco da
sda1
partição, ele não pode mais ser inicializado dessa forma.Mas acho que me lembro de como o NTLDR inicializa versões mais antigas do Windows: ele armazena uma cópia do PBR do outro sistema operacional no disco em que o próprio NTLDR está localizado, usando um nome como
bootsect.dos
oubootsect.w98
. Você deve ver o nome do arquivo se ler oBOOT.INI
arquivo do Windows XP emsda2
.Sabendo disso, você pode querer copiar o
bootsect.*
arquivo do diretório raiz desda2
parasda1
, apenas para protegê-lo caso você decida se livrar do Windows XP (e para minimizar as interdependências entre as diferentes partições do SO). Então você pode adicionar uma entrada de menu GRUB como esta:Isso deve carregar a cópia preservada do PBR do Windows 9x do arquivo copiado, permitindo que o Windows 98 inicialize diretamente do GRUB.
Infelizmente, não é possível separar completamente as partições do Windows 98 e do Windows 10 sem fazer uma grande cirurgia de transplante no bootloader do Windows 10, o que está fora do assunto aqui no Unix&Linux StackExchange. (E como o Windows 10 alega ter recursos de "autocorreção", ele pode simplesmente adicioná-los de volta por
sda1
conta própria de qualquer maneira.)