The customary GRUB entry for an XP boot looks like this:
Your chainloader (hd0,0)+1 should
work, although the "noverify" part may be why GRUB is complaining.
Try a temporary edit when GRUB displays the chainloader message: Press the "e" key to open the editor, and replace the "chainloader" line with the two lines shown above (edit instructions a shown on the GRUB edit screen), and press "b" to boot from the temporary new lines. If they work, replace the single chainloader
line in your GRUB configuration file with those two lines.
Another alternative is to use the XP boot loader, and set C:\boot.ini
to offer Linux as an option. To do that:
1) Copy the current MBR to a file on the XP C:
drive. If you've mounted the XP drive as, say, /mnt/WinXP/c
, something like
sudo dd if=/dev/hda of=/mnt/WinXP/c/linux.bin b=512
should do the trick.
2) Boot XP (however you can do that) and edit C:/boot.ini
to look like this:
$ cat /mnt/WinXP/c/boot.ini
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows XP" /noexecute=optin /fastdetect
(The timeout, default, and labels in quotes are all, of course, whatever you want to use. What you see are my choices, and suggestions only.)
3) Boot from your XP installation CD, go into rescue mode, and use the fixmbr
to replace the GRUB MBR with XP's one.
4) Reboot, and -- if all goes well -- XP should boot and (if you used my values) after 5 seconds the GRUB boot screen should be displayed.
Note: I don't know if this will "fix" your problem. (Which sounds quite strange
-- how you shut down Linux should have no effect, whatsoever, on the MBR. It might
have some effect your next Linux boot, but XP should be unaffected.)