WinXP should have been detected and added to the grub2 menu. There is a script in /etc/grub.d (30_os-prober) whose job it is to detect installed OSs and add them to the menu. Since that didn't happen, you have to add the menu entry manually.
To add an entry for xp to the grub2 menu, edit file /etc/grub.d/40_custom to add the entry. Here's how:
Quote:
This assumes that your Windows partition is sda3.
# (2) Windows XP
menuentry "Windows XP" {
set root=(hd0,3)
chainloader (hd0,3)+1
}
If the windows bootloader is on an entirely different harddrive than grub, it may be neccessary to trick windows into believing that it is in fact the first harddrive. This was possible in the old grub with map and is now done with drivemap. Assume grub is on hd0 and windows on hd2, you need to add the following after set root
drivemap -s hd0 hd2
|
which I found in the ArchWIKI.
I haven't found clear-cut instructions in the grub2 manual on how to remove a menu entry. After a few minutes of searching via
www.google.com/linux, I found a method to do it.
Disable /etc/grub.d/30_os-prober my making it non-executable: sudo chmod -x /etc/grub.d/30_os-prober. If you run grub_mkconfig at this point, you will have NO MENU ENTRIES. So, it's necessary to add the menu entries you do want to see to the /etc/grub.d/40_custom file BEFORE you run grub_mkconfig. Just copy the menu entries you want from /boot/grub/grub.cfg and paste them into /etc/grub.d/40_custom in the order you want to see them when you boot your machine.