Hi all,
I was also in big trouble with my MacBook Pro after I expanded my BootCamp partition (by first shrinking the MacintoshHD partition using OS X Disk Utility, then expanding the BootCamp partition using Windows 7 Disk Management in Computer Management - right-click on BOOTCAMP C: and select Extend Volume...) and then applied some system updates for OS X (Yosemite 10.10.3).
Then the BootCamp partition appeared in Disk Utility as "disk0s4" and was not accessible anymore (no BOOTCAMP icon on the Desktop, and no BOOTCAMP item in the Startup Disk selector). When I tried to boot Windows using the Alt-Option key at startup, it failed with a text-mode Disk Read Error message.
Then I installed some tools to try to recover and fix the damaged partition table.
The first tool was "gdisk" aka GPT Fdisk that I downloaded from http://sourceforge.net/projects/gptfdisk/ and installed in OS X. This tool showed that some unallocated space existed between the end of the RecoveryHD partition and the start of the BOOTCAMP partition. This space was added to the BootCamp partition in Windows (in the MBR), but NOT in the GPT (used by OS X). It seems that at some time, the MBR has been re-synced with the GPT and consequently Windows failed to boot.
Then I needed a tool to fix the start sector of BootCamp in both the MBR and the GPT.
I found a tool named GPartEd Live (for GNOME Partition Editor) here: http://gparted.org/livecd.php and I transferred it from the CD-ROM ISO image to an USB key using another tool named UNetbootin (for OS X) downloaded from http://unetbootin.sourceforge.net/ .
To be able to boot that USB key I needed to install rEFInd (a fork from rEFIt, compatible with Yosemite). To install it I downloaded the iso image from http://www.rodsbooks.com/refind/getting.html, mounted it (click on the downloaded image, then close the Finder window), opened a terminal session, changed to the directory where the iso is mounted (in /Volumes/rEFInd-0.8.7) and executed the command $ sudo ./install.sh .
So, eventually I managed to boot the USB key containing the GPartEd Live tool and I started using that tool.
In the tool there is an option to move/resize a partition. I decided not to use that option, because if I extended the ntfs partition to the left, it would have moved all data from the old area to the begin of the new area destroying valuable data, and everything would have been lost forever.
Instead, I deleted the ntfs partition and created a new unformatted partition taking the whole unallocated space. I applied the change and TADA, the new partition was magically recognised as NTFS ! I did a check using GPartEd on that new partition and everything looked fine.
So I tried to boot directly on BootCamp, it started loading Windows, but got stuck on the color Windows 7 logo. I tried again in Safe Mode, and it got stuck after displaying Loaded CLASSPNP.SYS. I looked in the forums and it appears that the problem is an incompatibility between rEFInd and Windows 7 for x64.
Finally I removed rEFInd, by doing $ sudo rm -r /EFI/refind, and Windows was able to boot again.
I used gdisk again to check and fix the partition tables in GPT and MBR, and I changed the GPT partition type from 8300 (Linux) to 0700 (Microsoft), using the command 't' from the main menu (maybe it could have been done in GPartEd...).
Once in Windows I did immediately a chkdsk on the repaired HD and everything was fine.
Hope this may be of some help...