Попробуйте ставить каждую Windows строго в свой раздел.
При установке Windows с настройками по-умолчанию создаётся отдельный загрузочный раздел с WinRE. Возможно, что конфликт из-за этого раздела. Можно также попытаться увеличить размер этого раздела (первый на диске, около 100MB). Сейчас не помню, сколько занимает
Windows 7, но, кажется, больше чем Vista. Если Вы будете устанавливать без сохранения данных, то попробуйте увеличить размер этого раздела до 500 MБ. Столько не используют ни Windows 7, ни Vista, но это сразу на будущее (Windows 8.1).
Если в установщике не согласиться с разметкой по умолчанию, то Вы можете вообще не создавать этот служебный раздел. Создайте собственное разбиение и укажите – ставить Windows в уже созданный раздел. В этом случае вся Window будет установлена в единственный
раздел, который Вы укажите. Среда WinRE войдёт туда тоже. Это несколько снижает устойчивость к сбоям (в случае повреждения системного раздела повреждается и среда восстановления), но на конфигурациях с мультизагрузкой большого значения не имеет. Зато Вы не
будете заморачиваться с этими служебными разделами. Для комфортной работы желательно отвести под Windows 150-200 Гигабайт, однако, если вы стеснены в размерах, отведите хотя бы 40-50 GB под раздел с каждой системой. Можно запихнуть и в 20, но работать будет
слишком сложно.
Виндовский установщик по умолчанию понимает только MBR разметку. Если у Вас большой жёсткий диск, то это тоже создаёт дополнительные сложности.
Ставить системы надо в порядке времени выпуска. Тогда загрузчик следующей системы автоматически добавит запись предыдущей. Если сделать наоборот, то загрузочная запись будет затёрта, так как Vista ничего "не знает" о существовании Windows 7.