Ao contrário de outras "respostas" isso é possível, e eu tenho que funcionar corretamente. Aqui está como eu fiz isso. Eu usei o seguinte link para inspiração:
- A configuração da partição foi a mesma da pergunta.
- O disco do Windows XP que eu tinha era uma versão do SP2, eu não tentei nenhum outro.
- Você precisará de um CD de inicialização do Linux com o grub. Eu usei o CD padrão de instalação do Ubuntu Desktop.
-
Para que o CD de instalação do WinXP seja inicializado:
Inicie o seu sistema operacional Linux, ou a partir da inicialização da mídia de inicialização do Linux. PRIMEIRO BACKUP SUA INFORMAÇÃO DE PARTIÇÃO EXATAMENTE. WINDOWS INSTALL ERASED MINE. Após o backup de sua tabela de partição, use
fdisk
ou qualquer outro gerenciador de partição para definir os tipos de partição do Linxux como '0' ou 'none'. Isso ocultará as partições do CD de inicialização do Windows.Escreva a nova tabela de partições e reinicie.
-
Se você tiver unidades extras, agora é um bom momento para desconectá-las para evitar confusões durante a instalação do Windows. Inicialize o CD do Windows Install como faria normalmente. Instale o Windows na partição NTFS reconhecida. Certifique-se de não reparticionar a unidade novamente ou instalar no "espaço não particionado". Este é o seu Linux FS.
-
Depois que a instalação do Windows for concluída e tentar reinicializar, é aí que você pode encontrar problemas. Na minha tentativa, o Windows reescreveu minha tabela de partições e removeu todas as entradas de partição do Linux (mas não alterou a geometria), portanto, foi capaz de reinicializar o Windows e concluir a configuração. De qualquer forma, em algum momento você precisará corrigir seu sistema para fazer com que as partições do Linux inicializem novamente.
Quando estiver pronto para voltar ao Linux, reative todas as suas unidades (se desativado) e inicialize com o CD de mídia do Linux que você possui.
-
No terminal Linux, corrija a tabela de partições no disco, restaurando-a / recriando-a exatamente a partir do backup.
-
Reinstale o grub de volta ao MBR do seu disco rígido. Isso pode ser complicado, mas é assim que eu fiz no meu sistema:
mount /dev/sda2 /mnt/root mount -o bind /dev /mnt/root/dev mount -o bind /proc /mnt/root/proc chroot /mnt/root /bin/bash mount /dev/sda1 /boot grub-install /dev/sda
-
Atualize seu menu de inicialização do grub para criar uma opção para sua partição do Windows. Anexe o seguinte a
/boot/grub/menu.lst
:title Windows XP rootnoverify (hd0,2) chainloader +1 makeactive
-
Finalmente, você precisa corrigir o arquivo
boot.ini
no volume do Windows. Você pode montar o volume da seguinte forma:mkdir /winxp mount /dev/sda3 /winxp -t ntfs vi /winxp/boot.ini
Aqui está o meu arquivo
boot.ini
de trabalho para referência:[boot loader] timeout=30 default=multi(0)disk(0)rdisk(0)partition(3)\WINDOWS [operating systems] multi(0)disk(0)rdisk(0)partition(3)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect
Você notará que precisa alterar a partição (N) para corresponder ao layout da sua unidade.
-
Se você seguiu todas essas etapas, agora deve poder reinicializar o sistema, acessar o menu do Grub e reinicializar no Linux ou no Windows.