У меня проблема несколько отличается, но что-то близкое думаю.
После обновления до 10.04 перестал загружаться Win XP - выходил черный экран с курсом и так и висел.
Воспользовался советами из интернета, обновил grub, всё заработало.
Потом решил скачать обновления для 10.04, когда их ставил появилось окно с настройкой grub, в котором выбрал пропустить без настройки, т.к. не знал что там настраивать.
После этого или просто так совпало, но при выборе Win XP из списка ОС во время загрузки появляется черный экран на 1-2 секунды и снова идет возврат на выбор операционных систем.
Grub пробовал обновлять, но что-то на этот раз это не помогло.
Файлы Win XP вроде целые. Через Ubuntu диск спокойно открывается.
Диск /dev/sda: 320.1 ГБ, 320072933376 байт
255 heads, 63 sectors/track, 38913 cylinders
Units = цилиндры of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xe8c0e8c0
Устр-во Загр Начало Конец Блоки Id Система
/dev/sda1 * 1 20756 166722538+ 7 HPFS/NTFS
/dev/sda2 20757 38913 145846102+ 5 Расширенный
/dev/sda5 20757 38170 139877923+ 83 Linux
/dev/sda6 38171 38913 5968116 82 Linux своп / Solaris
Диск /dev/sdb: 500.1 ГБ, 500107862016 байт
255 heads, 63 sectors/track, 60801 cylinders
Units = цилиндры of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xf598509d
Устр-во Загр Начало Конец Блоки Id Система
/dev/sdb1 * 2 60801 488376000 f W95 расшир. (LBA)
/dev/sdb5 886 60801 481275238+ 7 HPFS/NTFS