It is easy, first you need to make a partition for windows xp, using partition magic, a Hiren’s boot tool or with ‘Yast2 disk’.
That is the first point, now we move to the second one and boot with Windows xp cd and install it into the new partition, once you have done it, you reinstall the grub of linux doing the next comandos:
with the DVD installation cd of opensuse or with a live-cd you install the grub, and are the same steps.
with the DVD install only you do everything as if you were going to install it but you will not do so, at the first screen of installation browse with ctrl+alt+F2 or ctrl+alt+F3 until you find the console ‘#’ as root.
Now with the live-cd start testing the OS, once you are in open a terminal, once you are there type: ‘sudo passwd’ then ‘su’ and come root.
Now we are in the line comando as root using what ever method you like the most, once you are in as root you need to find the partition where /boot was installed, the way to do it is mounting partition by partition and listing the content, once you find the partition with /boot in the content you have it, and come the easy steps.
For the example we are going to suppose that your /boot is in /dev/sda4 or /dev/hda4, now you will do:
Type:
host@name:~ # grub
root (hd0,3)
setup (hd0)
Type ‘quit’ to exit from grub setup and if you did not get errors messages everything has gone well, and now we reboot the system and we should see the grub in function.
The last step is easy you must add the chain loader for the new OS in ‘/boot/grub/menu.lst’ and that is all.