Моя точка зрения.
У вас система это один раздел. Это хорошо.
Ужать раздел без багов, у вас не получится. Я пробовал.
Основная инструкция такова:
1) Сохранить содержимое раздела linux tar архивтором, с сохранением прав доступа к папкам и файлам. (Это просто, сделать резервную копию раздела через лайф си-ди, где стоит программа резервного копирования данных)
2) Удалить все разделы с HDD
3) создать 4 раздела: 1- фат 32 100-200 мегабайт под груб (сделай его пока скрытым). 2 - раздел NTFS Под винду ОСНОВНОЙ и активный. 3-Раздел
EXT3 под линукс. 4-Подкачка.
4) установить винду Она должна встать вся на один раздел, без создания своего ненужного никому 100 мегабайтного апендикса.
5) открыть основной фат раздел, сделать его основным, и установить туда груб возьмёшь от сюда
http://greenflash.su/ там есть удобный инсталятор brub_pc.
6) распаковываешь обратно, свой линукс.
7) Из под лайф cd Редактируешь для запуска menu.list в первом разделе. Примеры там есть. Проверяешь, запускается ли Windows из под груб.

Потом, идёшь в /etc/fstab в линукс свою, и меняешь там имена и номера разделов. Так как они у тебя стали другими. Иначе система не найдёт "свапа"
9) потом ищешь параметры загрузки своей линкс, и прописываешь их в загрузку menu.list
10) проверяешь.