Не зная точно, что Вы сделали, когда Вы установили Windows и затем переустановили Linux, я не могу вообразить, почему тип раздела, возможно, изменился (если установщик Linux не закончил тем, что использовал раздел в качестве подкачки через то, чтобы быть misinstructed), но я подозреваю, что Вы могли бы вспыхивать резервные копии.
Одна вещь, которую можно попытаться делать, просто монтирует раздел как ext3 где-нибудь:
mount -o ro -t ext3 /dev/sda4 /mnt
Если Вы действительно удачливы, и blkid глуп (или независимо от того, что повреждение присутствует, не настолько огромно), это могло бы смонтироваться, и можно скопировать данные прочь. Если это жалуется на поддельный суперблок, то fsck с набором-b к одному из 8 193, 16384 или 32768 мог бы восстановить его. fsck, вероятно, стоит сделать так или иначе перед монтированием, хотя в патологических случаях это может сделать больше путаницы, чем, иначе произошел бы.
Я смог успешно загрузить свой vhd в Сервере Hyper-V с помощью последовательности команд, найденных по http://www.ravichaganti.com/blog/?p=317
Когда Вы загружаетесь (физически) от VHD, загрузчик и несколько других файлов находятся не в VHD, а на объеме хостинга, таким образом VHD является неполным, когда он стоит один (фактически, в VM.)
Можно, вероятно, согласовать его, загрузив VM от установочного CD Windows 7 и говоря ему восстановить загрузочный том.