clcampos, depois do seu alerta, resolvi fazer os testes aqui.
Nesse momento, estou usando o Ubuntu e o boot foi feito pelo NTLDR do windows, que executou o boot do grub na minha partição que, por sua vez, executou o boot do linux.
Claro, essas operações sempre envolvem risco de perda de dados, afinal, estamos mexendo diretamente nas tabelas de partição.
É muito importante ter um live cd do Linux ou um disco de boot para recuperar eventuais falhas.
Os passos que segui foram os seguintes:
1) instalar o grub do linux na partição em vez de na MBR.
Como a minha partição do linux é a /dev/sda2, executei:
sudo grub-install /dev/sda2
2) recuperar o boot do windows através do cd de instalação.
Inicializei o cd de instalação do windows (no meu caso, Windows 2000) e escolhi as opções até chegar no console de recuperação. No console, digitei
fixmbr c:
3) utilizar o NTLDR do windows como gerenciador de boot
Entrei no windows (agora diretamente, pois o grub foi removido da MBR), baixei o BootPart e usei para adicionar no NTLDR o boot para o linux.
==> Como usar o BootPart
os comandos que eu usei estão listados abaixo:
bootpart Lista todas as partições do disco, seguidas dos sistemas de arquivo, cada uma identificada por um número.
Ex.:
0 : C:* type=7 (HPFS/NTFS), size = 1741824 KB
1 : D: type=b (Win95 Fat32), size = 1407136 KB
2 : E:* type=83 (Linux native), size = 16600 KB
3 : E: type=5 (Extended), size = 3136392 KB
4 : E: type=83 (Linux native), size = 3070336 KB
bootpart list Lista as entradas do BOOT.INI, utilizado pelo NTLDR para executar o boot.
Ex.:
0 : C:\bootsect.lnx="Fedora Core 6"
1 : multi(0)disk(0)rdisk(0)partition(2)\WINNT="Windows XP"
bootpart <nro_part> <arquivo_boot> <nome_exibicao> Adiciona uma entrada no boot.ini.
<nro_part> é o número da partição, que é obtido no comando bootpart
<arquivo_boot> é o arquivo que ele vai criar com as informações de boot.
<nome_exibicao> é o nome que vai aparecer na tela de boot para essa entrada do boot.ini. Lembrando que, se o nome tiver espaços, deve ser escrito entre aspas.
Ex.:
bootpart 2 c:/bootsect.lnx "Ubuntu Linux"
Aqui funcionou perfeito. Só que a minha partição do windows é primária. Mas se você conseguir restaurar o seu boot do windows através do fixmbr, provavelmente vai funcionar essa solução.
Mas não se esqueça! Essa não é uma operação simples e sempre há risco de perda de dados!