Мне кажется, что Windows XP не понимает, какие диски находятся в системе. Вы случайно установили ОС с измененным порядком дисков в BIOS? Если так, то это может стать причиной путаницы в вашей ОС. Когда второй диск находится в системе, автоматическое назначение букв дисков не работает.
Сначала проверьте boot.ini для Windows XP. Убедитесь, что он правильно настроен для загрузки со второго диска. Это может решить вашу проблему, но я не уверен. Если он загружается, но что-то не работает, вы можете изменить буквы диска в XP (в диспетчере дисков).
Если это не работает для вас, я бы порекомендовал установить с нуля. Во-первых, я бы разделил оба диска. Сделайте раздел C: что-то, что Windows не может использовать, и раздел D: с NTFS. Затем установите XP на D: (который может показаться C:). После того, как это установлено, переписать раздел как необходимый в Управлении дисками. Затем установите 7 на C:. Вам может потребоваться временно изменить тип раздела D: чтобы он стал скрытым от установщика 7, иначе он может попытаться обновить этот диск. Для изменения типа раздела я обычно использую fdisk в Linux, который может редактировать тип, не внося никаких других изменений. После установки 7 и XP настройте boot.ini, как рекомендует Тед Эллиот.
Я не проверял эти инструкции, и многое изменилось с тех пор, как я в последний раз пытался выполнить двойную загрузку двух разных установок Windows, но общий принцип заключается в том, чтобы избежать изменения расположения разделов и определения буквы диска после первой установки, чтобы он продолжал работать после того, как вы установить второй диск.